The two ideas the input revamp leads with, built in Ludic over the single-key poll every target already provides: - Action maps: gameplay reads named actions, not physical keys, so keys are rebindable and a scheme is data. Input.bind(action, key), Input.down/pressed(action), Input.rebind(action, from, to). - Deterministic record/replay: Input.poll() is the one per-frame input read; Input.record() captures the key each frame and Input.replay() feeds the tape back, so a run reproduces exactly — the seed of lockstep netcode. "Read input" and "read a recorded snapshot" are the same call. runtime/native/input.ludic (spliced when the new Input.* methods are used; pulls in core.ludic for rt_poll). emit_ns_call routes the methods to the @fn_input_* runtime; parse.ludic gates the splice. Seven docs/language pages; worked example + regression examples/library/input_actions.ludic (1 0 1 1 0 1 0). Full suite 75 passed, self-host fixpoint intact, no golden drift. The device layer (multi-key held, gamepads, touch, analog) needs a platform key-state backend and is tracked separately. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
72811 lines
2.6 MiB
72811 lines
2.6 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_g_uses_regex = internal global i32 0
|
|
@g_g_uses_query = internal global i32 0
|
|
@g_g_uses_reflect = internal global i32 0
|
|
@g_g_uses_light = internal global i32 0
|
|
@g_g_uses_value = internal global i32 0
|
|
@g_g_uses_reflect_io = internal global i32 0
|
|
@g_g_uses_esys = internal global i32 0
|
|
@g_g_uses_input = internal global i32 0
|
|
@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_uuidrt = internal global i32 0
|
|
@g_g_uses_noisert = internal global i32 0
|
|
@g_g_uses_logrt = internal global i32 0
|
|
@g_g_uses_osrt = internal global i32 0
|
|
@g_g_uses_unicodert = internal global i32 0
|
|
@g_g_uses_fsrt = internal global i32 0
|
|
@g_g_uses_datert = internal global i32 0
|
|
@g_g_uses_expect = internal global i32 0
|
|
@g_g_uses_panic = internal global i32 0
|
|
@g_g_uses_result = internal global i32 0
|
|
@g_g_tests = internal global ptr null
|
|
@g_g_src_name = internal global ptr null
|
|
@g_g_uses_longstr = internal global i32 0
|
|
@g_g_coverage = internal global i32 0
|
|
@g_g_cov_active = internal global i32 1
|
|
@g_g_cov_lines = internal global ptr null
|
|
@g_g_prog_user_end = 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 [4 x i8] c"try\00"
|
|
@.str26 = private unnamed_addr constant [5 x i8] c"else\00"
|
|
@.str27 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00"
|
|
@.str28 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str29 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str30 = private unnamed_addr constant [20 x i8] c"expected expression\00"
|
|
@.str31 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str32 = private unnamed_addr constant [6 x i8] c"Regex\00"
|
|
@.str33 = private unnamed_addr constant [6 x i8] c"Query\00"
|
|
@.str34 = private unnamed_addr constant [8 x i8] c"Reflect\00"
|
|
@.str35 = private unnamed_addr constant [6 x i8] c"Light\00"
|
|
@.str36 = private unnamed_addr constant [6 x i8] c"Value\00"
|
|
@.str37 = private unnamed_addr constant [5 x i8] c"Json\00"
|
|
@.str38 = private unnamed_addr constant [8 x i8] c"Reflect\00"
|
|
@.str39 = private unnamed_addr constant [10 x i8] c"serialize\00"
|
|
@.str40 = private unnamed_addr constant [6 x i8] c"apply\00"
|
|
@.str41 = private unnamed_addr constant [6 x i8] c"Input\00"
|
|
@.str42 = private unnamed_addr constant [5 x i8] c"bind\00"
|
|
@.str43 = private unnamed_addr constant [7 x i8] c"rebind\00"
|
|
@.str44 = private unnamed_addr constant [5 x i8] c"poll\00"
|
|
@.str45 = private unnamed_addr constant [5 x i8] c"down\00"
|
|
@.str46 = private unnamed_addr constant [8 x i8] c"pressed\00"
|
|
@.str47 = private unnamed_addr constant [7 x i8] c"record\00"
|
|
@.str48 = private unnamed_addr constant [7 x i8] c"replay\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 [2 x i8] c"]\00"
|
|
@.str53 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str54 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str55 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str56 = private unnamed_addr constant [2 x i8] c"~\00"
|
|
@.str57 = private unnamed_addr constant [2 x i8] c"~\00"
|
|
@.str58 = private unnamed_addr constant [4 x i8] c"not\00"
|
|
@.str59 = private unnamed_addr constant [4 x i8] c"not\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 [3 x i8] c"<<\00"
|
|
@.str64 = private unnamed_addr constant [3 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 [2 x i8] c"-\00"
|
|
@.str68 = private unnamed_addr constant [2 x i8] c"|\00"
|
|
@.str69 = private unnamed_addr constant [2 x i8] c"^\00"
|
|
@.str70 = private unnamed_addr constant [2 x i8] c"<\00"
|
|
@.str71 = private unnamed_addr constant [3 x i8] c"<=\00"
|
|
@.str72 = private unnamed_addr constant [2 x i8] c">\00"
|
|
@.str73 = private unnamed_addr constant [3 x i8] c">=\00"
|
|
@.str74 = private unnamed_addr constant [3 x i8] c"==\00"
|
|
@.str75 = private unnamed_addr constant [3 x i8] c"!=\00"
|
|
@.str76 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str77 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str78 = private unnamed_addr constant [3 x i8] c"or\00"
|
|
@.str79 = private unnamed_addr constant [3 x i8] c"or\00"
|
|
@.str80 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str81 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str82 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str83 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str84 = private unnamed_addr constant [2 x i8] c"}\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 [43 x i8] c"expected newline or ';' between statements\00"
|
|
@.str89 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str90 = private unnamed_addr constant [4 x i8] c"let\00"
|
|
@.str91 = private unnamed_addr constant [4 x i8] c"var\00"
|
|
@.str92 = private unnamed_addr constant [4 x i8] c"var\00"
|
|
@.str93 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str94 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str95 = private unnamed_addr constant [7 x i8] c"return\00"
|
|
@.str96 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str97 = private unnamed_addr constant [3 x i8] c"if\00"
|
|
@.str98 = private unnamed_addr constant [5 x i8] c"else\00"
|
|
@.str99 = private unnamed_addr constant [3 x i8] c"if\00"
|
|
@.str100 = private unnamed_addr constant [6 x i8] c"while\00"
|
|
@.str101 = private unnamed_addr constant [4 x i8] c"for\00"
|
|
@.str102 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str103 = private unnamed_addr constant [3 x i8] c"..\00"
|
|
@.str104 = private unnamed_addr constant [6 x i8] c"spawn\00"
|
|
@.str105 = private unnamed_addr constant [8 x i8] c"machine\00"
|
|
@.str106 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str107 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str108 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str109 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str110 = private unnamed_addr constant [5 x i8] c"emit\00"
|
|
@.str111 = private unnamed_addr constant [7 x i8] c"become\00"
|
|
@.str112 = private unnamed_addr constant [8 x i8] c"despawn\00"
|
|
@.str113 = private unnamed_addr constant [7 x i8] c"enable\00"
|
|
@.str114 = private unnamed_addr constant [8 x i8] c"disable\00"
|
|
@.str115 = private unnamed_addr constant [7 x i8] c"enable\00"
|
|
@.str116 = private unnamed_addr constant [6 x i8] c"layer\00"
|
|
@.str117 = private unnamed_addr constant [6 x i8] c"layer\00"
|
|
@.str118 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str119 = private unnamed_addr constant [7 x i8] c"attach\00"
|
|
@.str120 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str121 = private unnamed_addr constant [27 x i8] c"attach needs 'on <entity>'\00"
|
|
@.str122 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str123 = private unnamed_addr constant [7 x i8] c"detach\00"
|
|
@.str124 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str125 = private unnamed_addr constant [27 x i8] c"detach needs 'on <entity>'\00"
|
|
@.str126 = private unnamed_addr constant [6 x i8] c"break\00"
|
|
@.str127 = private unnamed_addr constant [9 x i8] c"continue\00"
|
|
@.str128 = private unnamed_addr constant [7 x i8] c"cancel\00"
|
|
@.str129 = private unnamed_addr constant [6 x i8] c"match\00"
|
|
@.str130 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str131 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str132 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str133 = private unnamed_addr constant [3 x i8] c"=>\00"
|
|
@.str134 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str135 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str136 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str137 = private unnamed_addr constant [3 x i8] c"+=\00"
|
|
@.str138 = private unnamed_addr constant [3 x i8] c"-=\00"
|
|
@.str139 = private unnamed_addr constant [3 x i8] c"*=\00"
|
|
@.str140 = private unnamed_addr constant [3 x i8] c"/=\00"
|
|
@.str141 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str142 = private unnamed_addr constant [2 x i8] c"=\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 [2 x i8] c":\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 [5 x i8] c"void\00"
|
|
@.str151 = private unnamed_addr constant [3 x i8] c"->\00"
|
|
@.str152 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str153 = private unnamed_addr constant [2 x i8] c"@\00"
|
|
@.str154 = private unnamed_addr constant [7 x i8] c"export\00"
|
|
@.str155 = private unnamed_addr constant [7 x i8] c"Public\00"
|
|
@.str156 = private unnamed_addr constant [3 x i8] c"On\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"Queries\00"
|
|
@.str160 = private unnamed_addr constant [8 x i8] c"OnSpawn\00"
|
|
@.str161 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str162 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str163 = private unnamed_addr constant [10 x i8] c"OnDespawn\00"
|
|
@.str164 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str165 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str166 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str167 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str168 = private unnamed_addr constant [9 x i8] c"OnAttach\00"
|
|
@.str169 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str170 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str171 = private unnamed_addr constant [9 x i8] c"OnDetach\00"
|
|
@.str172 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str173 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str174 = private unnamed_addr constant [9 x i8] c"OnEnable\00"
|
|
@.str175 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str176 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str177 = private unnamed_addr constant [10 x i8] c"OnDisable\00"
|
|
@.str178 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str179 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str180 = private unnamed_addr constant [8 x i8] c"OnStart\00"
|
|
@.str181 = private unnamed_addr constant [6 x i8] c"Start\00"
|
|
@.str182 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
|
|
@.str183 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
|
|
@.str184 = private unnamed_addr constant [5 x i8] c"Sync\00"
|
|
@.str185 = private unnamed_addr constant [6 x i8] c"Owned\00"
|
|
@.str186 = private unnamed_addr constant [7 x i8] c"Server\00"
|
|
@.str187 = private unnamed_addr constant [7 x i8] c"server\00"
|
|
@.str188 = private unnamed_addr constant [10 x i8] c"Predicted\00"
|
|
@.str189 = private unnamed_addr constant [10 x i8] c"predicted\00"
|
|
@.str190 = private unnamed_addr constant [9 x i8] c"ToServer\00"
|
|
@.str191 = private unnamed_addr constant [9 x i8] c"toserver\00"
|
|
@.str192 = private unnamed_addr constant [10 x i8] c"ToClients\00"
|
|
@.str193 = private unnamed_addr constant [10 x i8] c"toclients\00"
|
|
@.str194 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str195 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str196 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str197 = private unnamed_addr constant [7 x i8] c"import\00"
|
|
@.str198 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00"
|
|
@.str199 = private unnamed_addr constant [5 x i8] c"enum\00"
|
|
@.str200 = private unnamed_addr constant [6 x i8] c"event\00"
|
|
@.str201 = private unnamed_addr constant [9 x i8] c"property\00"
|
|
@.str202 = private unnamed_addr constant [6 x i8] c"model\00"
|
|
@.str203 = private unnamed_addr constant [6 x i8] c"scene\00"
|
|
@.str204 = private unnamed_addr constant [8 x i8] c"handler\00"
|
|
@.str205 = private unnamed_addr constant [7 x i8] c"server\00"
|
|
@.str206 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str207 = private unnamed_addr constant [7 x i8] c"_spawn\00"
|
|
@.str208 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str209 = private unnamed_addr constant [9 x i8] c"_despawn\00"
|
|
@.str210 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str211 = private unnamed_addr constant [8 x i8] c"_attach\00"
|
|
@.str212 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str213 = private unnamed_addr constant [8 x i8] c"_detach\00"
|
|
@.str214 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str215 = private unnamed_addr constant [8 x i8] c"_enable\00"
|
|
@.str216 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str217 = private unnamed_addr constant [9 x i8] c"_disable\00"
|
|
@.str218 = private unnamed_addr constant [6 x i8] c"Start\00"
|
|
@.str219 = private unnamed_addr constant [14 x i8] c"program_start\00"
|
|
@.str220 = private unnamed_addr constant [13 x i8] c"program_quit\00"
|
|
@.str221 = private unnamed_addr constant [3 x i8] c"ui\00"
|
|
@.str222 = private unnamed_addr constant [4 x i8] c"var\00"
|
|
@.str223 = private unnamed_addr constant [6 x i8] c"const\00"
|
|
@.str224 = private unnamed_addr constant [9 x i8] c"function\00"
|
|
@.str225 = private unnamed_addr constant [7 x i8] c"extern\00"
|
|
@.str226 = private unnamed_addr constant [6 x i8] c"entry\00"
|
|
@.str227 = private unnamed_addr constant [5 x i8] c"test\00"
|
|
@.str228 = private unnamed_addr constant [21 x i8] c"expected declaration\00"
|
|
@.str229 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00"
|
|
@.str230 = private unnamed_addr constant [20 x i8] c"cannot open import \00"
|
|
@.str231 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str232 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
|
|
@.str233 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str234 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00"
|
|
@.str235 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00"
|
|
@.str236 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str237 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00"
|
|
@.str238 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str239 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00"
|
|
@.str240 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str241 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00"
|
|
@.str242 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str243 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00"
|
|
@.str244 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str245 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
|
|
@.str246 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00"
|
|
@.str247 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str248 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
|
|
@.str249 = private unnamed_addr constant [7 x i8] c"Motion\00"
|
|
@.str250 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00"
|
|
@.str251 = private unnamed_addr constant [8 x i8] c"Light2D\00"
|
|
@.str252 = private unnamed_addr constant [9 x i8] c"Occluder\00"
|
|
@.str253 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00"
|
|
@.str254 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00"
|
|
@.str255 = private unnamed_addr constant [6 x i8] c"Ludic\00"
|
|
@.str256 = private unnamed_addr constant [7 x i8] c"import\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 [2 x i8] c"(\00"
|
|
@.str260 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str261 = private unnamed_addr constant [8 x i8] c"program\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 [2 x i8] c"@\00"
|
|
@.str267 = private unnamed_addr constant [9 x i8] c"Computed\00"
|
|
@.str268 = private unnamed_addr constant [5 x i8] c"Sync\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 [12 x i8] c"cancellable\00"
|
|
@.str274 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str275 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str276 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str277 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str278 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str279 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str280 = private unnamed_addr constant [7 x i8] c"Update\00"
|
|
@.str281 = private unnamed_addr constant [2 x i8] c"@\00"
|
|
@.str282 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str283 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str284 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str285 = private unnamed_addr constant [6 x i8] c"phase\00"
|
|
@.str286 = private unnamed_addr constant [2 x i8] c"[\00"
|
|
@.str287 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str288 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str289 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str290 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str291 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str292 = private unnamed_addr constant [6 x i8] c"where\00"
|
|
@.str293 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str294 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str295 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str296 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str297 = private unnamed_addr constant [6 x i8] c"query\00"
|
|
@.str298 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00"
|
|
@.str299 = private unnamed_addr constant [4 x i8] c"and\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 [6 x i8] c"these\00"
|
|
@.str305 = private unnamed_addr constant [2 x i8] c"[\00"
|
|
@.str306 = private unnamed_addr constant [2 x i8] c"]\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 [3 x i8] c"on\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 [2 x i8] c"{\00"
|
|
@.str315 = private unnamed_addr constant [2 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 [6 x i8] c"start\00"
|
|
@.str319 = private unnamed_addr constant [7 x i8] c"public\00"
|
|
@.str320 = private unnamed_addr constant [6 x i8] c"start\00"
|
|
@.str321 = private unnamed_addr constant [7 x i8] c"scene_\00"
|
|
@.str322 = private unnamed_addr constant [7 x i8] c"_enter\00"
|
|
@.str323 = private unnamed_addr constant [7 x i8] c"scene_\00"
|
|
@.str324 = private unnamed_addr constant [6 x i8] c"_exit\00"
|
|
@.str325 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str326 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str327 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str328 = private unnamed_addr constant [6 x i8] c"enter\00"
|
|
@.str329 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str330 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00"
|
|
@.str331 = private unnamed_addr constant [6 x i8] c"layer\00"
|
|
@.str332 = private unnamed_addr constant [7 x i8] c"public\00"
|
|
@.str333 = private unnamed_addr constant [7 x i8] c"layer_\00"
|
|
@.str334 = private unnamed_addr constant [6 x i8] c"_show\00"
|
|
@.str335 = private unnamed_addr constant [7 x i8] c"layer_\00"
|
|
@.str336 = private unnamed_addr constant [6 x i8] c"_hide\00"
|
|
@.str337 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str338 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str339 = private unnamed_addr constant [8 x i8] c"handler\00"
|
|
@.str340 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00"
|
|
@.str341 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str342 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00"
|
|
@.str343 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str344 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str345 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str346 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str347 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str348 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str349 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str350 = private unnamed_addr constant [2 x i8] c"@\00"
|
|
@.str351 = private unnamed_addr constant [5 x i8] c"Sync\00"
|
|
@.str352 = private unnamed_addr constant [2 x i8] c",\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 [2 x i8] c")\00"
|
|
@.str356 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str357 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str358 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str359 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str360 = private unnamed_addr constant [3 x i8] c"->\00"
|
|
@.str361 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str362 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str363 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str364 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str365 = private unnamed_addr constant [2 x i8] c"}\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 [2 x i8] c"}\00"
|
|
@.str369 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str370 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00"
|
|
@.str371 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str372 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str373 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str374 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str375 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str376 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str377 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str378 = private unnamed_addr constant [3 x i8] c"%t\00"
|
|
@.str379 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str380 = private unnamed_addr constant [11 x i8] c" = alloca \00"
|
|
@.str381 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str382 = private unnamed_addr constant [3 x i8] c"%t\00"
|
|
@.str383 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str384 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str385 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str386 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str387 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str388 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str389 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str390 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str391 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str392 = private unnamed_addr constant [5 x i8] c"byte\00"
|
|
@.str393 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str394 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str395 = private unnamed_addr constant [7 x i8] c"fixeds\00"
|
|
@.str396 = private unnamed_addr constant [9 x i8] c"pointers\00"
|
|
@.str397 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str398 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str399 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str400 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str401 = private unnamed_addr constant [6 x i8] c"%Cmp_\00"
|
|
@.str402 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str403 = private unnamed_addr constant [10 x i8] c"EndReason\00"
|
|
@.str404 = private unnamed_addr constant [10 x i8] c"Despawned\00"
|
|
@.str405 = private unnamed_addr constant [10 x i8] c"SceneExit\00"
|
|
@.str406 = private unnamed_addr constant [5 x i8] c"Quit\00"
|
|
@.str407 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str408 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str409 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str410 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str411 = private unnamed_addr constant [7 x i8] c"reason\00"
|
|
@.str412 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str413 = private unnamed_addr constant [6 x i8] c"@.str\00"
|
|
@.str414 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00"
|
|
@.str415 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
|
|
@.str416 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
|
|
@.str417 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str418 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str419 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str420 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str421 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str422 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str423 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str424 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str425 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00"
|
|
@.str426 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00"
|
|
@.str427 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00"
|
|
@.str428 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00"
|
|
@.str429 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00"
|
|
@.str430 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00"
|
|
@.str431 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00"
|
|
@.str432 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00"
|
|
@.str433 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00"
|
|
@.str434 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00"
|
|
@.str435 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00"
|
|
@.str436 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00"
|
|
@.str437 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00"
|
|
@.str438 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00"
|
|
@.str439 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00"
|
|
@.str440 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00"
|
|
@.str441 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00"
|
|
@.str442 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00"
|
|
@.str443 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00"
|
|
@.str444 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00"
|
|
@.str445 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00"
|
|
@.str446 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00"
|
|
@.str447 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00"
|
|
@.str448 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00"
|
|
@.str449 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00"
|
|
@.str450 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00"
|
|
@.str451 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00"
|
|
@.str452 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00"
|
|
@.str453 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00"
|
|
@.str454 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00"
|
|
@.str455 = 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"
|
|
@.str456 = 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"
|
|
@.str457 = 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"
|
|
@.str458 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00"
|
|
@.str459 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00"
|
|
@.str460 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00"
|
|
@.str461 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00"
|
|
@.str462 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
|
|
@.str463 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
|
|
@.str464 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00"
|
|
@.str465 = private unnamed_addr constant [11 x i8] c" = type { \00"
|
|
@.str466 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str467 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str468 = private unnamed_addr constant [4 x i8] c" }\0A\00"
|
|
@.str469 = private unnamed_addr constant [4 x i8] c"@g_\00"
|
|
@.str470 = private unnamed_addr constant [20 x i8] c" = internal global \00"
|
|
@.str471 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str472 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str473 = private unnamed_addr constant [9 x i8] c"declare \00"
|
|
@.str474 = private unnamed_addr constant [3 x i8] c" @\00"
|
|
@.str475 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str476 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str477 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str478 = private unnamed_addr constant [41 x i8] c"define i32 @fn_str_eq(ptr %a, ptr %b) {\0A\00"
|
|
@.str479 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00"
|
|
@.str480 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
|
|
@.str481 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00"
|
|
@.str482 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00"
|
|
@.str483 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00"
|
|
@.str484 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00"
|
|
@.str485 = 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"
|
|
@.str486 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
|
|
@.str487 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00"
|
|
@.str488 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_concat(ptr %a, ptr %b) {\0A\00"
|
|
@.str489 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00"
|
|
@.str490 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00"
|
|
@.str491 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00"
|
|
@.str492 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00"
|
|
@.str493 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00"
|
|
@.str494 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00"
|
|
@.str495 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00"
|
|
@.str496 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00"
|
|
@.str497 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00"
|
|
@.str498 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00"
|
|
@.str499 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00"
|
|
@.str500 = 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"
|
|
@.str501 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00"
|
|
@.str502 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00"
|
|
@.str503 = 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"
|
|
@.str504 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00"
|
|
@.str505 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00"
|
|
@.str506 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00"
|
|
@.str507 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00"
|
|
@.str508 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00"
|
|
@.str509 = 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"
|
|
@.str510 = 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"
|
|
@.str511 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00"
|
|
@.str512 = 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"
|
|
@.str513 = private unnamed_addr constant [35 x i8] c"define ptr @fn_int_str(i32 %n0) {\0A\00"
|
|
@.str514 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
|
|
@.str515 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00"
|
|
@.str516 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00"
|
|
@.str517 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
|
|
@.str518 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
|
|
@.str519 = 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"
|
|
@.str520 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
|
|
@.str521 = 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"
|
|
@.str522 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
|
|
@.str523 = 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"
|
|
@.str524 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
|
|
@.str525 = 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"
|
|
@.str526 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
|
|
@.str527 = 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"
|
|
@.str528 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
|
|
@.str529 = 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"
|
|
@.str530 = private unnamed_addr constant [36 x i8] c"define ptr @fn_long_str(i64 %n0) {\0A\00"
|
|
@.str531 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
|
|
@.str532 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00"
|
|
@.str533 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00"
|
|
@.str534 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
|
|
@.str535 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
|
|
@.str536 = 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"
|
|
@.str537 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
|
|
@.str538 = 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"
|
|
@.str539 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
|
|
@.str540 = 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"
|
|
@.str541 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
|
|
@.str542 = 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"
|
|
@.str543 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
|
|
@.str544 = 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"
|
|
@.str545 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
|
|
@.str546 = 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"
|
|
@.str547 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00"
|
|
@.str548 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00"
|
|
@.str549 = 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"
|
|
@.str550 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00"
|
|
@.str551 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00"
|
|
@.str552 = 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"
|
|
@.str553 = 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"
|
|
@.str554 = 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"
|
|
@.str555 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00"
|
|
@.str556 = private unnamed_addr constant [15 x i8] c"no such field \00"
|
|
@.str557 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str558 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
|
|
@.str559 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str560 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str561 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str562 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str563 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
|
|
@.str564 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str565 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str566 = private unnamed_addr constant [7 x i8] c"fixeds\00"
|
|
@.str567 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
|
|
@.str568 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str569 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str570 = private unnamed_addr constant [9 x i8] c"pointers\00"
|
|
@.str571 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00"
|
|
@.str572 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str573 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str574 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str575 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str576 = private unnamed_addr constant [5 x i8] c"byte\00"
|
|
@.str577 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str578 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str579 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
|
|
@.str580 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str581 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00"
|
|
@.str582 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str583 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str584 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
|
|
@.str585 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str586 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str587 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str588 = private unnamed_addr constant [7 x i8] c"resize\00"
|
|
@.str589 = private unnamed_addr constant [10 x i8] c"file_open\00"
|
|
@.str590 = private unnamed_addr constant [10 x i8] c"file_read\00"
|
|
@.str591 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str592 = private unnamed_addr constant [10 x i8] c"file_seek\00"
|
|
@.str593 = private unnamed_addr constant [10 x i8] c"file_tell\00"
|
|
@.str594 = private unnamed_addr constant [11 x i8] c"file_close\00"
|
|
@.str595 = private unnamed_addr constant [10 x i8] c"arg_count\00"
|
|
@.str596 = private unnamed_addr constant [4 x i8] c"arg\00"
|
|
@.str597 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str598 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
|
|
@.str599 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
|
|
@.str600 = private unnamed_addr constant [4 x i8] c"run\00"
|
|
@.str601 = private unnamed_addr constant [7 x i8] c"getenv\00"
|
|
@.str602 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str603 = private unnamed_addr constant [4 x i8] c" = \00"
|
|
@.str604 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str605 = private unnamed_addr constant [7 x i8] c"resize\00"
|
|
@.str606 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str607 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str608 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
|
|
@.str609 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str610 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str611 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str612 = private unnamed_addr constant [10 x i8] c"file_open\00"
|
|
@.str613 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00"
|
|
@.str614 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str615 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str616 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str617 = private unnamed_addr constant [10 x i8] c"file_read\00"
|
|
@.str618 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str619 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str620 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str621 = private unnamed_addr constant [7 x i8] c"@fread\00"
|
|
@.str622 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str623 = private unnamed_addr constant [8 x i8] c"@fwrite\00"
|
|
@.str624 = private unnamed_addr constant [10 x i8] c"call i64 \00"
|
|
@.str625 = private unnamed_addr constant [6 x i8] c"(ptr \00"
|
|
@.str626 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
|
|
@.str627 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str628 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str629 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str630 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str631 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str632 = private unnamed_addr constant [10 x i8] c"file_seek\00"
|
|
@.str633 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str634 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str635 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00"
|
|
@.str636 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str637 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str638 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str639 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str640 = private unnamed_addr constant [10 x i8] c"file_tell\00"
|
|
@.str641 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00"
|
|
@.str642 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str643 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str644 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str645 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str646 = private unnamed_addr constant [11 x i8] c"file_close\00"
|
|
@.str647 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00"
|
|
@.str648 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str649 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str650 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str651 = private unnamed_addr constant [10 x i8] c"arg_count\00"
|
|
@.str652 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
|
|
@.str653 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str654 = private unnamed_addr constant [4 x i8] c"arg\00"
|
|
@.str655 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
|
|
@.str656 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
|
|
@.str657 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str658 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str659 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str660 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str661 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
|
|
@.str662 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str663 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00"
|
|
@.str664 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str665 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str666 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
|
|
@.str667 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
|
|
@.str668 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str669 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
|
|
@.str670 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00"
|
|
@.str671 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str672 = private unnamed_addr constant [4 x i8] c"run\00"
|
|
@.str673 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00"
|
|
@.str674 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str675 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str676 = private unnamed_addr constant [7 x i8] c"getenv\00"
|
|
@.str677 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
|
|
@.str678 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str679 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str680 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str681 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str682 = private unnamed_addr constant [5 x i8] c"free\00"
|
|
@.str683 = private unnamed_addr constant [5 x i8] c"fill\00"
|
|
@.str684 = private unnamed_addr constant [7 x i8] c"offset\00"
|
|
@.str685 = private unnamed_addr constant [10 x i8] c"read_char\00"
|
|
@.str686 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
|
|
@.str687 = private unnamed_addr constant [7 x i8] c"as_int\00"
|
|
@.str688 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
|
|
@.str689 = private unnamed_addr constant [11 x i8] c"game_title\00"
|
|
@.str690 = private unnamed_addr constant [9 x i8] c"win_open\00"
|
|
@.str691 = private unnamed_addr constant [9 x i8] c"win_poll\00"
|
|
@.str692 = private unnamed_addr constant [12 x i8] c"win_present\00"
|
|
@.str693 = private unnamed_addr constant [12 x i8] c"win_running\00"
|
|
@.str694 = private unnamed_addr constant [10 x i8] c"win_close\00"
|
|
@.str695 = private unnamed_addr constant [5 x i8] c"free\00"
|
|
@.str696 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
|
|
@.str697 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str698 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str699 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str700 = private unnamed_addr constant [5 x i8] c"fill\00"
|
|
@.str701 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str702 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str703 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
|
|
@.str704 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str705 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str706 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str707 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str708 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str709 = private unnamed_addr constant [7 x i8] c"offset\00"
|
|
@.str710 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str711 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
|
|
@.str712 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str713 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str714 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str715 = private unnamed_addr constant [10 x i8] c"read_char\00"
|
|
@.str716 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00"
|
|
@.str717 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str718 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
|
|
@.str719 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str720 = private unnamed_addr constant [7 x i8] c"as_int\00"
|
|
@.str721 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str722 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
|
|
@.str723 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str724 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str725 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str726 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str727 = private unnamed_addr constant [11 x i8] c"game_title\00"
|
|
@.str728 = private unnamed_addr constant [12 x i8] c"@.gametitle\00"
|
|
@.str729 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str730 = private unnamed_addr constant [9 x i8] c"win_poll\00"
|
|
@.str731 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00"
|
|
@.str732 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str733 = private unnamed_addr constant [12 x i8] c"win_running\00"
|
|
@.str734 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00"
|
|
@.str735 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str736 = private unnamed_addr constant [9 x i8] c"win_open\00"
|
|
@.str737 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00"
|
|
@.str738 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str739 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str740 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str741 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str742 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str743 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str744 = private unnamed_addr constant [12 x i8] c"win_present\00"
|
|
@.str745 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00"
|
|
@.str746 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str747 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str748 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str749 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str750 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str751 = private unnamed_addr constant [10 x i8] c"win_close\00"
|
|
@.str752 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00"
|
|
@.str753 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str754 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str755 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str756 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str757 = private unnamed_addr constant [4 x i8] c"min\00"
|
|
@.str758 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str759 = private unnamed_addr constant [4 x i8] c"abs\00"
|
|
@.str760 = private unnamed_addr constant [6 x i8] c"clamp\00"
|
|
@.str761 = private unnamed_addr constant [4 x i8] c"abs\00"
|
|
@.str762 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str763 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str764 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str765 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str766 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str767 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str768 = private unnamed_addr constant [4 x i8] c"min\00"
|
|
@.str769 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str770 = private unnamed_addr constant [4 x i8] c"slt\00"
|
|
@.str771 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str772 = private unnamed_addr constant [4 x i8] c"sgt\00"
|
|
@.str773 = private unnamed_addr constant [6 x i8] c"icmp \00"
|
|
@.str774 = private unnamed_addr constant [6 x i8] c" i32 \00"
|
|
@.str775 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str776 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str777 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str778 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str779 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str780 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str781 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str782 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str783 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str784 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str785 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str786 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str787 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str788 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str789 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str790 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str791 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str792 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str793 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str794 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str795 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
|
|
@.str796 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str797 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str798 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str799 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str800 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str801 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
|
|
@.str802 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str803 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str804 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str805 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
|
|
@.str806 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str807 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str808 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str809 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str810 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str811 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str812 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str813 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str814 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str815 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str816 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str817 = private unnamed_addr constant [4 x i8] c"min\00"
|
|
@.str818 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str819 = private unnamed_addr constant [4 x i8] c"abs\00"
|
|
@.str820 = private unnamed_addr constant [6 x i8] c"clamp\00"
|
|
@.str821 = private unnamed_addr constant [5 x i8] c"sign\00"
|
|
@.str822 = private unnamed_addr constant [6 x i8] c"floor\00"
|
|
@.str823 = private unnamed_addr constant [5 x i8] c"ceil\00"
|
|
@.str824 = private unnamed_addr constant [6 x i8] c"round\00"
|
|
@.str825 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str826 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
|
|
@.str827 = private unnamed_addr constant [6 x i8] c"remap\00"
|
|
@.str828 = private unnamed_addr constant [5 x i8] c"sqrt\00"
|
|
@.str829 = private unnamed_addr constant [4 x i8] c"sin\00"
|
|
@.str830 = private unnamed_addr constant [4 x i8] c"cos\00"
|
|
@.str831 = private unnamed_addr constant [4 x i8] c"tan\00"
|
|
@.str832 = private unnamed_addr constant [6 x i8] c"hypot\00"
|
|
@.str833 = private unnamed_addr constant [6 x i8] c"atan2\00"
|
|
@.str834 = private unnamed_addr constant [5 x i8] c"asin\00"
|
|
@.str835 = private unnamed_addr constant [5 x i8] c"acos\00"
|
|
@.str836 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
|
|
@.str837 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
|
|
@.str838 = private unnamed_addr constant [7 x i8] c"posmod\00"
|
|
@.str839 = private unnamed_addr constant [5 x i8] c"wrap\00"
|
|
@.str840 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
|
|
@.str841 = private unnamed_addr constant [8 x i8] c"snapped\00"
|
|
@.str842 = private unnamed_addr constant [12 x i8] c"move_toward\00"
|
|
@.str843 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
|
|
@.str844 = private unnamed_addr constant [5 x i8] c"dist\00"
|
|
@.str845 = private unnamed_addr constant [6 x i8] c"dist2\00"
|
|
@.str846 = private unnamed_addr constant [4 x i8] c"exp\00"
|
|
@.str847 = private unnamed_addr constant [4 x i8] c"log\00"
|
|
@.str848 = private unnamed_addr constant [4 x i8] c"pow\00"
|
|
@.str849 = private unnamed_addr constant [4 x i8] c"min\00"
|
|
@.str850 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str851 = private unnamed_addr constant [4 x i8] c"abs\00"
|
|
@.str852 = private unnamed_addr constant [6 x i8] c"clamp\00"
|
|
@.str853 = private unnamed_addr constant [5 x i8] c"sign\00"
|
|
@.str854 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str855 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str856 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str857 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str858 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str859 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
|
|
@.str860 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str861 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
|
|
@.str862 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str863 = private unnamed_addr constant [6 x i8] c"floor\00"
|
|
@.str864 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str865 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str866 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str867 = private unnamed_addr constant [5 x i8] c"ceil\00"
|
|
@.str868 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str869 = private unnamed_addr constant [8 x i8] c", 65535\00"
|
|
@.str870 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str871 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str872 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str873 = private unnamed_addr constant [6 x i8] c"round\00"
|
|
@.str874 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str875 = private unnamed_addr constant [8 x i8] c", 32768\00"
|
|
@.str876 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str877 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str878 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str879 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str880 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str881 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
|
|
@.str882 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str883 = private unnamed_addr constant [5 x i8] c"sqrt\00"
|
|
@.str884 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str885 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str886 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str887 = private unnamed_addr constant [4 x i8] c"sin\00"
|
|
@.str888 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str889 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str890 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str891 = private unnamed_addr constant [4 x i8] c"cos\00"
|
|
@.str892 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str893 = private unnamed_addr constant [9 x i8] c", 102944\00"
|
|
@.str894 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str895 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str896 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str897 = private unnamed_addr constant [4 x i8] c"tan\00"
|
|
@.str898 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str899 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str900 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str901 = private unnamed_addr constant [9 x i8] c", 102944\00"
|
|
@.str902 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str903 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str904 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str905 = private unnamed_addr constant [6 x i8] c"atan2\00"
|
|
@.str906 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
|
|
@.str907 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str908 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str909 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str910 = private unnamed_addr constant [5 x i8] c"asin\00"
|
|
@.str911 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
|
|
@.str912 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str913 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str914 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
|
|
@.str915 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str916 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str917 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str918 = private unnamed_addr constant [5 x i8] c"acos\00"
|
|
@.str919 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
|
|
@.str920 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str921 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str922 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
|
|
@.str923 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str924 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str925 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str926 = private unnamed_addr constant [6 x i8] c"hypot\00"
|
|
@.str927 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str928 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str929 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str930 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str931 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str932 = private unnamed_addr constant [6 x i8] c"dist2\00"
|
|
@.str933 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str934 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str935 = private unnamed_addr constant [9 x i8] c"sub 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 [6 x i8] c"fixed\00"
|
|
@.str940 = private unnamed_addr constant [5 x i8] c"dist\00"
|
|
@.str941 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str942 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str943 = private unnamed_addr constant [9 x i8] c"sub 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 [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str948 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str949 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str950 = private unnamed_addr constant [4 x i8] c"exp\00"
|
|
@.str951 = private unnamed_addr constant [6 x i8] c"94548\00"
|
|
@.str952 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
|
|
@.str953 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str954 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str955 = private unnamed_addr constant [4 x i8] c"log\00"
|
|
@.str956 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00"
|
|
@.str957 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str958 = private unnamed_addr constant [6 x i8] c"45426\00"
|
|
@.str959 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str960 = private unnamed_addr constant [4 x i8] c"pow\00"
|
|
@.str961 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00"
|
|
@.str962 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str963 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
|
|
@.str964 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str965 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str966 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
|
|
@.str967 = private unnamed_addr constant [5 x i8] c"1144\00"
|
|
@.str968 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str969 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
|
|
@.str970 = private unnamed_addr constant [8 x i8] c"3754936\00"
|
|
@.str971 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str972 = private unnamed_addr constant [7 x i8] c"posmod\00"
|
|
@.str973 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str974 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str975 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str976 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str977 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str978 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str979 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str980 = private unnamed_addr constant [5 x i8] c"wrap\00"
|
|
@.str981 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str982 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str983 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str984 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str985 = private unnamed_addr constant [10 x i8] c"srem 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 [10 x i8] c"srem i32 \00"
|
|
@.str990 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str991 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str992 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str993 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str994 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
|
|
@.str995 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str996 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str997 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str998 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str999 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1000 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1001 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str1002 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1003 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1004 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1005 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str1006 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str1007 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1008 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1009 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1010 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1011 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1012 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1013 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1014 = private unnamed_addr constant [8 x i8] c"snapped\00"
|
|
@.str1015 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1016 = private unnamed_addr constant [8 x i8] c", 32768\00"
|
|
@.str1017 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str1018 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str1019 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str1020 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1021 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1022 = private unnamed_addr constant [12 x i8] c"move_toward\00"
|
|
@.str1023 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1024 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1025 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str1026 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str1027 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1028 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1029 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1030 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1031 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str1032 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1033 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str1034 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1035 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1036 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
|
|
@.str1037 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1038 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
|
|
@.str1039 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str1040 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1041 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1042 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1043 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
|
|
@.str1044 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1045 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1046 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1047 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1048 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1049 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
|
|
@.str1050 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str1051 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1052 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1053 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str1054 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str1055 = private unnamed_addr constant [8 x i8] c", 65536\00"
|
|
@.str1056 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1057 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
|
|
@.str1058 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str1059 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str1060 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00"
|
|
@.str1061 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1062 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1063 = 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"
|
|
@.str1064 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_sqrt(i32 %x) {\0A\00"
|
|
@.str1065 = 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"
|
|
@.str1066 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00"
|
|
@.str1067 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00"
|
|
@.str1068 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00"
|
|
@.str1069 = 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"
|
|
@.str1070 = 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"
|
|
@.str1071 = 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"
|
|
@.str1072 = 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"
|
|
@.str1073 = 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"
|
|
@.str1074 = 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"
|
|
@.str1075 = 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"
|
|
@.str1076 = 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"
|
|
@.str1077 = 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"
|
|
@.str1078 = private unnamed_addr constant [33 x i8] c"define i32 @fn_fx_sin(i32 %x) {\0A\00"
|
|
@.str1079 = 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"
|
|
@.str1080 = 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"
|
|
@.str1081 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00"
|
|
@.str1082 = 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"
|
|
@.str1083 = 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"
|
|
@.str1084 = 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"
|
|
@.str1085 = private unnamed_addr constant [43 x i8] c"define i32 @fn_fx_atan2(i32 %y, i32 %x) {\0A\00"
|
|
@.str1086 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1087 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00"
|
|
@.str1088 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00"
|
|
@.str1089 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00"
|
|
@.str1090 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00"
|
|
@.str1091 = private unnamed_addr constant [4 x i8] c"z:\0A\00"
|
|
@.str1092 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
|
|
@.str1093 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
|
|
@.str1094 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
|
|
@.str1095 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00"
|
|
@.str1096 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00"
|
|
@.str1097 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00"
|
|
@.str1098 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00"
|
|
@.str1099 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00"
|
|
@.str1100 = private unnamed_addr constant [5 x i8] c"xp:\0A\00"
|
|
@.str1101 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00"
|
|
@.str1102 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00"
|
|
@.str1103 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
|
|
@.str1104 = private unnamed_addr constant [5 x i8] c"xn:\0A\00"
|
|
@.str1105 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00"
|
|
@.str1106 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00"
|
|
@.str1107 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
|
|
@.str1108 = private unnamed_addr constant [5 x i8] c"dv:\0A\00"
|
|
@.str1109 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00"
|
|
@.str1110 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00"
|
|
@.str1111 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00"
|
|
@.str1112 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00"
|
|
@.str1113 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00"
|
|
@.str1114 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00"
|
|
@.str1115 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00"
|
|
@.str1116 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00"
|
|
@.str1117 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00"
|
|
@.str1118 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00"
|
|
@.str1119 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00"
|
|
@.str1120 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00"
|
|
@.str1121 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00"
|
|
@.str1122 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00"
|
|
@.str1123 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00"
|
|
@.str1124 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00"
|
|
@.str1125 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00"
|
|
@.str1126 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00"
|
|
@.str1127 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00"
|
|
@.str1128 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00"
|
|
@.str1129 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00"
|
|
@.str1130 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00"
|
|
@.str1131 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00"
|
|
@.str1132 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00"
|
|
@.str1133 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00"
|
|
@.str1134 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00"
|
|
@.str1135 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00"
|
|
@.str1136 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00"
|
|
@.str1137 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00"
|
|
@.str1138 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00"
|
|
@.str1139 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00"
|
|
@.str1140 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1141 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_exp2(i32 %x) {\0A\00"
|
|
@.str1142 = 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"
|
|
@.str1143 = 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"
|
|
@.str1144 = 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"
|
|
@.str1145 = 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"
|
|
@.str1146 = 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"
|
|
@.str1147 = 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"
|
|
@.str1148 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00"
|
|
@.str1149 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00"
|
|
@.str1150 = 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"
|
|
@.str1151 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00"
|
|
@.str1152 = 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"
|
|
@.str1153 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00"
|
|
@.str1154 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00"
|
|
@.str1155 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00"
|
|
@.str1156 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_log2(i32 %x) {\0A\00"
|
|
@.str1157 = 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"
|
|
@.str1158 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00"
|
|
@.str1159 = 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"
|
|
@.str1160 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00"
|
|
@.str1161 = 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"
|
|
@.str1162 = 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"
|
|
@.str1163 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00"
|
|
@.str1164 = 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"
|
|
@.str1165 = 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"
|
|
@.str1166 = 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"
|
|
@.str1167 = 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"
|
|
@.str1168 = 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"
|
|
@.str1169 = 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"
|
|
@.str1170 = 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"
|
|
@.str1171 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00"
|
|
@.str1172 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str1173 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str1174 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
|
|
@.str1175 = private unnamed_addr constant [5 x i8] c", 32\00"
|
|
@.str1176 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str1177 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str1178 = private unnamed_addr constant [8 x i8] c"or i64 \00"
|
|
@.str1179 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1180 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
|
|
@.str1181 = private unnamed_addr constant [5 x i8] c", 32\00"
|
|
@.str1182 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str1183 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1184 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str1185 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1186 = private unnamed_addr constant [5 x i8] c"make\00"
|
|
@.str1187 = private unnamed_addr constant [5 x i8] c"zero\00"
|
|
@.str1188 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str1189 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str1190 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str1191 = private unnamed_addr constant [4 x i8] c"sub\00"
|
|
@.str1192 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str1193 = private unnamed_addr constant [4 x i8] c"dot\00"
|
|
@.str1194 = private unnamed_addr constant [7 x i8] c"length\00"
|
|
@.str1195 = private unnamed_addr constant [9 x i8] c"distance\00"
|
|
@.str1196 = private unnamed_addr constant [10 x i8] c"normalize\00"
|
|
@.str1197 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str1198 = private unnamed_addr constant [7 x i8] c"rotate\00"
|
|
@.str1199 = private unnamed_addr constant [6 x i8] c"angle\00"
|
|
@.str1200 = private unnamed_addr constant [11 x i8] c"from_angle\00"
|
|
@.str1201 = private unnamed_addr constant [5 x i8] c"zero\00"
|
|
@.str1202 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str1203 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1204 = private unnamed_addr constant [5 x i8] c"make\00"
|
|
@.str1205 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1206 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str1207 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1208 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str1209 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1210 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str1211 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1212 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1213 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1214 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1215 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1216 = private unnamed_addr constant [4 x i8] c"sub\00"
|
|
@.str1217 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1218 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1219 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1220 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1221 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1222 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str1223 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1224 = private unnamed_addr constant [4 x i8] c"dot\00"
|
|
@.str1225 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1226 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1227 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1228 = private unnamed_addr constant [7 x i8] c"length\00"
|
|
@.str1229 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1230 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1231 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str1232 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1233 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1234 = private unnamed_addr constant [9 x i8] c"distance\00"
|
|
@.str1235 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1236 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1237 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1238 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1239 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1240 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1241 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str1242 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1243 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1244 = private unnamed_addr constant [10 x i8] c"normalize\00"
|
|
@.str1245 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1246 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1247 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str1248 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1249 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str1250 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1251 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1252 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
|
|
@.str1253 = private unnamed_addr constant [6 x i8] c"65536\00"
|
|
@.str1254 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1255 = private unnamed_addr constant [7 x i8] c"rotate\00"
|
|
@.str1256 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str1257 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1258 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1259 = private unnamed_addr constant [9 x i8] c", 102944\00"
|
|
@.str1260 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str1261 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1262 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1263 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1264 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1265 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1266 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1267 = private unnamed_addr constant [6 x i8] c"angle\00"
|
|
@.str1268 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
|
|
@.str1269 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1270 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1271 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1272 = private unnamed_addr constant [11 x i8] c"from_angle\00"
|
|
@.str1273 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str1274 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1275 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1276 = private unnamed_addr constant [9 x i8] c", 102944\00"
|
|
@.str1277 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str1278 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1279 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1280 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1281 = private unnamed_addr constant [7 x i8] c"length\00"
|
|
@.str1282 = private unnamed_addr constant [8 x i8] c"char_at\00"
|
|
@.str1283 = private unnamed_addr constant [6 x i8] c"slice\00"
|
|
@.str1284 = private unnamed_addr constant [7 x i8] c"equals\00"
|
|
@.str1285 = private unnamed_addr constant [7 x i8] c"concat\00"
|
|
@.str1286 = private unnamed_addr constant [7 x i8] c"to_int\00"
|
|
@.str1287 = private unnamed_addr constant [9 x i8] c"from_int\00"
|
|
@.str1288 = private unnamed_addr constant [12 x i8] c"starts_with\00"
|
|
@.str1289 = private unnamed_addr constant [10 x i8] c"ends_with\00"
|
|
@.str1290 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str1291 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str1292 = private unnamed_addr constant [6 x i8] c"upper\00"
|
|
@.str1293 = private unnamed_addr constant [6 x i8] c"lower\00"
|
|
@.str1294 = private unnamed_addr constant [5 x i8] c"trim\00"
|
|
@.str1295 = private unnamed_addr constant [7 x i8] c"repeat\00"
|
|
@.str1296 = private unnamed_addr constant [9 x i8] c"pad_left\00"
|
|
@.str1297 = private unnamed_addr constant [10 x i8] c"pad_right\00"
|
|
@.str1298 = private unnamed_addr constant [6 x i8] c"split\00"
|
|
@.str1299 = private unnamed_addr constant [5 x i8] c"join\00"
|
|
@.str1300 = private unnamed_addr constant [8 x i8] c"replace\00"
|
|
@.str1301 = private unnamed_addr constant [9 x i8] c"from_int\00"
|
|
@.str1302 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
|
|
@.str1303 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1304 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1305 = private unnamed_addr constant [6 x i8] c"slice\00"
|
|
@.str1306 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00"
|
|
@.str1307 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1308 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1309 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1310 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1311 = private unnamed_addr constant [7 x i8] c"equals\00"
|
|
@.str1312 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00"
|
|
@.str1313 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1314 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1315 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1316 = private unnamed_addr constant [7 x i8] c"concat\00"
|
|
@.str1317 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
|
|
@.str1318 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1319 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1320 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1321 = private unnamed_addr constant [7 x i8] c"length\00"
|
|
@.str1322 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str1323 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1324 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str1325 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1326 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1327 = private unnamed_addr constant [8 x i8] c"char_at\00"
|
|
@.str1328 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str1329 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1330 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str1331 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
|
|
@.str1332 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1333 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1334 = private unnamed_addr constant [7 x i8] c"to_int\00"
|
|
@.str1335 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00"
|
|
@.str1336 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1337 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1338 = private unnamed_addr constant [6 x i8] c"upper\00"
|
|
@.str1339 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_upper(ptr \00"
|
|
@.str1340 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1341 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1342 = private unnamed_addr constant [6 x i8] c"lower\00"
|
|
@.str1343 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_lower(ptr \00"
|
|
@.str1344 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1345 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1346 = private unnamed_addr constant [5 x i8] c"trim\00"
|
|
@.str1347 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_trim(ptr \00"
|
|
@.str1348 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1349 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1350 = private unnamed_addr constant [7 x i8] c"repeat\00"
|
|
@.str1351 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_repeat(ptr \00"
|
|
@.str1352 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1353 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1354 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1355 = private unnamed_addr constant [9 x i8] c"pad_left\00"
|
|
@.str1356 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00"
|
|
@.str1357 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1358 = private unnamed_addr constant [8 x i8] c", i1 1)\00"
|
|
@.str1359 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1360 = private unnamed_addr constant [10 x i8] c"pad_right\00"
|
|
@.str1361 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00"
|
|
@.str1362 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1363 = private unnamed_addr constant [8 x i8] c", i1 0)\00"
|
|
@.str1364 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1365 = private unnamed_addr constant [8 x i8] c"replace\00"
|
|
@.str1366 = private unnamed_addr constant [30 x i8] c"call ptr @fn_str_replace(ptr \00"
|
|
@.str1367 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1368 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1369 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1370 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1371 = private unnamed_addr constant [6 x i8] c"split\00"
|
|
@.str1372 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_split(ptr \00"
|
|
@.str1373 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1374 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1375 = private unnamed_addr constant [9 x i8] c"[]string\00"
|
|
@.str1376 = private unnamed_addr constant [5 x i8] c"join\00"
|
|
@.str1377 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_join(ptr \00"
|
|
@.str1378 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1379 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1380 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1381 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str1382 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str1383 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00"
|
|
@.str1384 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1385 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1386 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str1387 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
|
|
@.str1388 = private unnamed_addr constant [7 x i8] c", null\00"
|
|
@.str1389 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str1390 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1391 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1392 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
|
|
@.str1393 = private unnamed_addr constant [7 x i8] c", null\00"
|
|
@.str1394 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
|
|
@.str1395 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str1396 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
|
|
@.str1397 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str1398 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
|
|
@.str1399 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1400 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str1401 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1402 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1403 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
|
|
@.str1404 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1405 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str1406 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1407 = private unnamed_addr constant [12 x i8] c"starts_with\00"
|
|
@.str1408 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
|
|
@.str1409 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1410 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str1411 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1412 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str1413 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1414 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str1415 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1416 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1417 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str1418 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1419 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
|
|
@.str1420 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1421 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str1422 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str1423 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str1424 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00"
|
|
@.str1425 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1426 = private unnamed_addr constant [7 x i8] c"ew_cmp\00"
|
|
@.str1427 = private unnamed_addr constant [7 x i8] c"ew_end\00"
|
|
@.str1428 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str1429 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str1430 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str1431 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str1432 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str1433 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str1434 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str1435 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
|
|
@.str1436 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1437 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str1438 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1439 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str1440 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1441 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str1442 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1443 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str1444 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str1445 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str1446 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str1447 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str1448 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1449 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_upper(ptr %s) {\0A\00"
|
|
@.str1450 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1451 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1452 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
|
|
@.str1453 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1454 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1455 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1456 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1457 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1458 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1459 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
|
|
@.str1460 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
|
|
@.str1461 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1462 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1463 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
|
|
@.str1464 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00"
|
|
@.str1465 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00"
|
|
@.str1466 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
|
|
@.str1467 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00"
|
|
@.str1468 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
|
|
@.str1469 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
|
|
@.str1470 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
|
|
@.str1471 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1472 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1473 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1474 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
|
|
@.str1475 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00"
|
|
@.str1476 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1477 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1478 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1479 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_lower(ptr %s) {\0A\00"
|
|
@.str1480 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1481 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1482 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
|
|
@.str1483 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1484 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1485 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1486 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1487 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1488 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1489 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
|
|
@.str1490 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
|
|
@.str1491 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1492 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1493 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
|
|
@.str1494 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00"
|
|
@.str1495 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00"
|
|
@.str1496 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
|
|
@.str1497 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00"
|
|
@.str1498 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
|
|
@.str1499 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
|
|
@.str1500 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
|
|
@.str1501 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1502 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1503 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1504 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
|
|
@.str1505 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00"
|
|
@.str1506 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1507 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1508 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1509 = private unnamed_addr constant [35 x i8] c"define ptr @fn_str_trim(ptr %s) {\0A\00"
|
|
@.str1510 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1511 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1512 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00"
|
|
@.str1513 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00"
|
|
@.str1514 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00"
|
|
@.str1515 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00"
|
|
@.str1516 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
|
|
@.str1517 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00"
|
|
@.str1518 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00"
|
|
@.str1519 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00"
|
|
@.str1520 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00"
|
|
@.str1521 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00"
|
|
@.str1522 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00"
|
|
@.str1523 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00"
|
|
@.str1524 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00"
|
|
@.str1525 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @fn_is_ws(i8 %c0)\0A\00"
|
|
@.str1526 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00"
|
|
@.str1527 = private unnamed_addr constant [7 x i8] c"linc:\0A\00"
|
|
@.str1528 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00"
|
|
@.str1529 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00"
|
|
@.str1530 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
|
|
@.str1531 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00"
|
|
@.str1532 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00"
|
|
@.str1533 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00"
|
|
@.str1534 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00"
|
|
@.str1535 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00"
|
|
@.str1536 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00"
|
|
@.str1537 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00"
|
|
@.str1538 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00"
|
|
@.str1539 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00"
|
|
@.str1540 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @fn_is_ws(i8 %c1)\0A\00"
|
|
@.str1541 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00"
|
|
@.str1542 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00"
|
|
@.str1543 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00"
|
|
@.str1544 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00"
|
|
@.str1545 = private unnamed_addr constant [8 x i8] c"build:\0A\00"
|
|
@.str1546 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00"
|
|
@.str1547 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00"
|
|
@.str1548 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00"
|
|
@.str1549 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00"
|
|
@.str1550 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1551 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00"
|
|
@.str1552 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00"
|
|
@.str1553 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00"
|
|
@.str1554 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1555 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1556 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1557 = private unnamed_addr constant [30 x i8] c"define i1 @fn_is_ws(i8 %c) {\0A\00"
|
|
@.str1558 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00"
|
|
@.str1559 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00"
|
|
@.str1560 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00"
|
|
@.str1561 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00"
|
|
@.str1562 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00"
|
|
@.str1563 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00"
|
|
@.str1564 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00"
|
|
@.str1565 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00"
|
|
@.str1566 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1567 = private unnamed_addr constant [47 x i8] c"define ptr @fn_str_repeat(ptr %s, i32 %n32) {\0A\00"
|
|
@.str1568 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1569 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00"
|
|
@.str1570 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00"
|
|
@.str1571 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00"
|
|
@.str1572 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1573 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00"
|
|
@.str1574 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00"
|
|
@.str1575 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\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 [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
|
|
@.str1582 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
|
|
@.str1583 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1584 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00"
|
|
@.str1585 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00"
|
|
@.str1586 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\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 [6 x i8] c"fin:\0A\00"
|
|
@.str1591 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00"
|
|
@.str1592 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1593 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1594 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1595 = private unnamed_addr constant [54 x i8] c"define ptr @fn_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00"
|
|
@.str1596 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1597 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1598 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00"
|
|
@.str1599 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00"
|
|
@.str1600 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00"
|
|
@.str1601 = private unnamed_addr constant [7 x i8] c"copy:\0A\00"
|
|
@.str1602 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00"
|
|
@.str1603 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
|
|
@.str1604 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00"
|
|
@.str1605 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00"
|
|
@.str1606 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00"
|
|
@.str1607 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00"
|
|
@.str1608 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
|
|
@.str1609 = private unnamed_addr constant [5 x i8] c"do:\0A\00"
|
|
@.str1610 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00"
|
|
@.str1611 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00"
|
|
@.str1612 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1613 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00"
|
|
@.str1614 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00"
|
|
@.str1615 = private unnamed_addr constant [52 x i8] c" call void @fn_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00"
|
|
@.str1616 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00"
|
|
@.str1617 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00"
|
|
@.str1618 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
|
|
@.str1619 = private unnamed_addr constant [11 x i8] c"padright:\0A\00"
|
|
@.str1620 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00"
|
|
@.str1621 = private unnamed_addr constant [53 x i8] c" call void @fn_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00"
|
|
@.str1622 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
|
|
@.str1623 = private unnamed_addr constant [7 x i8] c"term:\0A\00"
|
|
@.str1624 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00"
|
|
@.str1625 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1626 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1627 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1628 = private unnamed_addr constant [61 x i8] c"define void @fn_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00"
|
|
@.str1629 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1630 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1631 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1632 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1633 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1634 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1635 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00"
|
|
@.str1636 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00"
|
|
@.str1637 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1638 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00"
|
|
@.str1639 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00"
|
|
@.str1640 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00"
|
|
@.str1641 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1642 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1643 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1644 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1645 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str1646 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1647 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00"
|
|
@.str1648 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1649 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00"
|
|
@.str1650 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00"
|
|
@.str1651 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00"
|
|
@.str1652 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00"
|
|
@.str1653 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1654 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00"
|
|
@.str1655 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
|
|
@.str1656 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00"
|
|
@.str1657 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
|
|
@.str1658 = private unnamed_addr constant [7 x i8] c"scan:\0A\00"
|
|
@.str1659 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00"
|
|
@.str1660 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1661 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
|
|
@.str1662 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00"
|
|
@.str1663 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
|
|
@.str1664 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
|
|
@.str1665 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
|
|
@.str1666 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
|
|
@.str1667 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
|
|
@.str1668 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00"
|
|
@.str1669 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
|
|
@.str1670 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00"
|
|
@.str1671 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
|
|
@.str1672 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
|
|
@.str1673 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
|
|
@.str1674 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
|
|
@.str1675 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00"
|
|
@.str1676 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
|
|
@.str1677 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
|
|
@.str1678 = private unnamed_addr constant [8 x i8] c"csize:\0A\00"
|
|
@.str1679 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
|
|
@.str1680 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00"
|
|
@.str1681 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00"
|
|
@.str1682 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00"
|
|
@.str1683 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00"
|
|
@.str1684 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
|
|
@.str1685 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
|
|
@.str1686 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
|
|
@.str1687 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
|
|
@.str1688 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
|
|
@.str1689 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
|
|
@.str1690 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00"
|
|
@.str1691 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
|
|
@.str1692 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00"
|
|
@.str1693 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
|
|
@.str1694 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00"
|
|
@.str1695 = private unnamed_addr constant [6 x i8] c"seg:\0A\00"
|
|
@.str1696 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
|
|
@.str1697 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
|
|
@.str1698 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
|
|
@.str1699 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00"
|
|
@.str1700 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00"
|
|
@.str1701 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00"
|
|
@.str1702 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00"
|
|
@.str1703 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00"
|
|
@.str1704 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00"
|
|
@.str1705 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00"
|
|
@.str1706 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00"
|
|
@.str1707 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
|
|
@.str1708 = private unnamed_addr constant [7 x i8] c"tail:\0A\00"
|
|
@.str1709 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00"
|
|
@.str1710 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00"
|
|
@.str1711 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00"
|
|
@.str1712 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00"
|
|
@.str1713 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00"
|
|
@.str1714 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1715 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1716 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_join(ptr %h, ptr %sep) {\0A\00"
|
|
@.str1717 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1718 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00"
|
|
@.str1719 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00"
|
|
@.str1720 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00"
|
|
@.str1721 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00"
|
|
@.str1722 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00"
|
|
@.str1723 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
|
|
@.str1724 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00"
|
|
@.str1725 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00"
|
|
@.str1726 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1727 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1728 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
|
|
@.str1729 = private unnamed_addr constant [8 x i8] c"scond:\0A\00"
|
|
@.str1730 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1731 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00"
|
|
@.str1732 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00"
|
|
@.str1733 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00"
|
|
@.str1734 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00"
|
|
@.str1735 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00"
|
|
@.str1736 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00"
|
|
@.str1737 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00"
|
|
@.str1738 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00"
|
|
@.str1739 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00"
|
|
@.str1740 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1741 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1742 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
|
|
@.str1743 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00"
|
|
@.str1744 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00"
|
|
@.str1745 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00"
|
|
@.str1746 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00"
|
|
@.str1747 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00"
|
|
@.str1748 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00"
|
|
@.str1749 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00"
|
|
@.str1750 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00"
|
|
@.str1751 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
|
|
@.str1752 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
|
|
@.str1753 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
|
|
@.str1754 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00"
|
|
@.str1755 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00"
|
|
@.str1756 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
|
|
@.str1757 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00"
|
|
@.str1758 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00"
|
|
@.str1759 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00"
|
|
@.str1760 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00"
|
|
@.str1761 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00"
|
|
@.str1762 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00"
|
|
@.str1763 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00"
|
|
@.str1764 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00"
|
|
@.str1765 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00"
|
|
@.str1766 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00"
|
|
@.str1767 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00"
|
|
@.str1768 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00"
|
|
@.str1769 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00"
|
|
@.str1770 = private unnamed_addr constant [8 x i8] c"putel:\0A\00"
|
|
@.str1771 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00"
|
|
@.str1772 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00"
|
|
@.str1773 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00"
|
|
@.str1774 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00"
|
|
@.str1775 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00"
|
|
@.str1776 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00"
|
|
@.str1777 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00"
|
|
@.str1778 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00"
|
|
@.str1779 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00"
|
|
@.str1780 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
|
|
@.str1781 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00"
|
|
@.str1782 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00"
|
|
@.str1783 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00"
|
|
@.str1784 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1785 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1786 = private unnamed_addr constant [46 x i8] c"define ptr @fn_str_split(ptr %s, ptr %sep) {\0A\00"
|
|
@.str1787 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1788 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
|
|
@.str1789 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
|
|
@.str1790 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00"
|
|
@.str1791 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
|
|
@.str1792 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
|
|
@.str1793 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
|
|
@.str1794 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
|
|
@.str1795 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
|
|
@.str1796 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00"
|
|
@.str1797 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
|
|
@.str1798 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00"
|
|
@.str1799 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
|
|
@.str1800 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
|
|
@.str1801 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
|
|
@.str1802 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
|
|
@.str1803 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00"
|
|
@.str1804 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
|
|
@.str1805 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
|
|
@.str1806 = private unnamed_addr constant [5 x i8] c"mk:\0A\00"
|
|
@.str1807 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
|
|
@.str1808 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00"
|
|
@.str1809 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00"
|
|
@.str1810 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00"
|
|
@.str1811 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00"
|
|
@.str1812 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00"
|
|
@.str1813 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00"
|
|
@.str1814 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00"
|
|
@.str1815 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00"
|
|
@.str1816 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00"
|
|
@.str1817 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00"
|
|
@.str1818 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
|
|
@.str1819 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
|
|
@.str1820 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1821 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1822 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
|
|
@.str1823 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00"
|
|
@.str1824 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1825 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00"
|
|
@.str1826 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00"
|
|
@.str1827 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00"
|
|
@.str1828 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
|
|
@.str1829 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00"
|
|
@.str1830 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
|
|
@.str1831 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00"
|
|
@.str1832 = private unnamed_addr constant [6 x i8] c"mid:\0A\00"
|
|
@.str1833 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
|
|
@.str1834 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
|
|
@.str1835 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
|
|
@.str1836 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
|
|
@.str1837 = private unnamed_addr constant [7 x i8] c"last:\0A\00"
|
|
@.str1838 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00"
|
|
@.str1839 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
|
|
@.str1840 = private unnamed_addr constant [8 x i8] c"store:\0A\00"
|
|
@.str1841 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00"
|
|
@.str1842 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00"
|
|
@.str1843 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00"
|
|
@.str1844 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00"
|
|
@.str1845 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00"
|
|
@.str1846 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00"
|
|
@.str1847 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1848 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00"
|
|
@.str1849 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00"
|
|
@.str1850 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00"
|
|
@.str1851 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00"
|
|
@.str1852 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1853 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1854 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
|
|
@.str1855 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1856 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00"
|
|
@.str1857 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1858 = private unnamed_addr constant [3 x i8] c"of\00"
|
|
@.str1859 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
|
|
@.str1860 = private unnamed_addr constant [6 x i8] c"crc32\00"
|
|
@.str1861 = private unnamed_addr constant [4 x i8] c"mix\00"
|
|
@.str1862 = private unnamed_addr constant [8 x i8] c"combine\00"
|
|
@.str1863 = private unnamed_addr constant [5 x i8] c"of64\00"
|
|
@.str1864 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
|
|
@.str1865 = private unnamed_addr constant [6 x i8] c"mix64\00"
|
|
@.str1866 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str1867 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str1868 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str1869 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1870 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str1871 = private unnamed_addr constant [14 x i8] c", -2048144789\00"
|
|
@.str1872 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str1873 = private unnamed_addr constant [5 x i8] c", 13\00"
|
|
@.str1874 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str1875 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1876 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str1877 = private unnamed_addr constant [14 x i8] c", -1028477387\00"
|
|
@.str1878 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str1879 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str1880 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str1881 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1882 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
|
|
@.str1883 = private unnamed_addr constant [5 x i8] c", 33\00"
|
|
@.str1884 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
|
|
@.str1885 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1886 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str1887 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00"
|
|
@.str1888 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
|
|
@.str1889 = private unnamed_addr constant [5 x i8] c", 33\00"
|
|
@.str1890 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
|
|
@.str1891 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1892 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str1893 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00"
|
|
@.str1894 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
|
|
@.str1895 = private unnamed_addr constant [5 x i8] c", 33\00"
|
|
@.str1896 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
|
|
@.str1897 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1898 = private unnamed_addr constant [3 x i8] c"of\00"
|
|
@.str1899 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
|
|
@.str1900 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_fnv1a(ptr \00"
|
|
@.str1901 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1902 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1903 = private unnamed_addr constant [5 x i8] c"of64\00"
|
|
@.str1904 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
|
|
@.str1905 = private unnamed_addr constant [32 x i8] c"call i64 @fn_hash_fnv1a_64(ptr \00"
|
|
@.str1906 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1907 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str1908 = private unnamed_addr constant [6 x i8] c"mix64\00"
|
|
@.str1909 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str1910 = private unnamed_addr constant [6 x i8] c"crc32\00"
|
|
@.str1911 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_crc32(ptr \00"
|
|
@.str1912 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1913 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1914 = private unnamed_addr constant [4 x i8] c"mix\00"
|
|
@.str1915 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1916 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str1917 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1918 = private unnamed_addr constant [14 x i8] c", -1640531527\00"
|
|
@.str1919 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str1920 = private unnamed_addr constant [4 x i8] c", 6\00"
|
|
@.str1921 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str1922 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str1923 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1924 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1925 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1926 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1927 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str1928 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1929 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1930 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_fnv1a(ptr %s) {\0A\00"
|
|
@.str1931 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1932 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00"
|
|
@.str1933 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00"
|
|
@.str1934 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1935 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1936 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1937 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1938 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1939 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1940 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
|
|
@.str1941 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
|
|
@.str1942 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
|
|
@.str1943 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1944 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00"
|
|
@.str1945 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00"
|
|
@.str1946 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00"
|
|
@.str1947 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00"
|
|
@.str1948 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00"
|
|
@.str1949 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1950 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1951 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1952 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1953 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00"
|
|
@.str1954 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00"
|
|
@.str1955 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1956 = private unnamed_addr constant [40 x i8] c"define i64 @fn_hash_fnv1a_64(ptr %s) {\0A\00"
|
|
@.str1957 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1958 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00"
|
|
@.str1959 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00"
|
|
@.str1960 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1961 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1962 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1963 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1964 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1965 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1966 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
|
|
@.str1967 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
|
|
@.str1968 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
|
|
@.str1969 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1970 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00"
|
|
@.str1971 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00"
|
|
@.str1972 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00"
|
|
@.str1973 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00"
|
|
@.str1974 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00"
|
|
@.str1975 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1976 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1977 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1978 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1979 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00"
|
|
@.str1980 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00"
|
|
@.str1981 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1982 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_crc32(ptr %s) {\0A\00"
|
|
@.str1983 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1984 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00"
|
|
@.str1985 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00"
|
|
@.str1986 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1987 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1988 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00"
|
|
@.str1989 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1990 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1991 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1992 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1993 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00"
|
|
@.str1994 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00"
|
|
@.str1995 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
|
|
@.str1996 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1997 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00"
|
|
@.str1998 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00"
|
|
@.str1999 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00"
|
|
@.str2000 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00"
|
|
@.str2001 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00"
|
|
@.str2002 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
|
|
@.str2003 = private unnamed_addr constant [6 x i8] c"bit:\0A\00"
|
|
@.str2004 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
|
|
@.str2005 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00"
|
|
@.str2006 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00"
|
|
@.str2007 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00"
|
|
@.str2008 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00"
|
|
@.str2009 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00"
|
|
@.str2010 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00"
|
|
@.str2011 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00"
|
|
@.str2012 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00"
|
|
@.str2013 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00"
|
|
@.str2014 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00"
|
|
@.str2015 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00"
|
|
@.str2016 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00"
|
|
@.str2017 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
|
|
@.str2018 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00"
|
|
@.str2019 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str2020 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str2021 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str2022 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str2023 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00"
|
|
@.str2024 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00"
|
|
@.str2025 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
|
|
@.str2026 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str2027 = private unnamed_addr constant [7 x i8] c"sha256\00"
|
|
@.str2028 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
|
|
@.str2029 = private unnamed_addr constant [12 x i8] c"verify_hmac\00"
|
|
@.str2030 = private unnamed_addr constant [4 x i8] c"hex\00"
|
|
@.str2031 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
|
|
@.str2032 = private unnamed_addr constant [13 x i8] c"random_bytes\00"
|
|
@.str2033 = private unnamed_addr constant [11 x i8] c"random_hex\00"
|
|
@.str2034 = private unnamed_addr constant [11 x i8] c"random_u32\00"
|
|
@.str2035 = private unnamed_addr constant [7 x i8] c"base64\00"
|
|
@.str2036 = private unnamed_addr constant [7 x i8] c"sha256\00"
|
|
@.str2037 = private unnamed_addr constant [29 x i8] c"call ptr @fn_sha256_hex(ptr \00"
|
|
@.str2038 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2039 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2040 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
|
|
@.str2041 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00"
|
|
@.str2042 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2043 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2044 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2045 = private unnamed_addr constant [4 x i8] c"hex\00"
|
|
@.str2046 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_hex(ptr \00"
|
|
@.str2047 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2048 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2049 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
|
|
@.str2050 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00"
|
|
@.str2051 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2052 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2053 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2054 = private unnamed_addr constant [13 x i8] c"random_bytes\00"
|
|
@.str2055 = private unnamed_addr constant [11 x i8] c"random_hex\00"
|
|
@.str2056 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str2057 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str2058 = private unnamed_addr constant [29 x i8] c"call ptr @fn_random_hex(i64 \00"
|
|
@.str2059 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2060 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2061 = private unnamed_addr constant [11 x i8] c"random_u32\00"
|
|
@.str2062 = private unnamed_addr constant [26 x i8] c"call i32 @fn_random_u32()\00"
|
|
@.str2063 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2064 = private unnamed_addr constant [7 x i8] c"base64\00"
|
|
@.str2065 = private unnamed_addr constant [25 x i8] c"call ptr @fn_base64(ptr \00"
|
|
@.str2066 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2067 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2068 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00"
|
|
@.str2069 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2070 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2071 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00"
|
|
@.str2072 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2073 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2074 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2075 = 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"
|
|
@.str2076 = private unnamed_addr constant [41 x i8] c"define i32 @fn_rotr32(i32 %x, i32 %n) {\0A\00"
|
|
@.str2077 = 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"
|
|
@.str2078 = private unnamed_addr constant [60 x i8] c"define void @fn_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00"
|
|
@.str2079 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str2080 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00"
|
|
@.str2081 = 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"
|
|
@.str2082 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00"
|
|
@.str2083 = 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"
|
|
@.str2084 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00"
|
|
@.str2085 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00"
|
|
@.str2086 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00"
|
|
@.str2087 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00"
|
|
@.str2088 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00"
|
|
@.str2089 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00"
|
|
@.str2090 = 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"
|
|
@.str2091 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00"
|
|
@.str2092 = 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"
|
|
@.str2093 = 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"
|
|
@.str2094 = 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"
|
|
@.str2095 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00"
|
|
@.str2096 = 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"
|
|
@.str2097 = 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"
|
|
@.str2098 = 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"
|
|
@.str2099 = 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"
|
|
@.str2100 = 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"
|
|
@.str2101 = 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"
|
|
@.str2102 = 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"
|
|
@.str2103 = 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"
|
|
@.str2104 = 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"
|
|
@.str2105 = 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"
|
|
@.str2106 = 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"
|
|
@.str2107 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00"
|
|
@.str2108 = 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"
|
|
@.str2109 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00"
|
|
@.str2110 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00"
|
|
@.str2111 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00"
|
|
@.str2112 = 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"
|
|
@.str2113 = 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"
|
|
@.str2114 = 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"
|
|
@.str2115 = 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"
|
|
@.str2116 = 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"
|
|
@.str2117 = 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"
|
|
@.str2118 = 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"
|
|
@.str2119 = 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"
|
|
@.str2120 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00"
|
|
@.str2121 = 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"
|
|
@.str2122 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00"
|
|
@.str2123 = 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"
|
|
@.str2124 = 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"
|
|
@.str2125 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00"
|
|
@.str2126 = 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"
|
|
@.str2127 = 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"
|
|
@.str2128 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00"
|
|
@.str2129 = 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"
|
|
@.str2130 = 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"
|
|
@.str2131 = 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"
|
|
@.str2132 = 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"
|
|
@.str2133 = 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"
|
|
@.str2134 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00"
|
|
@.str2135 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00"
|
|
@.str2136 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00"
|
|
@.str2137 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00"
|
|
@.str2138 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00"
|
|
@.str2139 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00"
|
|
@.str2140 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00"
|
|
@.str2141 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00"
|
|
@.str2142 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00"
|
|
@.str2143 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00"
|
|
@.str2144 = 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"
|
|
@.str2145 = private unnamed_addr constant [5 x i8] c"rb:\0A\00"
|
|
@.str2146 = 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"
|
|
@.str2147 = 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"
|
|
@.str2148 = 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"
|
|
@.str2149 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00"
|
|
@.str2150 = 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"
|
|
@.str2151 = 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"
|
|
@.str2152 = 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"
|
|
@.str2153 = 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"
|
|
@.str2154 = 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"
|
|
@.str2155 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00"
|
|
@.str2156 = 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"
|
|
@.str2157 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00"
|
|
@.str2158 = 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"
|
|
@.str2159 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00"
|
|
@.str2160 = 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"
|
|
@.str2161 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00"
|
|
@.str2162 = 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"
|
|
@.str2163 = private unnamed_addr constant [7 x i8] c"addH:\0A\00"
|
|
@.str2164 = 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"
|
|
@.str2165 = 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"
|
|
@.str2166 = 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"
|
|
@.str2167 = 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"
|
|
@.str2168 = 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"
|
|
@.str2169 = 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"
|
|
@.str2170 = 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"
|
|
@.str2171 = 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"
|
|
@.str2172 = 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"
|
|
@.str2173 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00"
|
|
@.str2174 = 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"
|
|
@.str2175 = private unnamed_addr constant [5 x i8] c"ob:\0A\00"
|
|
@.str2176 = 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"
|
|
@.str2177 = 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"
|
|
@.str2178 = 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"
|
|
@.str2179 = 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"
|
|
@.str2180 = 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"
|
|
@.str2181 = 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"
|
|
@.str2182 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00"
|
|
@.str2183 = private unnamed_addr constant [35 x i8] c"define i8 @fn_hex_digit(i32 %d) {\0A\00"
|
|
@.str2184 = 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"
|
|
@.str2185 = private unnamed_addr constant [46 x i8] c"define ptr @fn_hex_encode(ptr %in, i64 %n) {\0A\00"
|
|
@.str2186 = 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"
|
|
@.str2187 = 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"
|
|
@.str2188 = 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"
|
|
@.str2189 = 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"
|
|
@.str2190 = 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"
|
|
@.str2191 = 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"
|
|
@.str2192 = 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"
|
|
@.str2193 = private unnamed_addr constant [37 x i8] c"define ptr @fn_sha256_hex(ptr %s) {\0A\00"
|
|
@.str2194 = 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"
|
|
@.str2195 = 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"
|
|
@.str2196 = private unnamed_addr constant [34 x i8] c"define ptr @fn_str_hex(ptr %s) {\0A\00"
|
|
@.str2197 = 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"
|
|
@.str2198 = private unnamed_addr constant [55 x i8] c"define void @fn_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00"
|
|
@.str2199 = 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"
|
|
@.str2200 = 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"
|
|
@.str2201 = 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"
|
|
@.str2202 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00"
|
|
@.str2203 = private unnamed_addr constant [54 x i8] c"define ptr @fn_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00"
|
|
@.str2204 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str2205 = 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"
|
|
@.str2206 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00"
|
|
@.str2207 = 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"
|
|
@.str2208 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00"
|
|
@.str2209 = 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"
|
|
@.str2210 = 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"
|
|
@.str2211 = private unnamed_addr constant [7 x i8] c"pads:\0A\00"
|
|
@.str2212 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00"
|
|
@.str2213 = private unnamed_addr constant [53 x i8] c" call void @fn_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00"
|
|
@.str2214 = 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"
|
|
@.str2215 = 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"
|
|
@.str2216 = 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"
|
|
@.str2217 = 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"
|
|
@.str2218 = 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"
|
|
@.str2219 = 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"
|
|
@.str2220 = private unnamed_addr constant [43 x i8] c"define i32 @fn_ct_streq(ptr %a, ptr %b) {\0A\00"
|
|
@.str2221 = 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"
|
|
@.str2222 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00"
|
|
@.str2223 = 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"
|
|
@.str2224 = 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"
|
|
@.str2225 = 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"
|
|
@.str2226 = 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"
|
|
@.str2227 = private unnamed_addr constant [78 x i8] c"@.ludic_urandom = private unnamed_addr constant [13 x i8] c\22/dev/urandom\5C00\22\0A\00"
|
|
@.str2228 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
|
|
@.str2229 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00"
|
|
@.str2230 = private unnamed_addr constant [50 x i8] c"define void @fn_secure_bytes(ptr %out, i64 %n) {\0A\00"
|
|
@.str2231 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00"
|
|
@.str2232 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00"
|
|
@.str2233 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00"
|
|
@.str2234 = private unnamed_addr constant [108 x i8] c"ok:\0A %rd = call i64 @fread(ptr %out, i64 1, i64 %n, ptr %fp)\0A %cl = call i32 @fclose(ptr %fp)\0A ret void\0A\00"
|
|
@.str2235 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00"
|
|
@.str2236 = private unnamed_addr constant [37 x i8] c"define ptr @fn_random_hex(i64 %n) {\0A\00"
|
|
@.str2237 = private unnamed_addr constant [89 x i8] c"entry:\0A %buf = call ptr @malloc(i64 %n)\0A call void @fn_secure_bytes(ptr %buf, i64 %n)\0A\00"
|
|
@.str2238 = private unnamed_addr constant [97 x i8] c" %hex = call ptr @fn_hex_encode(ptr %buf, i64 %n)\0A call void @free(ptr %buf)\0A ret ptr %hex\0A}\0A\00"
|
|
@.str2239 = private unnamed_addr constant [31 x i8] c"define i32 @fn_random_u32() {\0A\00"
|
|
@.str2240 = private unnamed_addr constant [129 x i8] c"entry:\0A %b = alloca [4 x i8]\0A %bp = getelementptr [4 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 4)\0A\00"
|
|
@.str2241 = private unnamed_addr constant [94 x i8] c" %p0 = getelementptr i8, ptr %bp, i64 0\0A %c0 = load i8, ptr %p0\0A %z0 = zext i8 %c0 to i32\0A\00"
|
|
@.str2242 = private unnamed_addr constant [117 x i8] c" %p1 = getelementptr i8, ptr %bp, i64 1\0A %c1 = load i8, ptr %p1\0A %z1 = zext i8 %c1 to i32\0A %s1 = shl i32 %z1, 8\0A\00"
|
|
@.str2243 = private unnamed_addr constant [118 x i8] c" %p2 = getelementptr i8, ptr %bp, i64 2\0A %c2 = load i8, ptr %p2\0A %z2 = zext i8 %c2 to i32\0A %s2 = shl i32 %z2, 16\0A\00"
|
|
@.str2244 = private unnamed_addr constant [118 x i8] c" %p3 = getelementptr i8, ptr %bp, i64 3\0A %c3 = load i8, ptr %p3\0A %z3 = zext i8 %c3 to i32\0A %s3 = shl i32 %z3, 24\0A\00"
|
|
@.str2245 = private unnamed_addr constant [89 x i8] c" %o1 = or i32 %z0, %s1\0A %o2 = or i32 %o1, %s2\0A %o3 = or i32 %o2, %s3\0A ret i32 %o3\0A}\0A\00"
|
|
@.str2246 = private unnamed_addr constant [33 x i8] c"define ptr @fn_base64(ptr %s) {\0A\00"
|
|
@.str2247 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str2248 = private unnamed_addr constant [74 x i8] c" %n2 = add i64 %n, 2\0A %grp = udiv i64 %n2, 3\0A %bufn = mul i64 %grp, 3\0A\00"
|
|
@.str2249 = private unnamed_addr constant [93 x i8] c" %olen = mul i64 %grp, 4\0A %olen1 = add i64 %olen, 1\0A %out = call ptr @malloc(i64 %olen1)\0A\00"
|
|
@.str2250 = private unnamed_addr constant [136 x i8] c" %inbuf = call ptr @malloc(i64 %bufn)\0A call ptr @memset(ptr %inbuf, i32 0, i64 %bufn)\0A call ptr @memcpy(ptr %inbuf, ptr %s, i64 %n)\0A\00"
|
|
@.str2251 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00"
|
|
@.str2252 = private unnamed_addr constant [101 x i8] c"cond:\0A %gi = load i64, ptr %gp\0A %lt = icmp ult i64 %gi, %grp\0A br i1 %lt, label %body, label %pad\0A\00"
|
|
@.str2253 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00"
|
|
@.str2254 = private unnamed_addr constant [103 x i8] c" %ip0 = getelementptr i8, ptr %inbuf, i64 %i3\0A %bv0 = load i8, ptr %ip0\0A %b0 = zext i8 %bv0 to i32\0A\00"
|
|
@.str2255 = private unnamed_addr constant [128 x i8] c" %i3a = add i64 %i3, 1\0A %ip1 = getelementptr i8, ptr %inbuf, i64 %i3a\0A %bv1 = load i8, ptr %ip1\0A %b1 = zext i8 %bv1 to i32\0A\00"
|
|
@.str2256 = private unnamed_addr constant [128 x i8] c" %i3b = add i64 %i3, 2\0A %ip2 = getelementptr i8, ptr %inbuf, i64 %i3b\0A %bv2 = load i8, ptr %ip2\0A %b2 = zext i8 %bv2 to i32\0A\00"
|
|
@.str2257 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00"
|
|
@.str2258 = private unnamed_addr constant [101 x i8] c" %b0l = and i32 %b0, 3\0A %b0s = shl i32 %b0l, 4\0A %b1h = lshr i32 %b1, 4\0A %e1 = or i32 %b0s, %b1h\0A\00"
|
|
@.str2259 = private unnamed_addr constant [102 x i8] c" %b1l = and i32 %b1, 15\0A %b1s = shl i32 %b1l, 2\0A %b2h = lshr i32 %b2, 6\0A %e2 = or i32 %b1s, %b2h\0A\00"
|
|
@.str2260 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00"
|
|
@.str2261 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00"
|
|
@.str2262 = private unnamed_addr constant [117 x i8] c" %e0z = zext i32 %e0 to i64\0A %e1z = zext i32 %e1 to i64\0A %e2z = zext i32 %e2 to i64\0A %e3z = zext i32 %e3 to i64\0A\00"
|
|
@.str2263 = private unnamed_addr constant [167 x i8] c" %g0 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e0z\0A %ch0 = load i8, ptr %g0\0A %op0 = getelementptr i8, ptr %out, i64 %o4\0A store i8 %ch0, ptr %op0\0A\00"
|
|
@.str2264 = private unnamed_addr constant [192 x i8] c" %o4a = add i64 %o4, 1\0A %g1 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e1z\0A %ch1 = load i8, ptr %g1\0A %op1 = getelementptr i8, ptr %out, i64 %o4a\0A store i8 %ch1, ptr %op1\0A\00"
|
|
@.str2265 = private unnamed_addr constant [192 x i8] c" %o4b = add i64 %o4, 2\0A %g2 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e2z\0A %ch2 = load i8, ptr %g2\0A %op2 = getelementptr i8, ptr %out, i64 %o4b\0A store i8 %ch2, ptr %op2\0A\00"
|
|
@.str2266 = private unnamed_addr constant [192 x i8] c" %o4c = add i64 %o4, 3\0A %g3 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e3z\0A %ch3 = load i8, ptr %g3\0A %op3 = getelementptr i8, ptr %out, i64 %o4c\0A store i8 %ch3, ptr %op3\0A\00"
|
|
@.str2267 = private unnamed_addr constant [68 x i8] c" %gin = add i64 %gi, 1\0A store i64 %gin, ptr %gp\0A br label %cond\0A\00"
|
|
@.str2268 = private unnamed_addr constant [86 x i8] c"pad:\0A %rem = urem i64 %n, 3\0A %r1 = icmp eq i64 %rem, 1\0A %r2 = icmp eq i64 %rem, 2\0A\00"
|
|
@.str2269 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00"
|
|
@.str2270 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00"
|
|
@.str2271 = private unnamed_addr constant [216 x i8] c"pad1:\0A %pm1 = sub i64 %olen, 1\0A %pp1 = getelementptr i8, ptr %out, i64 %pm1\0A store i8 61, ptr %pp1\0A %pm2 = sub i64 %olen, 2\0A %pp2 = getelementptr i8, ptr %out, i64 %pm2\0A store i8 61, ptr %pp2\0A br label %done\0A\00"
|
|
@.str2272 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00"
|
|
@.str2273 = private unnamed_addr constant [120 x i8] c"pad2:\0A %qm1 = sub i64 %olen, 1\0A %qp1 = getelementptr i8, ptr %out, i64 %qm1\0A store i8 61, ptr %qp1\0A br label %done\0A\00"
|
|
@.str2274 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00"
|
|
@.str2275 = private unnamed_addr constant [4 x i8] c"new\00"
|
|
@.str2276 = private unnamed_addr constant [3 x i8] c"v4\00"
|
|
@.str2277 = private unnamed_addr constant [7 x i8] c"new_v7\00"
|
|
@.str2278 = private unnamed_addr constant [3 x i8] c"v7\00"
|
|
@.str2279 = private unnamed_addr constant [6 x i8] c"parse\00"
|
|
@.str2280 = private unnamed_addr constant [9 x i8] c"is_valid\00"
|
|
@.str2281 = private unnamed_addr constant [8 x i8] c"to_text\00"
|
|
@.str2282 = private unnamed_addr constant [7 x i8] c"equals\00"
|
|
@.str2283 = private unnamed_addr constant [4 x i8] c"nil\00"
|
|
@.str2284 = private unnamed_addr constant [4 x i8] c"new\00"
|
|
@.str2285 = private unnamed_addr constant [3 x i8] c"v4\00"
|
|
@.str2286 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v4()\00"
|
|
@.str2287 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2288 = private unnamed_addr constant [7 x i8] c"new_v7\00"
|
|
@.str2289 = private unnamed_addr constant [3 x i8] c"v7\00"
|
|
@.str2290 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v7()\00"
|
|
@.str2291 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2292 = private unnamed_addr constant [4 x i8] c"nil\00"
|
|
@.str2293 = private unnamed_addr constant [24 x i8] c"call ptr @fn_uuid_nil()\00"
|
|
@.str2294 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2295 = private unnamed_addr constant [9 x i8] c"is_valid\00"
|
|
@.str2296 = private unnamed_addr constant [29 x i8] c"call i32 @fn_uuid_valid(ptr \00"
|
|
@.str2297 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2298 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2299 = private unnamed_addr constant [8 x i8] c"to_text\00"
|
|
@.str2300 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2301 = private unnamed_addr constant [7 x i8] c"equals\00"
|
|
@.str2302 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uuid_eq(ptr \00"
|
|
@.str2303 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2304 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2305 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2306 = private unnamed_addr constant [29 x i8] c"call ptr @fn_uuid_parse(ptr \00"
|
|
@.str2307 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2308 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2309 = private unnamed_addr constant [40 x i8] c"define ptr @fn_uuid_format(ptr %b16) {\0A\00"
|
|
@.str2310 = private unnamed_addr constant [93 x i8] c"entry:\0A %hex = call ptr @fn_hex_encode(ptr %b16, i64 16)\0A %out = call ptr @malloc(i64 37)\0A\00"
|
|
@.str2311 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00"
|
|
@.str2312 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00"
|
|
@.str2313 = private unnamed_addr constant [129 x i8] c" %h8 = getelementptr i8, ptr %hex, i64 8\0A %o9 = getelementptr i8, ptr %out, i64 9\0A call ptr @memcpy(ptr %o9, ptr %h8, i64 4)\0A\00"
|
|
@.str2314 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00"
|
|
@.str2315 = private unnamed_addr constant [135 x i8] c" %h12 = getelementptr i8, ptr %hex, i64 12\0A %o14 = getelementptr i8, ptr %out, i64 14\0A call ptr @memcpy(ptr %o14, ptr %h12, i64 4)\0A\00"
|
|
@.str2316 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00"
|
|
@.str2317 = private unnamed_addr constant [135 x i8] c" %h16 = getelementptr i8, ptr %hex, i64 16\0A %o19 = getelementptr i8, ptr %out, i64 19\0A call ptr @memcpy(ptr %o19, ptr %h16, i64 4)\0A\00"
|
|
@.str2318 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00"
|
|
@.str2319 = private unnamed_addr constant [136 x i8] c" %h20 = getelementptr i8, ptr %hex, i64 20\0A %o24 = getelementptr i8, ptr %out, i64 24\0A call ptr @memcpy(ptr %o24, ptr %h20, i64 12)\0A\00"
|
|
@.str2320 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00"
|
|
@.str2321 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00"
|
|
@.str2322 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v4() {\0A\00"
|
|
@.str2323 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 16)\0A\00"
|
|
@.str2324 = private unnamed_addr constant [140 x i8] c" %p6 = getelementptr i8, ptr %bp, i64 6\0A %v6 = load i8, ptr %p6\0A %v6a = and i8 %v6, 15\0A %v6b = or i8 %v6a, 64\0A store i8 %v6b, ptr %p6\0A\00"
|
|
@.str2325 = private unnamed_addr constant [142 x i8] c" %p8 = getelementptr i8, ptr %bp, i64 8\0A %v8 = load i8, ptr %p8\0A %v8a = and i8 %v8, 63\0A %v8b = or i8 %v8a, -128\0A store i8 %v8b, ptr %p8\0A\00"
|
|
@.str2326 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00"
|
|
@.str2327 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v7() {\0A\00"
|
|
@.str2328 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 16)\0A\00"
|
|
@.str2329 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00"
|
|
@.str2330 = private unnamed_addr constant [121 x i8] c" %s40 = lshr i64 %ms, 40\0A %t0 = trunc i64 %s40 to i8\0A %q0 = getelementptr i8, ptr %bp, i64 0\0A store i8 %t0, ptr %q0\0A\00"
|
|
@.str2331 = private unnamed_addr constant [121 x i8] c" %s32 = lshr i64 %ms, 32\0A %t1 = trunc i64 %s32 to i8\0A %q1 = getelementptr i8, ptr %bp, i64 1\0A store i8 %t1, ptr %q1\0A\00"
|
|
@.str2332 = private unnamed_addr constant [121 x i8] c" %s24 = lshr i64 %ms, 24\0A %t2 = trunc i64 %s24 to i8\0A %q2 = getelementptr i8, ptr %bp, i64 2\0A store i8 %t2, ptr %q2\0A\00"
|
|
@.str2333 = private unnamed_addr constant [121 x i8] c" %s16 = lshr i64 %ms, 16\0A %t3 = trunc i64 %s16 to i8\0A %q3 = getelementptr i8, ptr %bp, i64 3\0A store i8 %t3, ptr %q3\0A\00"
|
|
@.str2334 = private unnamed_addr constant [118 x i8] c" %s8 = lshr i64 %ms, 8\0A %t4 = trunc i64 %s8 to i8\0A %q4 = getelementptr i8, ptr %bp, i64 4\0A store i8 %t4, ptr %q4\0A\00"
|
|
@.str2335 = private unnamed_addr constant [94 x i8] c" %t5 = trunc i64 %ms to i8\0A %q5 = getelementptr i8, ptr %bp, i64 5\0A store i8 %t5, ptr %q5\0A\00"
|
|
@.str2336 = private unnamed_addr constant [141 x i8] c" %p6 = getelementptr i8, ptr %bp, i64 6\0A %v6 = load i8, ptr %p6\0A %v6a = and i8 %v6, 15\0A %v6b = or i8 %v6a, 112\0A store i8 %v6b, ptr %p6\0A\00"
|
|
@.str2337 = private unnamed_addr constant [142 x i8] c" %p8 = getelementptr i8, ptr %bp, i64 8\0A %v8 = load i8, ptr %p8\0A %v8a = and i8 %v8, 63\0A %v8b = or i8 %v8a, -128\0A store i8 %v8b, ptr %p8\0A\00"
|
|
@.str2338 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00"
|
|
@.str2339 = private unnamed_addr constant [29 x i8] c"define ptr @fn_uuid_nil() {\0A\00"
|
|
@.str2340 = private unnamed_addr constant [87 x i8] c"entry:\0A %out = call ptr @malloc(i64 37)\0A call ptr @memset(ptr %out, i32 48, i64 36)\0A\00"
|
|
@.str2341 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00"
|
|
@.str2342 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00"
|
|
@.str2343 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00"
|
|
@.str2344 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00"
|
|
@.str2345 = private unnamed_addr constant [85 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A ret ptr %out\0A}\0A\00"
|
|
@.str2346 = private unnamed_addr constant [37 x i8] c"define i32 @fn_uuid_valid(ptr %s) {\0A\00"
|
|
@.str2347 = private unnamed_addr constant [102 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A %ne = icmp eq i64 %n, 36\0A br i1 %ne, label %go, label %bad\0A\00"
|
|
@.str2348 = private unnamed_addr constant [64 x i8] c"go:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00"
|
|
@.str2349 = private unnamed_addr constant [98 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 36\0A br i1 %lt, label %body, label %good\0A\00"
|
|
@.str2350 = private unnamed_addr constant [70 x i8] c"body:\0A %p = getelementptr i8, ptr %s, i64 %i\0A %c = load i8, ptr %p\0A\00"
|
|
@.str2351 = private unnamed_addr constant [111 x i8] c" %h8 = icmp eq i64 %i, 8\0A %h13 = icmp eq i64 %i, 13\0A %h18 = icmp eq i64 %i, 18\0A %h23 = icmp eq i64 %i, 23\0A\00"
|
|
@.str2352 = private unnamed_addr constant [118 x i8] c" %hx = or i1 %h8, %h13\0A %hy = or i1 %hx, %h18\0A %hyph = or i1 %hy, %h23\0A br i1 %hyph, label %ckhyph, label %ckhex\0A\00"
|
|
@.str2353 = private unnamed_addr constant [74 x i8] c"ckhyph:\0A %ish = icmp eq i8 %c, 45\0A br i1 %ish, label %next, label %bad\0A\00"
|
|
@.str2354 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00"
|
|
@.str2355 = private unnamed_addr constant [86 x i8] c" %ge0 = icmp uge i8 %c, 48\0A %le9 = icmp ule i8 %c, 57\0A %isdig = and i1 %ge0, %le9\0A\00"
|
|
@.str2356 = private unnamed_addr constant [86 x i8] c" %gea = icmp uge i8 %c, 97\0A %lef = icmp ule i8 %c, 102\0A %islo = and i1 %gea, %lef\0A\00"
|
|
@.str2357 = private unnamed_addr constant [85 x i8] c" %geA = icmp uge i8 %c, 65\0A %leF = icmp ule i8 %c, 70\0A %ishi = and i1 %geA, %leF\0A\00"
|
|
@.str2358 = private unnamed_addr constant [99 x i8] c" %hx1 = or i1 %isdig, %islo\0A %ishex = or i1 %hx1, %ishi\0A br i1 %ishex, label %next, label %bad\0A\00"
|
|
@.str2359 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00"
|
|
@.str2360 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00"
|
|
@.str2361 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00"
|
|
@.str2362 = private unnamed_addr constant [42 x i8] c"define i32 @fn_uuid_eq(ptr %a, ptr %b) {\0A\00"
|
|
@.str2363 = private unnamed_addr constant [137 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %eq = icmp eq i64 %la, %lb\0A br i1 %eq, label %go, label %ne\0A\00"
|
|
@.str2364 = private unnamed_addr constant [64 x i8] c"go:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00"
|
|
@.str2365 = private unnamed_addr constant [100 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %la\0A br i1 %lt, label %body, label %eqret\0A\00"
|
|
@.str2366 = private unnamed_addr constant [139 x i8] c"body:\0A %pa = getelementptr i8, ptr %a, i64 %i\0A %ca = load i8, ptr %pa\0A %pb = getelementptr i8, ptr %b, i64 %i\0A %cb = load i8, ptr %pb\0A\00"
|
|
@.str2367 = private unnamed_addr constant [155 x i8] c" %caA = icmp uge i8 %ca, 65\0A %caZ = icmp ule i8 %ca, 90\0A %caup = and i1 %caA, %caZ\0A %ca32 = add i8 %ca, 32\0A %cal = select i1 %caup, i8 %ca32, i8 %ca\0A\00"
|
|
@.str2368 = private unnamed_addr constant [155 x i8] c" %cbA = icmp uge i8 %cb, 65\0A %cbZ = icmp ule i8 %cb, 90\0A %cbup = and i1 %cbA, %cbZ\0A %cb32 = add i8 %cb, 32\0A %cbl = select i1 %cbup, i8 %cb32, i8 %cb\0A\00"
|
|
@.str2369 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00"
|
|
@.str2370 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00"
|
|
@.str2371 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00"
|
|
@.str2372 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00"
|
|
@.str2373 = private unnamed_addr constant [37 x i8] c"define ptr @fn_uuid_parse(ptr %s) {\0A\00"
|
|
@.str2374 = private unnamed_addr constant [116 x i8] c"entry:\0A %ok = call i32 @fn_uuid_valid(ptr %s)\0A %isok = icmp ne i32 %ok, 0\0A br i1 %isok, label %dup, label %nilb\0A\00"
|
|
@.str2375 = private unnamed_addr constant [99 x i8] c"dup:\0A %out = call ptr @malloc(i64 37)\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00"
|
|
@.str2376 = private unnamed_addr constant [97 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 36\0A br i1 %lt, label %body, label %fin\0A\00"
|
|
@.str2377 = private unnamed_addr constant [70 x i8] c"body:\0A %p = getelementptr i8, ptr %s, i64 %i\0A %c = load i8, ptr %p\0A\00"
|
|
@.str2378 = private unnamed_addr constant [142 x i8] c" %cA = icmp uge i8 %c, 65\0A %cZ = icmp ule i8 %c, 90\0A %cup = and i1 %cA, %cZ\0A %c32 = add i8 %c, 32\0A %cl = select i1 %cup, i8 %c32, i8 %c\0A\00"
|
|
@.str2379 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00"
|
|
@.str2380 = private unnamed_addr constant [65 x i8] c" %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00"
|
|
@.str2381 = private unnamed_addr constant [88 x i8] c"fin:\0A %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A ret ptr %out\0A\00"
|
|
@.str2382 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @fn_uuid_nil()\0A ret ptr %nn\0A}\0A\00"
|
|
@.str2383 = private unnamed_addr constant [7 x i8] c"value2\00"
|
|
@.str2384 = private unnamed_addr constant [8 x i8] c"perlin2\00"
|
|
@.str2385 = private unnamed_addr constant [9 x i8] c"simplex2\00"
|
|
@.str2386 = private unnamed_addr constant [5 x i8] c"fbm2\00"
|
|
@.str2387 = private unnamed_addr constant [10 x i8] c"cellular2\00"
|
|
@.str2388 = private unnamed_addr constant [13 x i8] c"cellular2_id\00"
|
|
@.str2389 = private unnamed_addr constant [5 x i8] c"unit\00"
|
|
@.str2390 = private unnamed_addr constant [5 x i8] c"unit\00"
|
|
@.str2391 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str2392 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2393 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2394 = private unnamed_addr constant [8 x i8] c", 32768\00"
|
|
@.str2395 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2396 = private unnamed_addr constant [7 x i8] c"value2\00"
|
|
@.str2397 = private unnamed_addr constant [31 x i8] c"call i32 @fn_noise_value2(i32 \00"
|
|
@.str2398 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2399 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2400 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2401 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2402 = private unnamed_addr constant [8 x i8] c"perlin2\00"
|
|
@.str2403 = private unnamed_addr constant [32 x i8] c"call i32 @fn_noise_perlin2(i32 \00"
|
|
@.str2404 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2405 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2406 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2407 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2408 = private unnamed_addr constant [9 x i8] c"simplex2\00"
|
|
@.str2409 = private unnamed_addr constant [33 x i8] c"call i32 @fn_noise_simplex2(i32 \00"
|
|
@.str2410 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2411 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2412 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2413 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2414 = private unnamed_addr constant [5 x i8] c"fbm2\00"
|
|
@.str2415 = private unnamed_addr constant [29 x i8] c"call i32 @fn_noise_fbm2(i32 \00"
|
|
@.str2416 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2417 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2418 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2419 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2420 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2421 = private unnamed_addr constant [10 x i8] c"cellular2\00"
|
|
@.str2422 = private unnamed_addr constant [34 x i8] c"call i32 @fn_noise_cellular2(i32 \00"
|
|
@.str2423 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2424 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2425 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2426 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2427 = private unnamed_addr constant [37 x i8] c"call i32 @fn_noise_cellular2_id(i32 \00"
|
|
@.str2428 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2429 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2430 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2431 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2432 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_mul(i32 %a, i32 %b) {\0A\00"
|
|
@.str2433 = private unnamed_addr constant [148 x i8] c" %a64 = sext i32 %a to i64\0A %b64 = sext i32 %b to i64\0A %m = mul i64 %a64, %b64\0A %s = ashr i64 %m, 16\0A %r = trunc i64 %s to i32\0A ret i32 %r\0A}\0A\00"
|
|
@.str2434 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_div(i32 %a, i32 %b) {\0A\00"
|
|
@.str2435 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00"
|
|
@.str2436 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00"
|
|
@.str2437 = private unnamed_addr constant [156 x i8] c"go:\0A %a64 = sext i32 %a to i64\0A %ash = shl i64 %a64, 16\0A %b64 = sext i32 %b to i64\0A %d = sdiv i64 %ash, %b64\0A %r = trunc i64 %d to i32\0A ret i32 %r\0A}\0A\00"
|
|
@.str2438 = private unnamed_addr constant [51 x i8] c"define i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00"
|
|
@.str2439 = private unnamed_addr constant [106 x i8] c" %d = sub i32 %b, %a\0A %dt = call i32 @fn_nfx_mul(i32 %d, i32 %t)\0A %r = add i32 %a, %dt\0A ret i32 %r\0A}\0A\00"
|
|
@.str2440 = private unnamed_addr constant [38 x i8] c"define i32 @fn_noise_clamp(i32 %v) {\0A\00"
|
|
@.str2441 = private unnamed_addr constant [163 x i8] c" %hi = icmp sgt i32 %v, 65536\0A %v1 = select i1 %hi, i32 65536, i32 %v\0A %lo = icmp slt i32 %v1, -65536\0A %r = select i1 %lo, i32 -65536, i32 %v1\0A ret i32 %r\0A}\0A\00"
|
|
@.str2442 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00"
|
|
@.str2443 = private unnamed_addr constant [111 x i8] c" %a = mul i32 %xi, 374761393\0A %b = mul i32 %yi, -1028477387\0A %c = add i32 %seed, %a\0A %d0 = add i32 %c, %b\0A\00"
|
|
@.str2444 = private unnamed_addr constant [79 x i8] c" %e = lshr i32 %d0, 16\0A %f = xor i32 %d0, %e\0A %g = mul i32 %f, -2048144789\0A\00"
|
|
@.str2445 = private unnamed_addr constant [77 x i8] c" %h = lshr i32 %g, 13\0A %i = xor i32 %g, %h\0A %j = mul i32 %i, -1028477387\0A\00"
|
|
@.str2446 = private unnamed_addr constant [61 x i8] c" %k = lshr i32 %j, 16\0A %l = xor i32 %j, %k\0A ret i32 %l\0A}\0A\00"
|
|
@.str2447 = private unnamed_addr constant [37 x i8] c"define i32 @fn_noise_fade(i32 %t) {\0A\00"
|
|
@.str2448 = private unnamed_addr constant [92 x i8] c" %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t3 = call i32 @fn_nfx_mul(i32 %t2, i32 %t)\0A\00"
|
|
@.str2449 = private unnamed_addr constant [93 x i8] c" %t4 = call i32 @fn_nfx_mul(i32 %t3, i32 %t)\0A %t5 = call i32 @fn_nfx_mul(i32 %t4, i32 %t)\0A\00"
|
|
@.str2450 = private unnamed_addr constant [74 x i8] c" %c6 = mul i32 %t5, 6\0A %c15 = mul i32 %t4, 15\0A %c10 = mul i32 %t3, 10\0A\00"
|
|
@.str2451 = private unnamed_addr constant [67 x i8] c" %s1 = sub i32 %c6, %c15\0A %r = add i32 %s1, %c10\0A ret i32 %r\0A}\0A\00"
|
|
@.str2452 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00"
|
|
@.str2453 = private unnamed_addr constant [101 x i8] c" %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A %xf = and i32 %x, 65535\0A %yf = and i32 %y, 65535\0A\00"
|
|
@.str2454 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00"
|
|
@.str2455 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00"
|
|
@.str2456 = private unnamed_addr constant [122 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %m00 = and i32 %h00, 131071\0A %n00 = sub i32 %m00, 65536\0A\00"
|
|
@.str2457 = private unnamed_addr constant [123 x i8] c" %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A %m10 = and i32 %h10, 131071\0A %n10 = sub i32 %m10, 65536\0A\00"
|
|
@.str2458 = private unnamed_addr constant [123 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %m01 = and i32 %h01, 131071\0A %n01 = sub i32 %m01, 65536\0A\00"
|
|
@.str2459 = private unnamed_addr constant [124 x i8] c" %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A %m11 = and i32 %h11, 131071\0A %n11 = sub i32 %m11, 65536\0A\00"
|
|
@.str2460 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\0A\00"
|
|
@.str2461 = private unnamed_addr constant [109 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %r = call i32 @fn_noise_clamp(i32 %n)\0A ret i32 %r\0A}\0A\00"
|
|
@.str2462 = private unnamed_addr constant [224 x i8] c"@noise_grad2 = private unnamed_addr constant [16 x i32] [i32 65536, i32 0, i32 -65536, i32 0, i32 0, i32 65536, i32 0, i32 -65536, i32 46341, i32 46341, i32 -46341, i32 46341, i32 46341, i32 -46341, i32 -46341, i32 -46341]\0A\00"
|
|
@.str2463 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00"
|
|
@.str2464 = private unnamed_addr constant [80 x i8] c" %h = and i32 %hash, 7\0A %idx = shl i32 %h, 1\0A %idx64 = sext i32 %idx to i64\0A\00"
|
|
@.str2465 = private unnamed_addr constant [99 x i8] c" %gxp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idx64\0A %gx = load i32, ptr %gxp\0A\00"
|
|
@.str2466 = private unnamed_addr constant [156 x i8] c" %idy = add i32 %idx, 1\0A %idy64 = sext i32 %idy to i64\0A %gyp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idy64\0A %gy = load i32, ptr %gyp\0A\00"
|
|
@.str2467 = private unnamed_addr constant [134 x i8] c" %px = call i32 @fn_nfx_mul(i32 %gx, i32 %dx)\0A %py = call i32 @fn_nfx_mul(i32 %gy, i32 %dy)\0A %r = add i32 %px, %py\0A ret i32 %r\0A}\0A\00"
|
|
@.str2468 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00"
|
|
@.str2469 = private unnamed_addr constant [101 x i8] c" %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A %xf = and i32 %x, 65535\0A %yf = and i32 %y, 65535\0A\00"
|
|
@.str2470 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00"
|
|
@.str2471 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00"
|
|
@.str2472 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00"
|
|
@.str2473 = private unnamed_addr constant [126 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A\00"
|
|
@.str2474 = private unnamed_addr constant [128 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A\00"
|
|
@.str2475 = private unnamed_addr constant [126 x i8] c" %g00 = call i32 @fn_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\0A %g10 = call i32 @fn_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\0A\00"
|
|
@.str2476 = private unnamed_addr constant [128 x i8] c" %g01 = call i32 @fn_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\0A %g11 = call i32 @fn_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\0A\00"
|
|
@.str2477 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\0A\00"
|
|
@.str2478 = private unnamed_addr constant [158 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %sc = call i32 @fn_nfx_mul(i32 %n, i32 92682)\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00"
|
|
@.str2479 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00"
|
|
@.str2480 = private unnamed_addr constant [95 x i8] c" %xx = call i32 @fn_nfx_mul(i32 %dx, i32 %dx)\0A %yy = call i32 @fn_nfx_mul(i32 %dy, i32 %dy)\0A\00"
|
|
@.str2481 = private unnamed_addr constant [117 x i8] c" %s0 = sub i32 32768, %xx\0A %t = sub i32 %s0, %yy\0A %neg = icmp sle i32 %t, 0\0A br i1 %neg, label %zero, label %go\0A\00"
|
|
@.str2482 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00"
|
|
@.str2483 = private unnamed_addr constant [97 x i8] c"go:\0A %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t4 = call i32 @fn_nfx_mul(i32 %t2, i32 %t2)\0A\00"
|
|
@.str2484 = private unnamed_addr constant [122 x i8] c" %g = call i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\0A %r = call i32 @fn_nfx_mul(i32 %t4, i32 %g)\0A ret i32 %r\0A}\0A\00"
|
|
@.str2485 = private unnamed_addr constant [60 x i8] c"define i32 @fn_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00"
|
|
@.str2486 = private unnamed_addr constant [79 x i8] c" %sum0 = add i32 %x, %y\0A %skew = call i32 @fn_nfx_mul(i32 %sum0, i32 23994)\0A\00"
|
|
@.str2487 = private unnamed_addr constant [101 x i8] c" %xs = add i32 %x, %skew\0A %ys = add i32 %y, %skew\0A %i = ashr i32 %xs, 16\0A %j = ashr i32 %ys, 16\0A\00"
|
|
@.str2488 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00"
|
|
@.str2489 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00"
|
|
@.str2490 = private unnamed_addr constant [101 x i8] c" %X0 = sub i32 %if0, %tt\0A %Y0 = sub i32 %jf0, %tt\0A %x0 = sub i32 %x, %X0\0A %y0 = sub i32 %y, %Y0\0A\00"
|
|
@.str2491 = private unnamed_addr constant [103 x i8] c" %gt = icmp sgt i32 %x0, %y0\0A %i1 = select i1 %gt, i32 1, i32 0\0A %j1 = select i1 %gt, i32 0, i32 1\0A\00"
|
|
@.str2492 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00"
|
|
@.str2493 = private unnamed_addr constant [111 x i8] c" %x1a = sub i32 %x0, %i1f\0A %x1 = add i32 %x1a, 13849\0A %y1a = sub i32 %y0, %j1f\0A %y1 = add i32 %y1a, 13849\0A\00"
|
|
@.str2494 = private unnamed_addr constant [113 x i8] c" %x2a = sub i32 %x0, 65536\0A %x2 = add i32 %x2a, 27698\0A %y2a = sub i32 %y0, 65536\0A %y2 = add i32 %y2a, 27698\0A\00"
|
|
@.str2495 = private unnamed_addr constant [95 x i8] c" %i1p = add i32 %i, %i1\0A %j1p = add i32 %j, %j1\0A %i2 = add i32 %i, 1\0A %j2 = add i32 %j, 1\0A\00"
|
|
@.str2496 = private unnamed_addr constant [187 x i8] c" %gi0 = call i32 @fn_noise_hash(i32 %seed, i32 %i, i32 %j)\0A %gi1 = call i32 @fn_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\0A %gi2 = call i32 @fn_noise_hash(i32 %seed, i32 %i2, i32 %j2)\0A\00"
|
|
@.str2497 = private unnamed_addr constant [190 x i8] c" %n0 = call i32 @fn_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\0A %n1 = call i32 @fn_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\0A %n2 = call i32 @fn_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\0A\00"
|
|
@.str2498 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00"
|
|
@.str2499 = private unnamed_addr constant [81 x i8] c" %sc = mul i32 %sb, 45\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00"
|
|
@.str2500 = private unnamed_addr constant [66 x i8] c"define i32 @fn_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00"
|
|
@.str2501 = private unnamed_addr constant [113 x i8] c"entry:\0A %sump = alloca i32\0A %normp = alloca i32\0A %ampp = alloca i32\0A %freqp = alloca i32\0A %op = alloca i32\0A\00"
|
|
@.str2502 = private unnamed_addr constant [151 x i8] c" store i32 0, ptr %sump\0A store i32 0, ptr %normp\0A store i32 65536, ptr %ampp\0A store i32 65536, ptr %freqp\0A store i32 0, ptr %op\0A br label %cond\0A\00"
|
|
@.str2503 = private unnamed_addr constant [100 x i8] c"cond:\0A %o = load i32, ptr %op\0A %lt = icmp slt i32 %o, %oct\0A br i1 %lt, label %body, label %done\0A\00"
|
|
@.str2504 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00"
|
|
@.str2505 = private unnamed_addr constant [97 x i8] c" %fx = call i32 @fn_nfx_mul(i32 %x, i32 %freq)\0A %fy = call i32 @fn_nfx_mul(i32 %y, i32 %freq)\0A\00"
|
|
@.str2506 = private unnamed_addr constant [89 x i8] c" %so = add i32 %seed, %o\0A %n = call i32 @fn_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\0A\00"
|
|
@.str2507 = private unnamed_addr constant [134 x i8] c" %na = call i32 @fn_nfx_mul(i32 %n, i32 %amp)\0A %sum = load i32, ptr %sump\0A %sum2 = add i32 %sum, %na\0A store i32 %sum2, ptr %sump\0A\00"
|
|
@.str2508 = private unnamed_addr constant [94 x i8] c" %norm = load i32, ptr %normp\0A %norm2 = add i32 %norm, %amp\0A store i32 %norm2, ptr %normp\0A\00"
|
|
@.str2509 = private unnamed_addr constant [82 x i8] c" %amp2 = call i32 @fn_nfx_mul(i32 %amp, i32 32768)\0A store i32 %amp2, ptr %ampp\0A\00"
|
|
@.str2510 = private unnamed_addr constant [87 x i8] c" %freq2 = call i32 @fn_nfx_mul(i32 %freq, i32 131072)\0A store i32 %freq2, ptr %freqp\0A\00"
|
|
@.str2511 = private unnamed_addr constant [65 x i8] c" %o1 = add i32 %o, 1\0A store i32 %o1, ptr %op\0A br label %cond\0A\00"
|
|
@.str2512 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00"
|
|
@.str2513 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00"
|
|
@.str2514 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00"
|
|
@.str2515 = private unnamed_addr constant [112 x i8] c"div:\0A %d = call i32 @fn_nfx_div(i32 %fsum, i32 %fnorm)\0A %r = call i32 @fn_noise_clamp(i32 %d)\0A ret i32 %r\0A}\0A\00"
|
|
@.str2516 = private unnamed_addr constant [86 x i8] c"define void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\0A\00"
|
|
@.str2517 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00"
|
|
@.str2518 = private unnamed_addr constant [83 x i8] c" %bestp = alloca i32\0A %idp = alloca i32\0A %dyp = alloca i32\0A %dxp = alloca i32\0A\00"
|
|
@.str2519 = private unnamed_addr constant [100 x i8] c" store i32 2147483647, ptr %bestp\0A store i32 0, ptr %idp\0A store i32 -1, ptr %dyp\0A br label %yc\0A\00"
|
|
@.str2520 = private unnamed_addr constant [99 x i8] c"yc:\0A %oy = load i32, ptr %dyp\0A %yok = icmp sle i32 %oy, 1\0A br i1 %yok, label %yb, label %ydone\0A\00"
|
|
@.str2521 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00"
|
|
@.str2522 = private unnamed_addr constant [99 x i8] c"xc:\0A %ox = load i32, ptr %dxp\0A %xok = icmp sle i32 %ox, 1\0A br i1 %xok, label %xb, label %xdone\0A\00"
|
|
@.str2523 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00"
|
|
@.str2524 = private unnamed_addr constant [61 x i8] c" %h = call i32 @fn_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00"
|
|
@.str2525 = private unnamed_addr constant [80 x i8] c" %fxr = and i32 %h, 65535\0A %hs = lshr i32 %h, 16\0A %fyr = and i32 %hs, 65535\0A\00"
|
|
@.str2526 = private unnamed_addr constant [107 x i8] c" %cxf = shl i32 %cx, 16\0A %cyf = shl i32 %cy, 16\0A %pxr = add i32 %cxf, %fxr\0A %pyr = add i32 %cyf, %fyr\0A\00"
|
|
@.str2527 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00"
|
|
@.str2528 = private unnamed_addr constant [128 x i8] c" %dxx = call i32 @fn_nfx_mul(i32 %ddx, i32 %ddx)\0A %dyy = call i32 @fn_nfx_mul(i32 %ddy, i32 %ddy)\0A %d2 = add i32 %dxx, %dyy\0A\00"
|
|
@.str2529 = private unnamed_addr constant [105 x i8] c" %best = load i32, ptr %bestp\0A %less = icmp slt i32 %d2, %best\0A br i1 %less, label %upd, label %skip\0A\00"
|
|
@.str2530 = private unnamed_addr constant [76 x i8] c"upd:\0A store i32 %d2, ptr %bestp\0A store i32 %h, ptr %idp\0A br label %skip\0A\00"
|
|
@.str2531 = private unnamed_addr constant [73 x i8] c"skip:\0A %ox1 = add i32 %ox, 1\0A store i32 %ox1, ptr %dxp\0A br label %xc\0A\00"
|
|
@.str2532 = private unnamed_addr constant [74 x i8] c"xdone:\0A %oy1 = add i32 %oy, 1\0A store i32 %oy1, ptr %dyp\0A br label %yc\0A\00"
|
|
@.str2533 = private unnamed_addr constant [133 x i8] c"ydone:\0A %fb = load i32, ptr %bestp\0A store i32 %fb, ptr %d2out\0A %fi = load i32, ptr %idp\0A store i32 %fi, ptr %idout\0A ret void\0A}\0A\00"
|
|
@.str2534 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00"
|
|
@.str2535 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00"
|
|
@.str2536 = private unnamed_addr constant [77 x i8] c" %v = load i32, ptr %d2\0A %r = call i32 @fn_fx_sqrt(i32 %v)\0A ret i32 %r\0A}\0A\00"
|
|
@.str2537 = private unnamed_addr constant [64 x i8] c"define i32 @fn_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00"
|
|
@.str2538 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00"
|
|
@.str2539 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00"
|
|
@.str2540 = private unnamed_addr constant [6 x i8] c"trace\00"
|
|
@.str2541 = private unnamed_addr constant [6 x i8] c"debug\00"
|
|
@.str2542 = private unnamed_addr constant [5 x i8] c"info\00"
|
|
@.str2543 = private unnamed_addr constant [5 x i8] c"warn\00"
|
|
@.str2544 = private unnamed_addr constant [6 x i8] c"error\00"
|
|
@.str2545 = private unnamed_addr constant [10 x i8] c"set_level\00"
|
|
@.str2546 = private unnamed_addr constant [6 x i8] c"level\00"
|
|
@.str2547 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str2548 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str2549 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00"
|
|
@.str2550 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2551 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
|
|
@.str2552 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2553 = private unnamed_addr constant [10 x i8] c"set_level\00"
|
|
@.str2554 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str2555 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00"
|
|
@.str2556 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2557 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2558 = private unnamed_addr constant [6 x i8] c"level\00"
|
|
@.str2559 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00"
|
|
@.str2560 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2561 = private unnamed_addr constant [2 x i8] c"2\00"
|
|
@.str2562 = private unnamed_addr constant [8 x i8] c"[INFO] \00"
|
|
@.str2563 = private unnamed_addr constant [6 x i8] c"trace\00"
|
|
@.str2564 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2565 = private unnamed_addr constant [9 x i8] c"[TRACE] \00"
|
|
@.str2566 = private unnamed_addr constant [6 x i8] c"debug\00"
|
|
@.str2567 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str2568 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00"
|
|
@.str2569 = private unnamed_addr constant [5 x i8] c"warn\00"
|
|
@.str2570 = private unnamed_addr constant [2 x i8] c"3\00"
|
|
@.str2571 = private unnamed_addr constant [8 x i8] c"[WARN] \00"
|
|
@.str2572 = private unnamed_addr constant [6 x i8] c"error\00"
|
|
@.str2573 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str2574 = private unnamed_addr constant [9 x i8] c"[ERROR] \00"
|
|
@.str2575 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2576 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str2577 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2578 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str2579 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2580 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2581 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str2582 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2583 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str2584 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str2585 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2586 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str2587 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2588 = private unnamed_addr constant [30 x i8] c" call void @fn_log_emit(i32 \00"
|
|
@.str2589 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2590 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str2591 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2592 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2593 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00"
|
|
@.str2594 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00"
|
|
@.str2595 = private unnamed_addr constant [46 x i8] c"define void @fn_log_emit(i32 %lvl, ptr %s) {\0A\00"
|
|
@.str2596 = private unnamed_addr constant [114 x i8] c"entry:\0A %th = load i32, ptr @L_log_level\0A %skip = icmp slt i32 %lvl, %th\0A br i1 %skip, label %done, label %go\0A\00"
|
|
@.str2597 = private unnamed_addr constant [69 x i8] c"go:\0A %e = load ptr, ptr @__stderrp\0A %n = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str2598 = private unnamed_addr constant [134 x i8] c" %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %e)\0A %w2 = call i64 @fwrite(ptr @.log_nl, i64 1, i64 1, ptr %e)\0A br label %done\0A\00"
|
|
@.str2599 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00"
|
|
@.str2600 = private unnamed_addr constant [5 x i8] c"args\00"
|
|
@.str2601 = private unnamed_addr constant [10 x i8] c"arg_count\00"
|
|
@.str2602 = private unnamed_addr constant [4 x i8] c"arg\00"
|
|
@.str2603 = private unnamed_addr constant [4 x i8] c"env\00"
|
|
@.str2604 = private unnamed_addr constant [7 x i8] c"env_or\00"
|
|
@.str2605 = private unnamed_addr constant [8 x i8] c"has_env\00"
|
|
@.str2606 = private unnamed_addr constant [8 x i8] c"set_env\00"
|
|
@.str2607 = private unnamed_addr constant [10 x i8] c"unset_env\00"
|
|
@.str2608 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str2609 = private unnamed_addr constant [9 x i8] c"platform\00"
|
|
@.str2610 = private unnamed_addr constant [5 x i8] c"arch\00"
|
|
@.str2611 = private unnamed_addr constant [13 x i8] c"stdout_write\00"
|
|
@.str2612 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
|
|
@.str2613 = private unnamed_addr constant [9 x i8] c"save_dir\00"
|
|
@.str2614 = private unnamed_addr constant [11 x i8] c"config_dir\00"
|
|
@.str2615 = private unnamed_addr constant [10 x i8] c"cache_dir\00"
|
|
@.str2616 = private unnamed_addr constant [9 x i8] c"temp_dir\00"
|
|
@.str2617 = private unnamed_addr constant [10 x i8] c"arg_count\00"
|
|
@.str2618 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
|
|
@.str2619 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2620 = private unnamed_addr constant [4 x i8] c"arg\00"
|
|
@.str2621 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
|
|
@.str2622 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
|
|
@.str2623 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2624 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str2625 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2626 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str2627 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
|
|
@.str2628 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str2629 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00"
|
|
@.str2630 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2631 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2632 = private unnamed_addr constant [4 x i8] c"env\00"
|
|
@.str2633 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
|
|
@.str2634 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2635 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2636 = private unnamed_addr constant [8 x i8] c"has_env\00"
|
|
@.str2637 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
|
|
@.str2638 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2639 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
|
|
@.str2640 = private unnamed_addr constant [7 x i8] c", null\00"
|
|
@.str2641 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str2642 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str2643 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2644 = private unnamed_addr constant [13 x i8] c"stdout_write\00"
|
|
@.str2645 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
|
|
@.str2646 = private unnamed_addr constant [11 x i8] c"@__stdoutp\00"
|
|
@.str2647 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
|
|
@.str2648 = private unnamed_addr constant [11 x i8] c"@__stderrp\00"
|
|
@.str2649 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str2650 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str2651 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2652 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00"
|
|
@.str2653 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
|
|
@.str2654 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2655 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str2656 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2657 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2658 = private unnamed_addr constant [5 x i8] c"args\00"
|
|
@.str2659 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_args()\00"
|
|
@.str2660 = private unnamed_addr constant [9 x i8] c"[]string\00"
|
|
@.str2661 = private unnamed_addr constant [7 x i8] c"env_or\00"
|
|
@.str2662 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_getenv_or(ptr \00"
|
|
@.str2663 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2664 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2665 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2666 = private unnamed_addr constant [8 x i8] c"set_env\00"
|
|
@.str2667 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00"
|
|
@.str2668 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2669 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
|
|
@.str2670 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str2671 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str2672 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str2673 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str2674 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2675 = private unnamed_addr constant [10 x i8] c"unset_env\00"
|
|
@.str2676 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00"
|
|
@.str2677 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2678 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str2679 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str2680 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str2681 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str2682 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2683 = private unnamed_addr constant [9 x i8] c"platform\00"
|
|
@.str2684 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_platform()\00"
|
|
@.str2685 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2686 = private unnamed_addr constant [5 x i8] c"arch\00"
|
|
@.str2687 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_arch()\00"
|
|
@.str2688 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2689 = private unnamed_addr constant [9 x i8] c"save_dir\00"
|
|
@.str2690 = private unnamed_addr constant [30 x i8] c"call ptr @fn_os_save_dir(ptr \00"
|
|
@.str2691 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2692 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2693 = private unnamed_addr constant [11 x i8] c"config_dir\00"
|
|
@.str2694 = private unnamed_addr constant [32 x i8] c"call ptr @fn_os_config_dir(ptr \00"
|
|
@.str2695 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2696 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2697 = private unnamed_addr constant [10 x i8] c"cache_dir\00"
|
|
@.str2698 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_cache_dir(ptr \00"
|
|
@.str2699 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2700 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2701 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_temp_dir()\00"
|
|
@.str2702 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2703 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00"
|
|
@.str2704 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00"
|
|
@.str2705 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00"
|
|
@.str2706 = private unnamed_addr constant [5 x i8] c"HOME\00"
|
|
@.str2707 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str2708 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00"
|
|
@.str2709 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00"
|
|
@.str2710 = private unnamed_addr constant [7 x i8] c"TMPDIR\00"
|
|
@.str2711 = private unnamed_addr constant [5 x i8] c"/tmp\00"
|
|
@.str2712 = private unnamed_addr constant [7 x i8] c"Darwin\00"
|
|
@.str2713 = private unnamed_addr constant [6 x i8] c"macos\00"
|
|
@.str2714 = private unnamed_addr constant [6 x i8] c"Linux\00"
|
|
@.str2715 = private unnamed_addr constant [6 x i8] c"linux\00"
|
|
@.str2716 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_getenv_or(ptr %name, ptr %fb) {\0A\00"
|
|
@.str2717 = private unnamed_addr constant [106 x i8] c"entry:\0A %r = call ptr @getenv(ptr %name)\0A %z = icmp eq ptr %r, null\0A br i1 %z, label %use, label %got\0A\00"
|
|
@.str2718 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00"
|
|
@.str2719 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00"
|
|
@.str2720 = private unnamed_addr constant [43 x i8] c"define ptr @fn_os_join2(ptr %a, ptr %b) {\0A\00"
|
|
@.str2721 = private unnamed_addr constant [74 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A\00"
|
|
@.str2722 = private unnamed_addr constant [86 x i8] c" %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00"
|
|
@.str2723 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00"
|
|
@.str2724 = private unnamed_addr constant [88 x i8] c" %m2 = getelementptr i8, ptr %m, i64 %la\0A call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\0A\00"
|
|
@.str2725 = private unnamed_addr constant [83 x i8] c" %end = getelementptr i8, ptr %m, i64 %sum\0A store i8 0, ptr %end\0A ret ptr %m\0A}\0A\00"
|
|
@.str2726 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00"
|
|
@.str2727 = private unnamed_addr constant [115 x i8] c"entry:\0A %ab = call ptr @fn_os_join2(ptr %a, ptr %b)\0A %r = call ptr @fn_os_join2(ptr %ab, ptr %c)\0A ret ptr %r\0A}\0A\00"
|
|
@.str2728 = private unnamed_addr constant [65 x i8] c"define ptr @fn_os_home() {\0A %r = call ptr @fn_os_getenv_or(ptr \00"
|
|
@.str2729 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2730 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00"
|
|
@.str2731 = private unnamed_addr constant [111 x i8] c"define ptr @fn_os_save_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
|
|
@.str2732 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
|
|
@.str2733 = private unnamed_addr constant [113 x i8] c"define ptr @fn_os_config_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
|
|
@.str2734 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
|
|
@.str2735 = private unnamed_addr constant [112 x i8] c"define ptr @fn_os_cache_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
|
|
@.str2736 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
|
|
@.str2737 = private unnamed_addr constant [69 x i8] c"define ptr @fn_os_temp_dir() {\0A %r = call ptr @fn_os_getenv_or(ptr \00"
|
|
@.str2738 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2739 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00"
|
|
@.str2740 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_args() {\0A\00"
|
|
@.str2741 = private unnamed_addr constant [66 x i8] c"entry:\0A %c = load i32, ptr @L_argc\0A %v = load ptr, ptr @L_argv\0A\00"
|
|
@.str2742 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00"
|
|
@.str2743 = private unnamed_addr constant [86 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %v, ptr %d0\0A\00"
|
|
@.str2744 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %c, ptr %d1\0A\00"
|
|
@.str2745 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %c, ptr %d2\0A\00"
|
|
@.str2746 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00"
|
|
@.str2747 = private unnamed_addr constant [32 x i8] c"define ptr @fn_os_platform() {\0A\00"
|
|
@.str2748 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00"
|
|
@.str2749 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00"
|
|
@.str2750 = private unnamed_addr constant [76 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A br i1 %isd, label %mac, label %chkl\0A\00"
|
|
@.str2751 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00"
|
|
@.str2752 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2753 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00"
|
|
@.str2754 = private unnamed_addr constant [77 x i8] c", i64 5)\0A %isl = icmp eq i32 %cl, 0\0A br i1 %isl, label %lin, label %other\0A\00"
|
|
@.str2755 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00"
|
|
@.str2756 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2757 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00"
|
|
@.str2758 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_arch() {\0A\00"
|
|
@.str2759 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00"
|
|
@.str2760 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00"
|
|
@.str2761 = private unnamed_addr constant [4 x i8] c"len\00"
|
|
@.str2762 = private unnamed_addr constant [9 x i8] c"byte_len\00"
|
|
@.str2763 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00"
|
|
@.str2764 = private unnamed_addr constant [8 x i8] c"char_at\00"
|
|
@.str2765 = private unnamed_addr constant [6 x i8] c"chars\00"
|
|
@.str2766 = private unnamed_addr constant [6 x i8] c"upper\00"
|
|
@.str2767 = private unnamed_addr constant [6 x i8] c"lower\00"
|
|
@.str2768 = private unnamed_addr constant [9 x i8] c"truncate\00"
|
|
@.str2769 = private unnamed_addr constant [13 x i8] c"grapheme_len\00"
|
|
@.str2770 = private unnamed_addr constant [9 x i8] c"byte_len\00"
|
|
@.str2771 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str2772 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2773 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str2774 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str2775 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2776 = private unnamed_addr constant [4 x i8] c"len\00"
|
|
@.str2777 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uni_len(ptr \00"
|
|
@.str2778 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2779 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2780 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00"
|
|
@.str2781 = private unnamed_addr constant [28 x i8] c"call i32 @fn_uni_valid(ptr \00"
|
|
@.str2782 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2783 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2784 = private unnamed_addr constant [8 x i8] c"char_at\00"
|
|
@.str2785 = private unnamed_addr constant [30 x i8] c"call i32 @fn_uni_char_at(ptr \00"
|
|
@.str2786 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2787 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2788 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2789 = private unnamed_addr constant [6 x i8] c"chars\00"
|
|
@.str2790 = private unnamed_addr constant [28 x i8] c"call ptr @fn_uni_chars(ptr \00"
|
|
@.str2791 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2792 = private unnamed_addr constant [6 x i8] c"[]int\00"
|
|
@.str2793 = private unnamed_addr constant [6 x i8] c"upper\00"
|
|
@.str2794 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00"
|
|
@.str2795 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
|
|
@.str2796 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2797 = private unnamed_addr constant [6 x i8] c"lower\00"
|
|
@.str2798 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00"
|
|
@.str2799 = private unnamed_addr constant [9 x i8] c", i32 0)\00"
|
|
@.str2800 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2801 = private unnamed_addr constant [9 x i8] c"truncate\00"
|
|
@.str2802 = private unnamed_addr constant [31 x i8] c"call ptr @fn_uni_truncate(ptr \00"
|
|
@.str2803 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2804 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2805 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str2806 = private unnamed_addr constant [35 x i8] c"call i32 @fn_uni_grapheme_len(ptr \00"
|
|
@.str2807 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2808 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2809 = private unnamed_addr constant [34 x i8] c"define i32 @fn_uni_len(ptr %s) {\0A\00"
|
|
@.str2810 = private unnamed_addr constant [107 x i8] c"entry:\0A %ip = alloca i32\0A %np = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %np\0A br label %lp\0A\00"
|
|
@.str2811 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00"
|
|
@.str2812 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
|
|
@.str2813 = private unnamed_addr constant [99 x i8] c"go:\0A %m = and i32 %c, 192\0A %cont = icmp eq i32 %m, 128\0A br i1 %cont, label %skip, label %count\0A\00"
|
|
@.str2814 = private unnamed_addr constant [97 x i8] c"count:\0A %n = load i32, ptr %np\0A %n1 = add i32 %n, 1\0A store i32 %n1, ptr %np\0A br label %skip\0A\00"
|
|
@.str2815 = private unnamed_addr constant [69 x i8] c"skip:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2816 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00"
|
|
@.str2817 = private unnamed_addr constant [57 x i8] c"define i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00"
|
|
@.str2818 = private unnamed_addr constant [101 x i8] c"entry:\0A %p0 = getelementptr i8, ptr %s, i32 %i\0A %b0 = load i8, ptr %p0\0A %c0 = zext i8 %b0 to i32\0A\00"
|
|
@.str2819 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00"
|
|
@.str2820 = private unnamed_addr constant [70 x i8] c"one:\0A store i32 %c0, ptr %cpout\0A %oi = add i32 %i, 1\0A ret i32 %oi\0A\00"
|
|
@.str2821 = private unnamed_addr constant [99 x i8] c"multi:\0A %h2 = and i32 %c0, 224\0A %is2 = icmp eq i32 %h2, 192\0A br i1 %is2, label %two, label %c3\0A\00"
|
|
@.str2822 = private unnamed_addr constant [98 x i8] c"c3:\0A %h3 = and i32 %c0, 240\0A %is3 = icmp eq i32 %h3, 224\0A br i1 %is3, label %three, label %c4\0A\00"
|
|
@.str2823 = private unnamed_addr constant [98 x i8] c"c4:\0A %h4 = and i32 %c0, 248\0A %is4 = icmp eq i32 %h4, 240\0A br i1 %is4, label %four, label %bad\0A\00"
|
|
@.str2824 = private unnamed_addr constant [70 x i8] c"bad:\0A store i32 %c0, ptr %cpout\0A %bi = add i32 %i, 1\0A ret i32 %bi\0A\00"
|
|
@.str2825 = private unnamed_addr constant [128 x i8] c"two:\0A %t1i = add i32 %i, 1\0A %t1p = getelementptr i8, ptr %s, i32 %t1i\0A %t1b = load i8, ptr %t1p\0A %t1 = zext i8 %t1b to i32\0A\00"
|
|
@.str2826 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00"
|
|
@.str2827 = private unnamed_addr constant [73 x i8] c"tbad:\0A store i32 %c0, ptr %cpout\0A %tbi = add i32 %i, 1\0A ret i32 %tbi\0A\00"
|
|
@.str2828 = private unnamed_addr constant [169 x i8] c"tok:\0A %tm = and i32 %c0, 31\0A %tsh = shl i32 %tm, 6\0A %tl = and i32 %t1, 63\0A %tcp = or i32 %tsh, %tl\0A store i32 %tcp, ptr %cpout\0A %ti = add i32 %i, 2\0A ret i32 %ti\0A\00"
|
|
@.str2829 = private unnamed_addr constant [130 x i8] c"three:\0A %r1i = add i32 %i, 1\0A %r1p = getelementptr i8, ptr %s, i32 %r1i\0A %r1b = load i8, ptr %r1p\0A %r1 = zext i8 %r1b to i32\0A\00"
|
|
@.str2830 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00"
|
|
@.str2831 = private unnamed_addr constant [73 x i8] c"rbad:\0A store i32 %c0, ptr %cpout\0A %rbi = add i32 %i, 1\0A ret i32 %rbi\0A\00"
|
|
@.str2832 = private unnamed_addr constant [128 x i8] c"rc2:\0A %r2i = add i32 %i, 2\0A %r2p = getelementptr i8, ptr %s, i32 %r2i\0A %r2b = load i8, ptr %r2p\0A %r2 = zext i8 %r2b to i32\0A\00"
|
|
@.str2833 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00"
|
|
@.str2834 = private unnamed_addr constant [131 x i8] c"rok:\0A %rm = and i32 %c0, 15\0A %rsh = shl i32 %rm, 12\0A %ram = and i32 %r1, 63\0A %rash = shl i32 %ram, 6\0A %rbm = and i32 %r2, 63\0A\00"
|
|
@.str2835 = private unnamed_addr constant [121 x i8] c" %rp1 = or i32 %rsh, %rash\0A %rcp = or i32 %rp1, %rbm\0A store i32 %rcp, ptr %cpout\0A %ri = add i32 %i, 3\0A ret i32 %ri\0A\00"
|
|
@.str2836 = private unnamed_addr constant [129 x i8] c"four:\0A %f1i = add i32 %i, 1\0A %f1p = getelementptr i8, ptr %s, i32 %f1i\0A %f1b = load i8, ptr %f1p\0A %f1 = zext i8 %f1b to i32\0A\00"
|
|
@.str2837 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00"
|
|
@.str2838 = private unnamed_addr constant [73 x i8] c"fbad:\0A store i32 %c0, ptr %cpout\0A %fbi = add i32 %i, 1\0A ret i32 %fbi\0A\00"
|
|
@.str2839 = private unnamed_addr constant [128 x i8] c"fc2:\0A %f2i = add i32 %i, 2\0A %f2p = getelementptr i8, ptr %s, i32 %f2i\0A %f2b = load i8, ptr %f2p\0A %f2 = zext i8 %f2b to i32\0A\00"
|
|
@.str2840 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00"
|
|
@.str2841 = private unnamed_addr constant [128 x i8] c"fc3:\0A %f3i = add i32 %i, 3\0A %f3p = getelementptr i8, ptr %s, i32 %f3i\0A %f3b = load i8, ptr %f3p\0A %f3 = zext i8 %f3b to i32\0A\00"
|
|
@.str2842 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00"
|
|
@.str2843 = private unnamed_addr constant [106 x i8] c"fok:\0A %fm = and i32 %c0, 7\0A %fsh = shl i32 %fm, 18\0A %fam = and i32 %f1, 63\0A %fash = shl i32 %fam, 12\0A\00"
|
|
@.str2844 = private unnamed_addr constant [77 x i8] c" %fbm = and i32 %f2, 63\0A %fbsh = shl i32 %fbm, 6\0A %fcm = and i32 %f3, 63\0A\00"
|
|
@.str2845 = private unnamed_addr constant [151 x i8] c" %fp1 = or i32 %fsh, %fash\0A %fp2 = or i32 %fp1, %fbsh\0A %fcp = or i32 %fp2, %fcm\0A store i32 %fcp, ptr %cpout\0A %fi = add i32 %i, 4\0A ret i32 %fi\0A}\0A\00"
|
|
@.str2846 = private unnamed_addr constant [36 x i8] c"define i32 @fn_uni_valid(ptr %s) {\0A\00"
|
|
@.str2847 = private unnamed_addr constant [65 x i8] c"entry:\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2848 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00"
|
|
@.str2849 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00"
|
|
@.str2850 = private unnamed_addr constant [69 x i8] c"g:\0A %a1 = icmp ult i32 %c, 128\0A br i1 %a1, label %adv1, label %m2\0A\00"
|
|
@.str2851 = private unnamed_addr constant [69 x i8] c"adv1:\0A %n1 = add i32 %i, 1\0A store i32 %n1, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2852 = private unnamed_addr constant [95 x i8] c"m2:\0A %h2 = and i32 %c, 224\0A %is2 = icmp eq i32 %h2, 192\0A br i1 %is2, label %do2, label %m3\0A\00"
|
|
@.str2853 = private unnamed_addr constant [95 x i8] c"m3:\0A %h3 = and i32 %c, 240\0A %is3 = icmp eq i32 %h3, 224\0A br i1 %is3, label %do3, label %m4\0A\00"
|
|
@.str2854 = private unnamed_addr constant [96 x i8] c"m4:\0A %h4 = and i32 %c, 248\0A %is4 = icmp eq i32 %h4, 240\0A br i1 %is4, label %do4, label %bad\0A\00"
|
|
@.str2855 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
|
|
@.str2856 = private unnamed_addr constant [128 x i8] c"do2:\0A %v1i = add i32 %i, 1\0A %v1p = getelementptr i8, ptr %s, i32 %v1i\0A %v1b = load i8, ptr %v1p\0A %v1 = zext i8 %v1b to i32\0A\00"
|
|
@.str2857 = private unnamed_addr constant [98 x i8] c" %v1m = and i32 %v1, 192\0A %v1ok = icmp eq i32 %v1m, 128\0A br i1 %v1ok, label %do2b, label %bad\0A\00"
|
|
@.str2858 = private unnamed_addr constant [108 x i8] c"do2b:\0A %q2m = and i32 %c, 31\0A %q2s = shl i32 %q2m, 6\0A %q2l = and i32 %v1, 63\0A %cp2 = or i32 %q2s, %q2l\0A\00"
|
|
@.str2859 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00"
|
|
@.str2860 = private unnamed_addr constant [69 x i8] c"adv2:\0A %n2 = add i32 %i, 2\0A store i32 %n2, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2861 = private unnamed_addr constant [128 x i8] c"do3:\0A %w1i = add i32 %i, 1\0A %w1p = getelementptr i8, ptr %s, i32 %w1i\0A %w1b = load i8, ptr %w1p\0A %w1 = zext i8 %w1b to i32\0A\00"
|
|
@.str2862 = private unnamed_addr constant [98 x i8] c" %w1m = and i32 %w1, 192\0A %w1ok = icmp eq i32 %w1m, 128\0A br i1 %w1ok, label %do3b, label %bad\0A\00"
|
|
@.str2863 = private unnamed_addr constant [129 x i8] c"do3b:\0A %w2i = add i32 %i, 2\0A %w2p = getelementptr i8, ptr %s, i32 %w2i\0A %w2b = load i8, ptr %w2p\0A %w2 = zext i8 %w2b to i32\0A\00"
|
|
@.str2864 = private unnamed_addr constant [98 x i8] c" %w2m = and i32 %w2, 192\0A %w2ok = icmp eq i32 %w2m, 128\0A br i1 %w2ok, label %do3c, label %bad\0A\00"
|
|
@.str2865 = private unnamed_addr constant [136 x i8] c"do3c:\0A %e3m = and i32 %c, 15\0A %e3s = shl i32 %e3m, 12\0A %e3am = and i32 %w1, 63\0A %e3as = shl i32 %e3am, 6\0A %e3bm = and i32 %w2, 63\0A\00"
|
|
@.str2866 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00"
|
|
@.str2867 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00"
|
|
@.str2868 = private unnamed_addr constant [138 x i8] c"do3d:\0A %sg1 = icmp uge i32 %cp3, 55296\0A %sg2 = icmp ule i32 %cp3, 57343\0A %sg = and i1 %sg1, %sg2\0A br i1 %sg, label %bad, label %adv3\0A\00"
|
|
@.str2869 = private unnamed_addr constant [69 x i8] c"adv3:\0A %n3 = add i32 %i, 3\0A store i32 %n3, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2870 = private unnamed_addr constant [128 x i8] c"do4:\0A %x1i = add i32 %i, 1\0A %x1p = getelementptr i8, ptr %s, i32 %x1i\0A %x1b = load i8, ptr %x1p\0A %x1 = zext i8 %x1b to i32\0A\00"
|
|
@.str2871 = private unnamed_addr constant [98 x i8] c" %x1m = and i32 %x1, 192\0A %x1ok = icmp eq i32 %x1m, 128\0A br i1 %x1ok, label %do4b, label %bad\0A\00"
|
|
@.str2872 = private unnamed_addr constant [129 x i8] c"do4b:\0A %x2i = add i32 %i, 2\0A %x2p = getelementptr i8, ptr %s, i32 %x2i\0A %x2b = load i8, ptr %x2p\0A %x2 = zext i8 %x2b to i32\0A\00"
|
|
@.str2873 = private unnamed_addr constant [98 x i8] c" %x2m = and i32 %x2, 192\0A %x2ok = icmp eq i32 %x2m, 128\0A br i1 %x2ok, label %do4c, label %bad\0A\00"
|
|
@.str2874 = private unnamed_addr constant [129 x i8] c"do4c:\0A %x3i = add i32 %i, 3\0A %x3p = getelementptr i8, ptr %s, i32 %x3i\0A %x3b = load i8, ptr %x3p\0A %x3 = zext i8 %x3b to i32\0A\00"
|
|
@.str2875 = private unnamed_addr constant [98 x i8] c" %x3m = and i32 %x3, 192\0A %x3ok = icmp eq i32 %x3m, 128\0A br i1 %x3ok, label %do4d, label %bad\0A\00"
|
|
@.str2876 = private unnamed_addr constant [180 x i8] c"do4d:\0A %y0 = and i32 %c, 7\0A %y0s = shl i32 %y0, 18\0A %y1m = and i32 %x1, 63\0A %y1s = shl i32 %y1m, 12\0A %y2m = and i32 %x2, 63\0A %y2s = shl i32 %y2m, 6\0A %y3m = and i32 %x3, 63\0A\00"
|
|
@.str2877 = private unnamed_addr constant [86 x i8] c" %cp4p = or i32 %y0s, %y1s\0A %cp4q = or i32 %cp4p, %y2s\0A %cp4 = or i32 %cp4q, %y3m\0A\00"
|
|
@.str2878 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00"
|
|
@.str2879 = private unnamed_addr constant [81 x i8] c"do4e:\0A %hi4 = icmp ugt i32 %cp4, 1114111\0A br i1 %hi4, label %bad, label %adv4\0A\00"
|
|
@.str2880 = private unnamed_addr constant [69 x i8] c"adv4:\0A %n4 = add i32 %i, 4\0A store i32 %n4, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2881 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00"
|
|
@.str2882 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_upcp(i32 %c) {\0A\00"
|
|
@.str2883 = private unnamed_addr constant [83 x i8] c" %la = icmp uge i32 %c, 97\0A %lb = icmp ule i32 %c, 122\0A %asc = and i1 %la, %lb\0A\00"
|
|
@.str2884 = private unnamed_addr constant [135 x i8] c" %da = icmp uge i32 %c, 224\0A %db = icmp ule i32 %c, 254\0A %dd = icmp ne i32 %c, 247\0A %d1 = and i1 %da, %db\0A %d2 = and i1 %d1, %dd\0A\00"
|
|
@.str2885 = private unnamed_addr constant [103 x i8] c" %map = or i1 %asc, %d2\0A %up = sub i32 %c, 32\0A %r = select i1 %map, i32 %up, i32 %c\0A ret i32 %r\0A}\0A\00"
|
|
@.str2886 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_locp(i32 %c) {\0A\00"
|
|
@.str2887 = private unnamed_addr constant [82 x i8] c" %ua = icmp uge i32 %c, 65\0A %ub = icmp ule i32 %c, 90\0A %asc = and i1 %ua, %ub\0A\00"
|
|
@.str2888 = private unnamed_addr constant [135 x i8] c" %da = icmp uge i32 %c, 192\0A %db = icmp ule i32 %c, 222\0A %dd = icmp ne i32 %c, 215\0A %d1 = and i1 %da, %db\0A %d2 = and i1 %d1, %dd\0A\00"
|
|
@.str2889 = private unnamed_addr constant [103 x i8] c" %map = or i1 %asc, %d2\0A %lo = add i32 %c, 32\0A %r = select i1 %map, i32 %lo, i32 %c\0A ret i32 %r\0A}\0A\00"
|
|
@.str2890 = private unnamed_addr constant [39 x i8] c"define i32 @fn_uni_cpwidth(i32 %cp) {\0A\00"
|
|
@.str2891 = private unnamed_addr constant [91 x i8] c" %a = icmp ult i32 %cp, 128\0A %b = icmp ult i32 %cp, 2048\0A %c = icmp ult i32 %cp, 65536\0A\00"
|
|
@.str2892 = private unnamed_addr constant [130 x i8] c" %w34 = select i1 %c, i32 3, i32 4\0A %w234 = select i1 %b, i32 2, i32 %w34\0A %w = select i1 %a, i32 1, i32 %w234\0A ret i32 %w\0A}\0A\00"
|
|
@.str2893 = private unnamed_addr constant [58 x i8] c"define i32 @fn_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00"
|
|
@.str2894 = private unnamed_addr constant [111 x i8] c"entry:\0A %w = call i32 @fn_uni_cpwidth(i32 %cp)\0A %is1 = icmp eq i32 %w, 1\0A br i1 %is1, label %e1, label %k2\0A\00"
|
|
@.str2895 = private unnamed_addr constant [140 x i8] c"e1:\0A %d0 = getelementptr i8, ptr %dst, i32 %off\0A %b0 = trunc i32 %cp to i8\0A store i8 %b0, ptr %d0\0A %o1 = add i32 %off, 1\0A ret i32 %o1\0A\00"
|
|
@.str2896 = private unnamed_addr constant [67 x i8] c"k2:\0A %is2 = icmp eq i32 %w, 2\0A br i1 %is2, label %e2, label %k3\0A\00"
|
|
@.str2897 = private unnamed_addr constant [107 x i8] c"e2:\0A %hi2 = lshr i32 %cp, 6\0A %by0 = or i32 %hi2, 192\0A %lo2 = and i32 %cp, 63\0A %by1 = or i32 %lo2, 128\0A\00"
|
|
@.str2898 = private unnamed_addr constant [103 x i8] c" %p20 = getelementptr i8, ptr %dst, i32 %off\0A %t20 = trunc i32 %by0 to i8\0A store i8 %t20, ptr %p20\0A\00"
|
|
@.str2899 = private unnamed_addr constant [166 x i8] c" %o21 = add i32 %off, 1\0A %p21 = getelementptr i8, ptr %dst, i32 %o21\0A %t21 = trunc i32 %by1 to i8\0A store i8 %t21, ptr %p21\0A %o2 = add i32 %off, 2\0A ret i32 %o2\0A\00"
|
|
@.str2900 = private unnamed_addr constant [67 x i8] c"k3:\0A %is3 = icmp eq i32 %w, 3\0A br i1 %is3, label %e3, label %e4\0A\00"
|
|
@.str2901 = private unnamed_addr constant [190 x i8] c"e3:\0A %hi3 = lshr i32 %cp, 12\0A %by30 = or i32 %hi3, 224\0A %m31 = lshr i32 %cp, 6\0A %m31b = and i32 %m31, 63\0A %by31 = or i32 %m31b, 128\0A %m32 = and i32 %cp, 63\0A %by32 = or i32 %m32, 128\0A\00"
|
|
@.str2902 = private unnamed_addr constant [104 x i8] c" %p30 = getelementptr i8, ptr %dst, i32 %off\0A %t30 = trunc i32 %by30 to i8\0A store i8 %t30, ptr %p30\0A\00"
|
|
@.str2903 = private unnamed_addr constant [129 x i8] c" %o31 = add i32 %off, 1\0A %p31 = getelementptr i8, ptr %dst, i32 %o31\0A %t31 = trunc i32 %by31 to i8\0A store i8 %t31, ptr %p31\0A\00"
|
|
@.str2904 = private unnamed_addr constant [167 x i8] c" %o32 = add i32 %off, 2\0A %p32 = getelementptr i8, ptr %dst, i32 %o32\0A %t32 = trunc i32 %by32 to i8\0A store i8 %t32, ptr %p32\0A %o3 = add i32 %off, 3\0A ret i32 %o3\0A\00"
|
|
@.str2905 = private unnamed_addr constant [139 x i8] c"e4:\0A %hi4 = lshr i32 %cp, 18\0A %by40 = or i32 %hi4, 240\0A %m41 = lshr i32 %cp, 12\0A %m41b = and i32 %m41, 63\0A %by41 = or i32 %m41b, 128\0A\00"
|
|
@.str2906 = private unnamed_addr constant [133 x i8] c" %m42 = lshr i32 %cp, 6\0A %m42b = and i32 %m42, 63\0A %by42 = or i32 %m42b, 128\0A %m43 = and i32 %cp, 63\0A %by43 = or i32 %m43, 128\0A\00"
|
|
@.str2907 = private unnamed_addr constant [104 x i8] c" %p40 = getelementptr i8, ptr %dst, i32 %off\0A %t40 = trunc i32 %by40 to i8\0A store i8 %t40, ptr %p40\0A\00"
|
|
@.str2908 = private unnamed_addr constant [129 x i8] c" %o41 = add i32 %off, 1\0A %p41 = getelementptr i8, ptr %dst, i32 %o41\0A %t41 = trunc i32 %by41 to i8\0A store i8 %t41, ptr %p41\0A\00"
|
|
@.str2909 = private unnamed_addr constant [129 x i8] c" %o42 = add i32 %off, 2\0A %p42 = getelementptr i8, ptr %dst, i32 %o42\0A %t42 = trunc i32 %by42 to i8\0A store i8 %t42, ptr %p42\0A\00"
|
|
@.str2910 = private unnamed_addr constant [169 x i8] c" %o43 = add i32 %off, 3\0A %p43 = getelementptr i8, ptr %dst, i32 %o43\0A %t43 = trunc i32 %by43 to i8\0A store i8 %t43, ptr %p43\0A %o4 = add i32 %off, 4\0A ret i32 %o4\0A}\0A\00"
|
|
@.str2911 = private unnamed_addr constant [40 x i8] c"define i32 @fn_uni_is_extend(i32 %c) {\0A\00"
|
|
@.str2912 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @fn_uni_inrange(i32 %c, i32 768, i32 879)\0A\00"
|
|
@.str2913 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @fn_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00"
|
|
@.str2914 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @fn_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00"
|
|
@.str2915 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @fn_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00"
|
|
@.str2916 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @fn_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00"
|
|
@.str2917 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @fn_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00"
|
|
@.str2918 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @fn_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00"
|
|
@.str2919 = private unnamed_addr constant [161 x i8] c" %o1 = or i32 %r1, %r2\0A %o2 = or i32 %o1, %r3\0A %o3 = or i32 %o2, %r4\0A %o4 = or i32 %o3, %r5\0A %o5 = or i32 %o4, %r6\0A %o6 = or i32 %o5, %r7\0A ret i32 %o6\0A}\0A\00"
|
|
@.str2920 = private unnamed_addr constant [56 x i8] c"define i32 @fn_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00"
|
|
@.str2921 = private unnamed_addr constant [118 x i8] c" %a = icmp uge i32 %c, %lo\0A %b = icmp ule i32 %c, %hi\0A %x = and i1 %a, %b\0A %r = zext i1 %x to i32\0A ret i32 %r\0A}\0A\00"
|
|
@.str2922 = private unnamed_addr constant [48 x i8] c"define i32 @fn_uni_char_at(ptr %s, i32 %idx) {\0A\00"
|
|
@.str2923 = private unnamed_addr constant [126 x i8] c"entry:\0A %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00"
|
|
@.str2924 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00"
|
|
@.str2925 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00"
|
|
@.str2926 = private unnamed_addr constant [157 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k = load i32, ptr %kp\0A %hit = icmp eq i32 %k, %idx\0A br i1 %hit, label %found, label %next\0A\00"
|
|
@.str2927 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00"
|
|
@.str2928 = private unnamed_addr constant [94 x i8] c"next:\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2929 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00"
|
|
@.str2930 = private unnamed_addr constant [36 x i8] c"define ptr @fn_uni_chars(ptr %s) {\0A\00"
|
|
@.str2931 = private unnamed_addr constant [76 x i8] c"entry:\0A %n = call i32 @fn_uni_len(ptr %s)\0A %h = call ptr @malloc(i64 16)\0A\00"
|
|
@.str2932 = private unnamed_addr constant [93 x i8] c" %nz = zext i32 %n to i64\0A %bytes = mul i64 %nz, 4\0A %data = call ptr @malloc(i64 %bytes)\0A\00"
|
|
@.str2933 = private unnamed_addr constant [89 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %data, ptr %d0\0A\00"
|
|
@.str2934 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %n, ptr %d1\0A\00"
|
|
@.str2935 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %n, ptr %d2\0A\00"
|
|
@.str2936 = private unnamed_addr constant [119 x i8] c" %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00"
|
|
@.str2937 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00"
|
|
@.str2938 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
|
|
@.str2939 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A %k = load i32, ptr %kp\0A\00"
|
|
@.str2940 = private unnamed_addr constant [161 x i8] c" %slot = getelementptr i32, ptr %data, i32 %k\0A store i32 %v, ptr %slot\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2941 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00"
|
|
@.str2942 = private unnamed_addr constant [44 x i8] c"define ptr @fn_uni_case(ptr %s, i32 %up) {\0A\00"
|
|
@.str2943 = private unnamed_addr constant [128 x i8] c"entry:\0A %bl = call i64 @strlen(ptr %s)\0A %cap0 = mul i64 %bl, 4\0A %cap = add i64 %cap0, 4\0A %out = call ptr @malloc(i64 %cap)\0A\00"
|
|
@.str2944 = private unnamed_addr constant [119 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %op\0A br label %lp\0A\00"
|
|
@.str2945 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00"
|
|
@.str2946 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
|
|
@.str2947 = private unnamed_addr constant [87 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A\00"
|
|
@.str2948 = private unnamed_addr constant [147 x i8] c" %mu = call i32 @fn_uni_upcp(i32 %v)\0A %ml = call i32 @fn_uni_locp(i32 %v)\0A %isup = icmp ne i32 %up, 0\0A %m = select i1 %isup, i32 %mu, i32 %ml\0A\00"
|
|
@.str2949 = private unnamed_addr constant [149 x i8] c" %o = load i32, ptr %op\0A %no = call i32 @fn_uni_encode(ptr %out, i32 %o, i32 %m)\0A store i32 %no, ptr %op\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2950 = private unnamed_addr constant [120 x i8] c"done:\0A %fo = load i32, ptr %op\0A %endp = getelementptr i8, ptr %out, i32 %fo\0A store i8 0, ptr %endp\0A ret ptr %out\0A}\0A\00"
|
|
@.str2951 = private unnamed_addr constant [47 x i8] c"define ptr @fn_uni_truncate(ptr %s, i32 %n) {\0A\00"
|
|
@.str2952 = private unnamed_addr constant [126 x i8] c"entry:\0A %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00"
|
|
@.str2953 = private unnamed_addr constant [102 x i8] c"lp:\0A %k = load i32, ptr %kp\0A %enough = icmp sge i32 %k, %n\0A br i1 %enough, label %cut, label %chk\0A\00"
|
|
@.str2954 = private unnamed_addr constant [119 x i8] c"chk:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00"
|
|
@.str2955 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00"
|
|
@.str2956 = private unnamed_addr constant [149 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00"
|
|
@.str2957 = private unnamed_addr constant [199 x i8] c"cut:\0A %len = load i32, ptr %ip\0A %lz = zext i32 %len to i64\0A %cap = add i64 %lz, 1\0A %out = call ptr @malloc(i64 %cap)\0A %lz2 = zext i32 %len to i64\0A call ptr @memcpy(ptr %out, ptr %s, i64 %lz2)\0A\00"
|
|
@.str2958 = private unnamed_addr constant [89 x i8] c" %endp = getelementptr i8, ptr %out, i32 %len\0A store i8 0, ptr %endp\0A ret ptr %out\0A}\0A\00"
|
|
@.str2959 = private unnamed_addr constant [43 x i8] c"define i32 @fn_uni_grapheme_len(ptr %s) {\0A\00"
|
|
@.str2960 = private unnamed_addr constant [103 x i8] c"entry:\0A %ip = alloca i32\0A %np = alloca i32\0A %zp = alloca i32\0A %rp = alloca i32\0A %cp = alloca i32\0A\00"
|
|
@.str2961 = private unnamed_addr constant [108 x i8] c" store i32 0, ptr %ip\0A store i32 0, ptr %np\0A store i32 0, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
|
|
@.str2962 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00"
|
|
@.str2963 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
|
|
@.str2964 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A store i32 %ni, ptr %ip\0A\00"
|
|
@.str2965 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00"
|
|
@.str2966 = private unnamed_addr constant [142 x i8] c"zwj:\0A %n0 = load i32, ptr %np\0A %n0z = icmp eq i32 %n0, 0\0A %n0b = zext i1 %n0z to i32\0A %n0n = add i32 %n0, %n0b\0A store i32 %n0n, ptr %np\0A\00"
|
|
@.str2967 = private unnamed_addr constant [62 x i8] c" store i32 1, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
|
|
@.str2968 = private unnamed_addr constant [104 x i8] c"notzwj:\0A %n = load i32, ptr %np\0A %first = icmp eq i32 %n, 0\0A br i1 %first, label %open, label %cont\0A\00"
|
|
@.str2969 = private unnamed_addr constant [160 x i8] c"open:\0A store i32 1, ptr %np\0A store i32 0, ptr %zp\0A %ri0 = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A store i32 %ri0, ptr %rp\0A br label %lp\0A\00"
|
|
@.str2970 = private unnamed_addr constant [109 x i8] c"cont:\0A %zj = load i32, ptr %zp\0A %afterz = icmp ne i32 %zj, 0\0A br i1 %afterz, label %joinz, label %chkext\0A\00"
|
|
@.str2971 = private unnamed_addr constant [69 x i8] c"joinz:\0A store i32 0, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
|
|
@.str2972 = private unnamed_addr constant [129 x i8] c"chkext:\0A %ext = call i32 @fn_uni_is_extend(i32 %v)\0A %isext = icmp ne i32 %ext, 0\0A br i1 %isext, label %joinext, label %chkri\0A\00"
|
|
@.str2973 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
|
|
@.str2974 = private unnamed_addr constant [240 x i8] c"chkri:\0A %ri = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A %isri = icmp ne i32 %ri, 0\0A %ropen = load i32, ptr %rp\0A %ropenb = icmp ne i32 %ropen, 0\0A %pair = and i1 %isri, %ropenb\0A br i1 %pair, label %joinri, label %newcl\0A\00"
|
|
@.str2975 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
|
|
@.str2976 = private unnamed_addr constant [191 x i8] c"newcl:\0A %nn = load i32, ptr %np\0A %nn1 = add i32 %nn, 1\0A store i32 %nn1, ptr %np\0A store i32 0, ptr %zp\0A %riset = select i1 %isri, i32 1, i32 0\0A store i32 %riset, ptr %rp\0A br label %lp\0A\00"
|
|
@.str2977 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00"
|
|
@.str2978 = private unnamed_addr constant [7 x i8] c"exists\00"
|
|
@.str2979 = private unnamed_addr constant [7 x i8] c"is_dir\00"
|
|
@.str2980 = private unnamed_addr constant [10 x i8] c"read_text\00"
|
|
@.str2981 = private unnamed_addr constant [11 x i8] c"write_text\00"
|
|
@.str2982 = private unnamed_addr constant [12 x i8] c"append_text\00"
|
|
@.str2983 = private unnamed_addr constant [7 x i8] c"remove\00"
|
|
@.str2984 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str2985 = private unnamed_addr constant [6 x i8] c"mkdir\00"
|
|
@.str2986 = private unnamed_addr constant [5 x i8] c"copy\00"
|
|
@.str2987 = private unnamed_addr constant [5 x i8] c"list\00"
|
|
@.str2988 = private unnamed_addr constant [5 x i8] c"join\00"
|
|
@.str2989 = private unnamed_addr constant [4 x i8] c"dir\00"
|
|
@.str2990 = private unnamed_addr constant [5 x i8] c"base\00"
|
|
@.str2991 = private unnamed_addr constant [4 x i8] c"ext\00"
|
|
@.str2992 = private unnamed_addr constant [5 x i8] c"stem\00"
|
|
@.str2993 = private unnamed_addr constant [10 x i8] c"normalize\00"
|
|
@.str2994 = private unnamed_addr constant [3 x i8] c"of\00"
|
|
@.str2995 = private unnamed_addr constant [6 x i8] c"sniff\00"
|
|
@.str2996 = private unnamed_addr constant [7 x i8] c"exists\00"
|
|
@.str2997 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_exists(ptr \00"
|
|
@.str2998 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2999 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3000 = private unnamed_addr constant [7 x i8] c"is_dir\00"
|
|
@.str3001 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_is_dir(ptr \00"
|
|
@.str3002 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3003 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3004 = private unnamed_addr constant [10 x i8] c"read_text\00"
|
|
@.str3005 = private unnamed_addr constant [31 x i8] c"call ptr @fn_fs_read_text(ptr \00"
|
|
@.str3006 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3007 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3008 = private unnamed_addr constant [7 x i8] c"remove\00"
|
|
@.str3009 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_remove(ptr \00"
|
|
@.str3010 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3011 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3012 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str3013 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_size(ptr \00"
|
|
@.str3014 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3015 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3016 = private unnamed_addr constant [6 x i8] c"mkdir\00"
|
|
@.str3017 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fs_mkdir(ptr \00"
|
|
@.str3018 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3019 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3020 = private unnamed_addr constant [5 x i8] c"list\00"
|
|
@.str3021 = private unnamed_addr constant [26 x i8] c"call ptr @fn_fs_list(ptr \00"
|
|
@.str3022 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3023 = private unnamed_addr constant [9 x i8] c"[]string\00"
|
|
@.str3024 = private unnamed_addr constant [11 x i8] c"write_text\00"
|
|
@.str3025 = private unnamed_addr constant [32 x i8] c"call i32 @fn_fs_write_text(ptr \00"
|
|
@.str3026 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3027 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3028 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3029 = private unnamed_addr constant [12 x i8] c"append_text\00"
|
|
@.str3030 = private unnamed_addr constant [33 x i8] c"call i32 @fn_fs_append_text(ptr \00"
|
|
@.str3031 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3032 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3033 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3034 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_copy(ptr \00"
|
|
@.str3035 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3036 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3037 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3038 = private unnamed_addr constant [4 x i8] c"dir\00"
|
|
@.str3039 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_dir(ptr \00"
|
|
@.str3040 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3041 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3042 = private unnamed_addr constant [5 x i8] c"base\00"
|
|
@.str3043 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_base(ptr \00"
|
|
@.str3044 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3045 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3046 = private unnamed_addr constant [4 x i8] c"ext\00"
|
|
@.str3047 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_ext(ptr \00"
|
|
@.str3048 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3049 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3050 = private unnamed_addr constant [5 x i8] c"stem\00"
|
|
@.str3051 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_stem(ptr \00"
|
|
@.str3052 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3053 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3054 = private unnamed_addr constant [10 x i8] c"normalize\00"
|
|
@.str3055 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_norm(ptr \00"
|
|
@.str3056 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3057 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3058 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_join(ptr \00"
|
|
@.str3059 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3060 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3061 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3062 = private unnamed_addr constant [6 x i8] c"sniff\00"
|
|
@.str3063 = private unnamed_addr constant [29 x i8] c"call ptr @fn_mime_sniff(ptr \00"
|
|
@.str3064 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3065 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3066 = private unnamed_addr constant [26 x i8] c"call ptr @fn_mime_of(ptr \00"
|
|
@.str3067 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3068 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3069 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00"
|
|
@.str3070 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00"
|
|
@.str3071 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00"
|
|
@.str3072 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00"
|
|
@.str3073 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00"
|
|
@.str3074 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00"
|
|
@.str3075 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00"
|
|
@.str3076 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00"
|
|
@.str3077 = private unnamed_addr constant [41 x i8] c"define ptr @fn_fs_dup(ptr %s, i32 %n) {\0A\00"
|
|
@.str3078 = private unnamed_addr constant [133 x i8] c"entry:\0A %nz = zext i32 %n to i64\0A %t = add i64 %nz, 1\0A %m = call ptr @malloc(i64 %t)\0A call ptr @memcpy(ptr %m, ptr %s, i64 %nz)\0A\00"
|
|
@.str3079 = private unnamed_addr constant [81 x i8] c" %end = getelementptr i8, ptr %m, i32 %n\0A store i8 0, ptr %end\0A ret ptr %m\0A}\0A\00"
|
|
@.str3080 = private unnamed_addr constant [36 x i8] c"define ptr @fn_fs_strdup(ptr %s) {\0A\00"
|
|
@.str3081 = private unnamed_addr constant [127 x i8] c"entry:\0A %l = call i64 @strlen(ptr %s)\0A %li = trunc i64 %l to i32\0A %r = call ptr @fn_fs_dup(ptr %s, i32 %li)\0A ret ptr %r\0A}\0A\00"
|
|
@.str3082 = private unnamed_addr constant [39 x i8] c"define i32 @fn_fs_lastslash(ptr %s) {\0A\00"
|
|
@.str3083 = private unnamed_addr constant [108 x i8] c"entry:\0A %ip = alloca i32\0A %rp = alloca i32\0A store i32 0, ptr %ip\0A store i32 -1, ptr %rp\0A br label %lp\0A\00"
|
|
@.str3084 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00"
|
|
@.str3085 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
|
|
@.str3086 = private unnamed_addr constant [67 x i8] c"go:\0A %sl = icmp eq i32 %c, 47\0A br i1 %sl, label %set, label %nx\0A\00"
|
|
@.str3087 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00"
|
|
@.str3088 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00"
|
|
@.str3089 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00"
|
|
@.str3090 = private unnamed_addr constant [44 x i8] c"define ptr @fn_path_join(ptr %a, ptr %b) {\0A\00"
|
|
@.str3091 = private unnamed_addr constant [140 x i8] c"entry:\0A %la64 = call i64 @strlen(ptr %a)\0A %la = trunc i64 %la64 to i32\0A %lb64 = call i64 @strlen(ptr %b)\0A %lb = trunc i64 %lb64 to i32\0A\00"
|
|
@.str3092 = private unnamed_addr constant [122 x i8] c" %b0 = load i8, ptr %b\0A %b0i = zext i8 %b0 to i32\0A %babs = icmp eq i32 %b0i, 47\0A br i1 %babs, label %retb, label %ka\0A\00"
|
|
@.str3093 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00"
|
|
@.str3094 = private unnamed_addr constant [73 x i8] c"ka:\0A %aemp = icmp eq i32 %la, 0\0A br i1 %aemp, label %retb2, label %kb\0A\00"
|
|
@.str3095 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00"
|
|
@.str3096 = private unnamed_addr constant [73 x i8] c"kb:\0A %bemp = icmp eq i32 %lb, 0\0A br i1 %bemp, label %reta, label %chk\0A\00"
|
|
@.str3097 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @fn_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00"
|
|
@.str3098 = private unnamed_addr constant [159 x i8] c"chk:\0A %lam1 = sub i32 %la, 1\0A %pe = getelementptr i8, ptr %a, i32 %lam1\0A %ae = load i8, ptr %pe\0A %aei = zext i8 %ae to i32\0A %ends = icmp eq i32 %aei, 47\0A\00"
|
|
@.str3099 = private unnamed_addr constant [189 x i8] c" %sep = select i1 %ends, i32 0, i32 1\0A %tot = add i32 %la, %lb\0A %tot2 = add i32 %tot, %sep\0A %tot3 = add i32 %tot2, 1\0A %totz = zext i32 %tot3 to i64\0A %m = call ptr @malloc(i64 %totz)\0A\00"
|
|
@.str3100 = private unnamed_addr constant [75 x i8] c" %laz = zext i32 %la to i64\0A call ptr @memcpy(ptr %m, ptr %a, i64 %laz)\0A\00"
|
|
@.str3101 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00"
|
|
@.str3102 = private unnamed_addr constant [90 x i8] c"wsep:\0A %sp = getelementptr i8, ptr %m, i32 %la\0A store i8 47, ptr %sp\0A br label %after\0A\00"
|
|
@.str3103 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00"
|
|
@.str3104 = private unnamed_addr constant [155 x i8] c"after:\0A %boff = add i32 %la, %sep\0A %dp = getelementptr i8, ptr %m, i32 %boff\0A %lbz = zext i32 %lb to i64\0A call ptr @memcpy(ptr %dp, ptr %b, i64 %lbz)\0A\00"
|
|
@.str3105 = private unnamed_addr constant [115 x i8] c" %endoff = add i32 %boff, %lb\0A %ep = getelementptr i8, ptr %m, i32 %endoff\0A store i8 0, ptr %ep\0A ret ptr %m\0A}\0A\00"
|
|
@.str3106 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_base(ptr %s) {\0A\00"
|
|
@.str3107 = private unnamed_addr constant [121 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %whole, label %tail\0A\00"
|
|
@.str3108 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @fn_fs_strdup(ptr %s)\0A ret ptr %r\0A\00"
|
|
@.str3109 = private unnamed_addr constant [126 x i8] c"tail:\0A %st = add i32 %ls, 1\0A %p = getelementptr i8, ptr %s, i32 %st\0A %r2 = call ptr @fn_fs_strdup(ptr %p)\0A ret ptr %r2\0A}\0A\00"
|
|
@.str3110 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_dir(ptr %s) {\0A\00"
|
|
@.str3111 = private unnamed_addr constant [119 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %dot, label %chk0\0A\00"
|
|
@.str3112 = private unnamed_addr constant [66 x i8] c"dot:\0A %d = call ptr @fn_fs_strdup(ptr @fn_str_dot)\0A ret ptr %d\0A\00"
|
|
@.str3113 = private unnamed_addr constant [79 x i8] c"chk0:\0A %isroot = icmp eq i32 %ls, 0\0A br i1 %isroot, label %root, label %cut\0A\00"
|
|
@.str3114 = private unnamed_addr constant [69 x i8] c"root:\0A %r = call ptr @fn_fs_strdup(ptr @fn_str_slash)\0A ret ptr %r\0A\00"
|
|
@.str3115 = private unnamed_addr constant [67 x i8] c"cut:\0A %r2 = call ptr @fn_fs_dup(ptr %s, i32 %ls)\0A ret ptr %r2\0A}\0A\00"
|
|
@.str3116 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_ext(ptr %s) {\0A\00"
|
|
@.str3117 = private unnamed_addr constant [77 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %bstart = add i32 %ls, 1\0A\00"
|
|
@.str3118 = private unnamed_addr constant [107 x i8] c" %dp = alloca i32\0A %ip = alloca i32\0A store i32 -1, ptr %dp\0A store i32 %bstart, ptr %ip\0A br label %lp\0A\00"
|
|
@.str3119 = private unnamed_addr constant [178 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
|
|
@.str3120 = private unnamed_addr constant [68 x i8] c"go:\0A %dot = icmp eq i32 %c, 46\0A br i1 %dot, label %sd, label %nx\0A\00"
|
|
@.str3121 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00"
|
|
@.str3122 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00"
|
|
@.str3123 = private unnamed_addr constant [102 x i8] c"done:\0A %d = load i32, ptr %dp\0A %nod = icmp eq i32 %d, -1\0A br i1 %nod, label %empty, label %chkpos\0A\00"
|
|
@.str3124 = private unnamed_addr constant [70 x i8] c"empty:\0A %e = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e\0A\00"
|
|
@.str3125 = private unnamed_addr constant [91 x i8] c"chkpos:\0A %atstart = icmp eq i32 %d, %bstart\0A br i1 %atstart, label %empty2, label %take\0A\00"
|
|
@.str3126 = private unnamed_addr constant [73 x i8] c"empty2:\0A %e2 = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e2\0A\00"
|
|
@.str3127 = private unnamed_addr constant [102 x i8] c"take:\0A %pp = getelementptr i8, ptr %s, i32 %d\0A %r = call ptr @fn_fs_strdup(ptr %pp)\0A ret ptr %r\0A}\0A\00"
|
|
@.str3128 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_stem(ptr %s) {\0A\00"
|
|
@.str3129 = private unnamed_addr constant [88 x i8] c"entry:\0A %base = call ptr @fn_path_base(ptr %s)\0A %ext = call ptr @fn_path_ext(ptr %s)\0A\00"
|
|
@.str3130 = private unnamed_addr constant [138 x i8] c" %bl64 = call i64 @strlen(ptr %base)\0A %bl = trunc i64 %bl64 to i32\0A %el64 = call i64 @strlen(ptr %ext)\0A %el = trunc i64 %el64 to i32\0A\00"
|
|
@.str3131 = private unnamed_addr constant [92 x i8] c" %keep = sub i32 %bl, %el\0A %r = call ptr @fn_fs_dup(ptr %base, i32 %keep)\0A ret ptr %r\0A}\0A\00"
|
|
@.str3132 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_norm(ptr %s) {\0A\00"
|
|
@.str3133 = private unnamed_addr constant [133 x i8] c"entry:\0A %len64 = call i64 @strlen(ptr %s)\0A %len = trunc i64 %len64 to i32\0A %cap = add i32 %len, 2\0A %capz = zext i32 %cap to i64\0A\00"
|
|
@.str3134 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00"
|
|
@.str3135 = private unnamed_addr constant [96 x i8] c" %stz = mul i32 %cap, 4\0A %stzz = zext i32 %stz to i64\0A %segst = call ptr @malloc(i64 %stzz)\0A\00"
|
|
@.str3136 = private unnamed_addr constant [83 x i8] c" %b0 = load i8, ptr %s\0A %b0i = zext i8 %b0 to i32\0A %abs = icmp eq i32 %b0i, 47\0A\00"
|
|
@.str3137 = private unnamed_addr constant [106 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A %scp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %scp\0A\00"
|
|
@.str3138 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00"
|
|
@.str3139 = private unnamed_addr constant [69 x i8] c"ldr:\0A store i8 47, ptr %out\0A store i32 1, ptr %op\0A br label %seg\0A\00"
|
|
@.str3140 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00"
|
|
@.str3141 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00"
|
|
@.str3142 = private unnamed_addr constant [200 x i8] c"sksl:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %s, i32 %i\0A %cc = load i8, ptr %pp\0A %cci = zext i8 %cc to i32\0A %issl = icmp eq i32 %cci, 47\0A br i1 %issl, label %adv, label %segstart\0A\00"
|
|
@.str3143 = private unnamed_addr constant [70 x i8] c"adv:\0A %i2 = add i32 %i, 1\0A store i32 %i2, ptr %ip\0A br label %sksl\0A\00"
|
|
@.str3144 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00"
|
|
@.str3145 = private unnamed_addr constant [260 x i8] c"scan:\0A %j = load i32, ptr %ip\0A %pj = getelementptr i8, ptr %s, i32 %j\0A %cj = load i8, ptr %pj\0A %cji = zext i8 %cj to i32\0A %endc = icmp eq i32 %cji, 0\0A %slc = icmp eq i32 %cji, 47\0A %stop = or i1 %endc, %slc\0A br i1 %stop, label %seghave, label %scanadv\0A\00"
|
|
@.str3146 = private unnamed_addr constant [74 x i8] c"scanadv:\0A %j1 = add i32 %j, 1\0A store i32 %j1, ptr %ip\0A br label %scan\0A\00"
|
|
@.str3147 = private unnamed_addr constant [147 x i8] c"seghave:\0A %se = load i32, ptr %ip\0A %slen = sub i32 %se, %ss\0A %emptyseg = icmp eq i32 %slen, 0\0A br i1 %emptyseg, label %atend, label %classify\0A\00"
|
|
@.str3148 = private unnamed_addr constant [11 x i8] c"classify:\0A\00"
|
|
@.str3149 = private unnamed_addr constant [244 x i8] c" %is1 = icmp eq i32 %slen, 1\0A %c0p = getelementptr i8, ptr %s, i32 %ss\0A %c0 = load i8, ptr %c0p\0A %c0i = zext i8 %c0 to i32\0A %isdotchar = icmp eq i32 %c0i, 46\0A %isdot = and i1 %is1, %isdotchar\0A br i1 %isdot, label %contseg, label %chkdd\0A\00"
|
|
@.str3150 = private unnamed_addr constant [257 x i8] c"chkdd:\0A %is2 = icmp eq i32 %slen, 2\0A %d0p = getelementptr i8, ptr %s, i32 %ss\0A %d0 = load i8, ptr %d0p\0A %d0i = zext i8 %d0 to i32\0A %d1o = add i32 %ss, 1\0A %d1p = getelementptr i8, ptr %s, i32 %d1o\0A %d1 = load i8, ptr %d1p\0A %d1i = zext i8 %d1 to i32\0A\00"
|
|
@.str3151 = private unnamed_addr constant [161 x i8] c" %dd0 = icmp eq i32 %d0i, 46\0A %dd1 = icmp eq i32 %d1i, 46\0A %ddx = and i1 %dd0, %dd1\0A %isdd = and i1 %is2, %ddx\0A br i1 %isdd, label %dotdot, label %keepseg\0A\00"
|
|
@.str3152 = private unnamed_addr constant [105 x i8] c"dotdot:\0A %sc = load i32, ptr %scp\0A %has = icmp sgt i32 %sc, 0\0A br i1 %has, label %pop, label %chkrel\0A\00"
|
|
@.str3153 = private unnamed_addr constant [184 x i8] c"pop:\0A %sc1 = sub i32 %sc, 1\0A %stp = getelementptr i32, ptr %segst, i32 %sc1\0A %newop = load i32, ptr %stp\0A store i32 %newop, ptr %op\0A store i32 %sc1, ptr %scp\0A br label %contseg\0A\00"
|
|
@.str3154 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00"
|
|
@.str3155 = private unnamed_addr constant [195 x i8] c"keepseg:\0A %sc2 = load i32, ptr %scp\0A %o0 = load i32, ptr %op\0A %stp2 = getelementptr i32, ptr %segst, i32 %sc2\0A store i32 %o0, ptr %stp2\0A %sc2n = add i32 %sc2, 1\0A store i32 %sc2n, ptr %scp\0A\00"
|
|
@.str3156 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00"
|
|
@.str3157 = private unnamed_addr constant [102 x i8] c"cpy:\0A %k = load i32, ptr %cpp\0A %klt = icmp slt i32 %k, %se\0A br i1 %klt, label %cpyb, label %cpysl\0A\00"
|
|
@.str3158 = private unnamed_addr constant [285 x i8] c"cpyb:\0A %skp = getelementptr i8, ptr %s, i32 %k\0A %sk = load i8, ptr %skp\0A %oo = load i32, ptr %op\0A %dkp = getelementptr i8, ptr %out, i32 %oo\0A store i8 %sk, ptr %dkp\0A %oo1 = add i32 %oo, 1\0A store i32 %oo1, ptr %op\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %cpp\0A br label %cpy\0A\00"
|
|
@.str3159 = private unnamed_addr constant [175 x i8] c"cpysl:\0A %oc = load i32, ptr %op\0A %scp3 = getelementptr i8, ptr %out, i32 %oc\0A store i8 47, ptr %scp3\0A %oc1 = add i32 %oc, 1\0A store i32 %oc1, ptr %op\0A br label %contseg\0A\00"
|
|
@.str3160 = private unnamed_addr constant [206 x i8] c"contseg:\0A %ci = load i32, ptr %ip\0A %cip = getelementptr i8, ptr %s, i32 %ci\0A %cic = load i8, ptr %cip\0A %cici = zext i8 %cic to i32\0A %atz = icmp eq i32 %cici, 0\0A br i1 %atz, label %finish, label %seg\0A\00"
|
|
@.str3161 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00"
|
|
@.str3162 = private unnamed_addr constant [110 x i8] c"finish:\0A %fo = load i32, ptr %op\0A %gt1 = icmp sgt i32 %fo, 1\0A br i1 %gt1, label %trimchk, label %fdefault\0A\00"
|
|
@.str3163 = private unnamed_addr constant [211 x i8] c"trimchk:\0A %lasto = sub i32 %fo, 1\0A %lop = getelementptr i8, ptr %out, i32 %lasto\0A %lc = load i8, ptr %lop\0A %lci = zext i8 %lc to i32\0A %istsl = icmp eq i32 %lci, 47\0A br i1 %istsl, label %trim, label %term\0A\00"
|
|
@.str3164 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00"
|
|
@.str3165 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00"
|
|
@.str3166 = private unnamed_addr constant [104 x i8] c"term:\0A %eo = load i32, ptr %op\0A %ez = icmp eq i32 %eo, 0\0A br i1 %ez, label %emptyout, label %putnul\0A\00"
|
|
@.str3167 = private unnamed_addr constant [114 x i8] c"emptyout:\0A store i8 46, ptr %out\0A %e1 = getelementptr i8, ptr %out, i32 1\0A store i8 0, ptr %e1\0A ret ptr %out\0A\00"
|
|
@.str3168 = private unnamed_addr constant [92 x i8] c"putnul:\0A %ep = getelementptr i8, ptr %out, i32 %eo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00"
|
|
@.str3169 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_exists(ptr %p) {\0A\00"
|
|
@.str3170 = private unnamed_addr constant [114 x i8] c"entry:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00"
|
|
@.str3171 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_is_dir(ptr %p) {\0A\00"
|
|
@.str3172 = private unnamed_addr constant [105 x i8] c"entry:\0A %d = call ptr @opendir(ptr %p)\0A %nz = icmp ne ptr %d, null\0A br i1 %nz, label %yes, label %no\0A\00"
|
|
@.str3173 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00"
|
|
@.str3174 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00"
|
|
@.str3175 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fs_size(ptr %p) {\0A\00"
|
|
@.str3176 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
|
|
@.str3177 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00"
|
|
@.str3178 = private unnamed_addr constant [147 x i8] c"ok:\0A call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n = call i64 @ftell(ptr %f)\0A call i32 @fclose(ptr %f)\0A %ni = trunc i64 %n to i32\0A ret i32 %ni\0A}\0A\00"
|
|
@.str3179 = private unnamed_addr constant [50 x i8] c"define ptr @fn_fs_readall(ptr %p, ptr %lenout) {\0A\00"
|
|
@.str3180 = private unnamed_addr constant [146 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
|
|
@.str3181 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00"
|
|
@.str3182 = private unnamed_addr constant [147 x i8] c"ok:\0A call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A call i32 @fseek(ptr %f, i64 0, i32 0)\0A %n = trunc i64 %n64 to i32\0A\00"
|
|
@.str3183 = private unnamed_addr constant [144 x i8] c" %cap = add i64 %n64, 1\0A %m = call ptr @malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00"
|
|
@.str3184 = private unnamed_addr constant [145 x i8] c" %rdi = trunc i64 %rd to i32\0A %endp = getelementptr i8, ptr %m, i32 %rdi\0A store i8 0, ptr %endp\0A store i32 %rdi, ptr %lenout\0A ret ptr %m\0A}\0A\00"
|
|
@.str3185 = private unnamed_addr constant [39 x i8] c"define ptr @fn_fs_read_text(ptr %p) {\0A\00"
|
|
@.str3186 = private unnamed_addr constant [90 x i8] c"entry:\0A %lp = alloca i32\0A %r = call ptr @fn_fs_readall(ptr %p, ptr %lp)\0A ret ptr %r\0A}\0A\00"
|
|
@.str3187 = private unnamed_addr constant [48 x i8] c"define i32 @fn_fs_write_text(ptr %p, ptr %s) {\0A\00"
|
|
@.str3188 = private unnamed_addr constant [185 x i8] c"entry:\0A %tmp = call ptr @fn_path_join_ext(ptr %p, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
|
|
@.str3189 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
|
|
@.str3190 = private unnamed_addr constant [119 x i8] c"ok:\0A %n = call i64 @strlen(ptr %s)\0A %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00"
|
|
@.str3191 = private unnamed_addr constant [114 x i8] c" %rr = call i32 @rename(ptr %tmp, ptr %p)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00"
|
|
@.str3192 = private unnamed_addr constant [48 x i8] c"define ptr @fn_path_join_ext(ptr %a, ptr %b) {\0A\00"
|
|
@.str3193 = private unnamed_addr constant [159 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00"
|
|
@.str3194 = private unnamed_addr constant [212 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A %m2 = getelementptr i8, ptr %m, i64 %la\0A call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\0A %ep = getelementptr i8, ptr %m, i64 %sum\0A store i8 0, ptr %ep\0A ret ptr %m\0A}\0A\00"
|
|
@.str3195 = private unnamed_addr constant [49 x i8] c"define i32 @fn_fs_append_text(ptr %p, ptr %s) {\0A\00"
|
|
@.str3196 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_ab)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
|
|
@.str3197 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
|
|
@.str3198 = private unnamed_addr constant [128 x i8] c"ok:\0A %n = call i64 @strlen(ptr %s)\0A call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\0A call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\00"
|
|
@.str3199 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_remove(ptr %p) {\0A\00"
|
|
@.str3200 = private unnamed_addr constant [107 x i8] c"entry:\0A %r = call i32 @remove(ptr %p)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00"
|
|
@.str3201 = private unnamed_addr constant [46 x i8] c"define i32 @fn_fs_copy(ptr %src, ptr %dst) {\0A\00"
|
|
@.str3202 = private unnamed_addr constant [145 x i8] c"entry:\0A %lp = alloca i32\0A %buf = call ptr @fn_fs_readall(ptr %src, ptr %lp)\0A %nz = icmp ne ptr %buf, null\0A br i1 %nz, label %ok, label %bad\0A\00"
|
|
@.str3203 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
|
|
@.str3204 = private unnamed_addr constant [185 x i8] c"ok:\0A %tmp = call ptr @fn_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %fnz = icmp ne ptr %f, null\0A br i1 %fnz, label %w, label %bad\0A\00"
|
|
@.str3205 = private unnamed_addr constant [255 x i8] c"w:\0A %n = load i32, ptr %lp\0A %nz64 = zext i32 %n to i64\0A call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rr = call i32 @rename(ptr %tmp, ptr %dst)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00"
|
|
@.str3206 = private unnamed_addr constant [35 x i8] c"define i32 @fn_fs_mkdir(ptr %p) {\0A\00"
|
|
@.str3207 = private unnamed_addr constant [105 x i8] c"entry:\0A %dup = call ptr @fn_fs_strdup(ptr %p)\0A %ip = alloca i32\0A store i32 1, ptr %ip\0A br label %lp\0A\00"
|
|
@.str3208 = private unnamed_addr constant [183 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %dup, i32 %i\0A %c = load i8, ptr %pp\0A %ci = zext i8 %c to i32\0A %z = icmp eq i32 %ci, 0\0A br i1 %z, label %fin, label %go\0A\00"
|
|
@.str3209 = private unnamed_addr constant [68 x i8] c"go:\0A %sl = icmp eq i32 %ci, 47\0A br i1 %sl, label %cut, label %nx\0A\00"
|
|
@.str3210 = private unnamed_addr constant [103 x i8] c"cut:\0A store i8 0, ptr %pp\0A call i32 @mkdir(ptr %dup, i32 493)\0A store i8 47, ptr %pp\0A br label %nx\0A\00"
|
|
@.str3211 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00"
|
|
@.str3212 = private unnamed_addr constant [96 x i8] c"fin:\0A call i32 @mkdir(ptr %dup, i32 493)\0A %r = call i32 @fn_fs_is_dir(ptr %p)\0A ret i32 %r\0A}\0A\00"
|
|
@.str3213 = private unnamed_addr constant [37 x i8] c"define ptr @fn_fs_list(ptr %path) {\0A\00"
|
|
@.str3214 = private unnamed_addr constant [223 x i8] c"entry:\0A %h = call ptr @malloc(i64 16)\0A %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A\00"
|
|
@.str3215 = private unnamed_addr constant [182 x i8] c" %datap = alloca ptr\0A %cntp = alloca i32\0A %capp = alloca i32\0A %init = call ptr @malloc(i64 128)\0A store ptr %init, ptr %datap\0A store i32 0, ptr %cntp\0A store i32 16, ptr %capp\0A\00"
|
|
@.str3216 = private unnamed_addr constant [109 x i8] c" %dir = call ptr @opendir(ptr %path)\0A %dnz = icmp ne ptr %dir, null\0A br i1 %dnz, label %rd, label %empty\0A\00"
|
|
@.str3217 = private unnamed_addr constant [114 x i8] c"rd:\0A %de = call ptr @readdir(ptr %dir)\0A %denz = icmp ne ptr %de, null\0A br i1 %denz, label %ent, label %closed\0A\00"
|
|
@.str3218 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00"
|
|
@.str3219 = private unnamed_addr constant [135 x i8] c" %n0 = load i8, ptr %namep\0A %n0i = zext i8 %n0 to i32\0A %isdot0 = icmp eq i32 %n0i, 46\0A br i1 %isdot0, label %chkdots, label %keep\0A\00"
|
|
@.str3220 = private unnamed_addr constant [176 x i8] c"chkdots:\0A %n1p = getelementptr i8, ptr %namep, i32 1\0A %n1 = load i8, ptr %n1p\0A %n1i = zext i8 %n1 to i32\0A %n1z = icmp eq i32 %n1i, 0\0A br i1 %n1z, label %rd, label %chkdd\0A\00"
|
|
@.str3221 = private unnamed_addr constant [85 x i8] c"chkdd:\0A %isdot1 = icmp eq i32 %n1i, 46\0A br i1 %isdot1, label %chkdd2, label %keep\0A\00"
|
|
@.str3222 = private unnamed_addr constant [174 x i8] c"chkdd2:\0A %n2p = getelementptr i8, ptr %namep, i32 2\0A %n2 = load i8, ptr %n2p\0A %n2i = zext i8 %n2 to i32\0A %n2z = icmp eq i32 %n2i, 0\0A br i1 %n2z, label %rd, label %keep\0A\00"
|
|
@.str3223 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @fn_fs_strdup(ptr %namep)\0A\00"
|
|
@.str3224 = private unnamed_addr constant [132 x i8] c" %cnt = load i32, ptr %cntp\0A %cap = load i32, ptr %capp\0A %full = icmp sge i32 %cnt, %cap\0A br i1 %full, label %grow, label %put\0A\00"
|
|
@.str3225 = private unnamed_addr constant [232 x i8] c"grow:\0A %nc = mul i32 %cap, 2\0A store i32 %nc, ptr %capp\0A %ncz = zext i32 %nc to i64\0A %nb = mul i64 %ncz, 8\0A %old = load ptr, ptr %datap\0A %new = call ptr @realloc(ptr %old, i64 %nb)\0A store ptr %new, ptr %datap\0A br label %put\0A\00"
|
|
@.str3226 = private unnamed_addr constant [215 x i8] c"put:\0A %data = load ptr, ptr %datap\0A %cnt2 = load i32, ptr %cntp\0A %slot = getelementptr ptr, ptr %data, i32 %cnt2\0A store ptr %nm, ptr %slot\0A %cnt3 = add i32 %cnt2, 1\0A store i32 %cnt3, ptr %cntp\0A br label %rd\0A\00"
|
|
@.str3227 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00"
|
|
@.str3228 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00"
|
|
@.str3229 = private unnamed_addr constant [130 x i8] c"sortit:\0A %fdata = load ptr, ptr %datap\0A %fcnt = load i32, ptr %cntp\0A %aip = alloca i32\0A store i32 1, ptr %aip\0A br label %so\0A\00"
|
|
@.str3230 = private unnamed_addr constant [104 x i8] c"so:\0A %ai = load i32, ptr %aip\0A %ailt = icmp slt i32 %ai, %fcnt\0A br i1 %ailt, label %sob, label %sod\0A\00"
|
|
@.str3231 = private unnamed_addr constant [166 x i8] c"sob:\0A %kp = getelementptr ptr, ptr %fdata, i32 %ai\0A %key = load ptr, ptr %kp\0A %jp = alloca i32\0A %aim1 = sub i32 %ai, 1\0A store i32 %aim1, ptr %jp\0A br label %si\0A\00"
|
|
@.str3232 = private unnamed_addr constant [98 x i8] c"si:\0A %jj = load i32, ptr %jp\0A %jge = icmp sge i32 %jj, 0\0A br i1 %jge, label %sic, label %sins\0A\00"
|
|
@.str3233 = private unnamed_addr constant [194 x i8] c"sic:\0A %ejp = getelementptr ptr, ptr %fdata, i32 %jj\0A %ej = load ptr, ptr %ejp\0A %cmp = call i32 @strcmp(ptr %ej, ptr %key)\0A %gt = icmp sgt i32 %cmp, 0\0A br i1 %gt, label %shift, label %sins\0A\00"
|
|
@.str3234 = private unnamed_addr constant [168 x i8] c"shift:\0A %j1 = add i32 %jj, 1\0A %dp1 = getelementptr ptr, ptr %fdata, i32 %j1\0A store ptr %ej, ptr %dp1\0A %jm = sub i32 %jj, 1\0A store i32 %jm, ptr %jp\0A br label %si\0A\00"
|
|
@.str3235 = private unnamed_addr constant [201 x i8] c"sins:\0A %jf = load i32, ptr %jp\0A %jf1 = add i32 %jf, 1\0A %insp = getelementptr ptr, ptr %fdata, i32 %jf1\0A store ptr %key, ptr %insp\0A %ai1 = add i32 %ai, 1\0A store i32 %ai1, ptr %aip\0A br label %so\0A\00"
|
|
@.str3236 = private unnamed_addr constant [103 x i8] c"sod:\0A store ptr %fdata, ptr %d0\0A store i32 %fcnt, ptr %d1\0A store i32 %fcnt, ptr %d2\0A ret ptr %h\0A}\0A\00"
|
|
@.str3237 = private unnamed_addr constant [4 x i8] c"png\00"
|
|
@.str3238 = private unnamed_addr constant [10 x i8] c"image/png\00"
|
|
@.str3239 = private unnamed_addr constant [4 x i8] c"jpg\00"
|
|
@.str3240 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
|
|
@.str3241 = private unnamed_addr constant [5 x i8] c"jpeg\00"
|
|
@.str3242 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
|
|
@.str3243 = private unnamed_addr constant [4 x i8] c"gif\00"
|
|
@.str3244 = private unnamed_addr constant [10 x i8] c"image/gif\00"
|
|
@.str3245 = private unnamed_addr constant [4 x i8] c"bmp\00"
|
|
@.str3246 = private unnamed_addr constant [10 x i8] c"image/bmp\00"
|
|
@.str3247 = private unnamed_addr constant [5 x i8] c"webp\00"
|
|
@.str3248 = private unnamed_addr constant [11 x i8] c"image/webp\00"
|
|
@.str3249 = private unnamed_addr constant [4 x i8] c"svg\00"
|
|
@.str3250 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00"
|
|
@.str3251 = private unnamed_addr constant [4 x i8] c"txt\00"
|
|
@.str3252 = private unnamed_addr constant [11 x i8] c"text/plain\00"
|
|
@.str3253 = private unnamed_addr constant [3 x i8] c"md\00"
|
|
@.str3254 = private unnamed_addr constant [14 x i8] c"text/markdown\00"
|
|
@.str3255 = private unnamed_addr constant [4 x i8] c"csv\00"
|
|
@.str3256 = private unnamed_addr constant [9 x i8] c"text/csv\00"
|
|
@.str3257 = private unnamed_addr constant [5 x i8] c"html\00"
|
|
@.str3258 = private unnamed_addr constant [10 x i8] c"text/html\00"
|
|
@.str3259 = private unnamed_addr constant [4 x i8] c"htm\00"
|
|
@.str3260 = private unnamed_addr constant [10 x i8] c"text/html\00"
|
|
@.str3261 = private unnamed_addr constant [4 x i8] c"css\00"
|
|
@.str3262 = private unnamed_addr constant [9 x i8] c"text/css\00"
|
|
@.str3263 = private unnamed_addr constant [3 x i8] c"js\00"
|
|
@.str3264 = private unnamed_addr constant [16 x i8] c"text/javascript\00"
|
|
@.str3265 = private unnamed_addr constant [5 x i8] c"json\00"
|
|
@.str3266 = private unnamed_addr constant [17 x i8] c"application/json\00"
|
|
@.str3267 = private unnamed_addr constant [4 x i8] c"xml\00"
|
|
@.str3268 = private unnamed_addr constant [16 x i8] c"application/xml\00"
|
|
@.str3269 = private unnamed_addr constant [4 x i8] c"zip\00"
|
|
@.str3270 = private unnamed_addr constant [16 x i8] c"application/zip\00"
|
|
@.str3271 = private unnamed_addr constant [4 x i8] c"pdf\00"
|
|
@.str3272 = private unnamed_addr constant [16 x i8] c"application/pdf\00"
|
|
@.str3273 = private unnamed_addr constant [4 x i8] c"wav\00"
|
|
@.str3274 = private unnamed_addr constant [10 x i8] c"audio/wav\00"
|
|
@.str3275 = private unnamed_addr constant [4 x i8] c"ogg\00"
|
|
@.str3276 = private unnamed_addr constant [10 x i8] c"audio/ogg\00"
|
|
@.str3277 = private unnamed_addr constant [4 x i8] c"mp3\00"
|
|
@.str3278 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00"
|
|
@.str3279 = private unnamed_addr constant [4 x i8] c"ttf\00"
|
|
@.str3280 = private unnamed_addr constant [9 x i8] c"font/ttf\00"
|
|
@.str3281 = private unnamed_addr constant [4 x i8] c"otf\00"
|
|
@.str3282 = private unnamed_addr constant [9 x i8] c"font/otf\00"
|
|
@.str3283 = private unnamed_addr constant [6 x i8] c"ludic\00"
|
|
@.str3284 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00"
|
|
@.str3285 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00"
|
|
@.str3286 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00"
|
|
@.str3287 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00"
|
|
@.str3288 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3289 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00"
|
|
@.str3290 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3291 = private unnamed_addr constant [3 x i8] c" }\00"
|
|
@.str3292 = private unnamed_addr constant [3 x i8] c"]\0A\00"
|
|
@.str3293 = private unnamed_addr constant [37 x i8] c"define ptr @fn_mime_of(ptr %path) {\0A\00"
|
|
@.str3294 = private unnamed_addr constant [146 x i8] c"entry:\0A %ext = call ptr @fn_path_ext(ptr %path)\0A %lc = call ptr @fn_mime_lc(ptr %ext)\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00"
|
|
@.str3295 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00"
|
|
@.str3296 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00"
|
|
@.str3297 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00"
|
|
@.str3298 = private unnamed_addr constant [182 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 0\0A %k = load ptr, ptr %kp\0A %c = call i32 @strcmp(ptr %lc, ptr %k)\0A %eq = icmp eq i32 %c, 0\0A br i1 %eq, label %hit, label %nx\0A\00"
|
|
@.str3299 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00"
|
|
@.str3300 = private unnamed_addr constant [131 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1\0A %v = load ptr, ptr %vp\0A %r = call ptr @fn_fs_strdup(ptr %v)\0A ret ptr %r\0A\00"
|
|
@.str3301 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00"
|
|
@.str3302 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @fn_fs_strdup(ptr \00"
|
|
@.str3303 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00"
|
|
@.str3304 = private unnamed_addr constant [34 x i8] c"define ptr @fn_mime_lc(ptr %s) {\0A\00"
|
|
@.str3305 = private unnamed_addr constant [132 x i8] c"entry:\0A %l64 = call i64 @strlen(ptr %s)\0A %l = trunc i64 %l64 to i32\0A %cap = add i64 %l64, 1\0A %out = call ptr @malloc(i64 %cap)\0A\00"
|
|
@.str3306 = private unnamed_addr constant [127 x i8] c" %b0 = load i8, ptr %s\0A %b0i = zext i8 %b0 to i32\0A %isdot = icmp eq i32 %b0i, 46\0A %start = select i1 %isdot, i32 1, i32 0\0A\00"
|
|
@.str3307 = private unnamed_addr constant [105 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A store i32 %start, ptr %ip\0A store i32 0, ptr %op\0A br label %lp\0A\00"
|
|
@.str3308 = private unnamed_addr constant [182 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %s, i32 %i\0A %c = load i8, ptr %pp\0A %ci = zext i8 %c to i32\0A %z = icmp eq i32 %ci, 0\0A br i1 %z, label %done, label %go\0A\00"
|
|
@.str3309 = private unnamed_addr constant [378 x i8] c"go:\0A %ua = icmp uge i32 %ci, 65\0A %ub = icmp ule i32 %ci, 90\0A %up = and i1 %ua, %ub\0A %lo = add i32 %ci, 32\0A %m = select i1 %up, i32 %lo, i32 %ci\0A %mt = trunc i32 %m to i8\0A %o = load i32, ptr %op\0A %dp = getelementptr i8, ptr %out, i32 %o\0A store i8 %mt, ptr %dp\0A %o1 = add i32 %o, 1\0A store i32 %o1, ptr %op\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00"
|
|
@.str3310 = private unnamed_addr constant [116 x i8] c"done:\0A %fo = load i32, ptr %op\0A %ep = getelementptr i8, ptr %out, i32 %fo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00"
|
|
@.str3311 = private unnamed_addr constant [40 x i8] c"define ptr @fn_mime_sniff(ptr %path) {\0A\00"
|
|
@.str3312 = private unnamed_addr constant [127 x i8] c"entry:\0A %f = call ptr @fopen(ptr %path, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %fallback\0A\00"
|
|
@.str3313 = private unnamed_addr constant [226 x i8] c"ok:\0A %buf = call ptr @malloc(i64 16)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rdi = trunc i64 %rd to i32\0A %has4 = icmp sge i32 %rdi, 4\0A br i1 %has4, label %chk, label %fallback\0A\00"
|
|
@.str3314 = private unnamed_addr constant [394 x i8] c"chk:\0A %b0p = getelementptr i8, ptr %buf, i32 0\0A %b0 = load i8, ptr %b0p\0A %b0i = zext i8 %b0 to i32\0A %b1p = getelementptr i8, ptr %buf, i32 1\0A %b1 = load i8, ptr %b1p\0A %b1i = zext i8 %b1 to i32\0A %b2p = getelementptr i8, ptr %buf, i32 2\0A %b2 = load i8, ptr %b2p\0A %b2i = zext i8 %b2 to i32\0A %b3p = getelementptr i8, ptr %buf, i32 3\0A %b3 = load i8, ptr %b3p\0A %b3i = zext i8 %b3 to i32\0A\00"
|
|
@.str3315 = private unnamed_addr constant [225 x i8] c" %p0 = icmp eq i32 %b0i, 137\0A %p1 = icmp eq i32 %b1i, 80\0A %p2 = icmp eq i32 %b2i, 78\0A %p3 = icmp eq i32 %b3i, 71\0A %pa = and i1 %p0, %p1\0A %pb = and i1 %pa, %p2\0A %pc = and i1 %pb, %p3\0A br i1 %pc, label %png, label %cj\0A\00"
|
|
@.str3316 = private unnamed_addr constant [72 x i8] c"png:\0A %rpng = call ptr @fn_fs_strdup(ptr @fn_sig_png)\0A ret ptr %rpng\0A\00"
|
|
@.str3317 = private unnamed_addr constant [178 x i8] c"cj:\0A %j0 = icmp eq i32 %b0i, 255\0A %j1 = icmp eq i32 %b1i, 216\0A %j2 = icmp eq i32 %b2i, 255\0A %ja = and i1 %j0, %j1\0A %jb = and i1 %ja, %j2\0A br i1 %jb, label %jpg, label %cg\0A\00"
|
|
@.str3318 = private unnamed_addr constant [72 x i8] c"jpg:\0A %rjpg = call ptr @fn_fs_strdup(ptr @fn_sig_jpg)\0A ret ptr %rjpg\0A\00"
|
|
@.str3319 = private unnamed_addr constant [175 x i8] c"cg:\0A %g0 = icmp eq i32 %b0i, 71\0A %g1 = icmp eq i32 %b1i, 73\0A %g2 = icmp eq i32 %b2i, 70\0A %ga = and i1 %g0, %g1\0A %gb = and i1 %ga, %g2\0A br i1 %gb, label %gif, label %cp\0A\00"
|
|
@.str3320 = private unnamed_addr constant [72 x i8] c"gif:\0A %rgif = call ptr @fn_fs_strdup(ptr @fn_sig_gif)\0A ret ptr %rgif\0A\00"
|
|
@.str3321 = private unnamed_addr constant [234 x i8] c"cp:\0A %q0 = icmp eq i32 %b0i, 37\0A %q1 = icmp eq i32 %b1i, 80\0A %q2 = icmp eq i32 %b2i, 68\0A %q3 = icmp eq i32 %b3i, 70\0A %qa = and i1 %q0, %q1\0A %qb = and i1 %qa, %q2\0A %qc = and i1 %qb, %q3\0A br i1 %qc, label %pdf, label %fallback\0A\00"
|
|
@.str3322 = private unnamed_addr constant [72 x i8] c"pdf:\0A %rpdf = call ptr @fn_fs_strdup(ptr @fn_sig_pdf)\0A ret ptr %rpdf\0A\00"
|
|
@.str3323 = private unnamed_addr constant [65 x i8] c"fallback:\0A %r = call ptr @fn_mime_of(ptr %path)\0A ret ptr %r\0A}\0A\00"
|
|
@.str3324 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
|
|
@.str3325 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
|
|
@.str3326 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00"
|
|
@.str3327 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00"
|
|
@.str3328 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00"
|
|
@.str3329 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00"
|
|
@.str3330 = private unnamed_addr constant [68 x i8] c"@fn_str_dottmp = private unnamed_addr constant [5 x i8] c\22.tmp\5C00\22\0A\00"
|
|
@.str3331 = private unnamed_addr constant [71 x i8] c"@fn_sig_png = private unnamed_addr constant [10 x i8] c\22image/png\5C00\22\0A\00"
|
|
@.str3332 = private unnamed_addr constant [72 x i8] c"@fn_sig_jpg = private unnamed_addr constant [11 x i8] c\22image/jpeg\5C00\22\0A\00"
|
|
@.str3333 = private unnamed_addr constant [71 x i8] c"@fn_sig_gif = private unnamed_addr constant [10 x i8] c\22image/gif\5C00\22\0A\00"
|
|
@.str3334 = private unnamed_addr constant [77 x i8] c"@fn_sig_pdf = private unnamed_addr constant [16 x i8] c\22application/pdf\5C00\22\0A\00"
|
|
@.str3335 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str3336 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
|
|
@.str3337 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3338 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3339 = private unnamed_addr constant [4 x i8] c"len\00"
|
|
@.str3340 = private unnamed_addr constant [5 x i8] c"push\00"
|
|
@.str3341 = private unnamed_addr constant [6 x i8] c"clear\00"
|
|
@.str3342 = private unnamed_addr constant [6 x i8] c"first\00"
|
|
@.str3343 = private unnamed_addr constant [5 x i8] c"last\00"
|
|
@.str3344 = private unnamed_addr constant [4 x i8] c"pop\00"
|
|
@.str3345 = private unnamed_addr constant [5 x i8] c"swap\00"
|
|
@.str3346 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str3347 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str3348 = private unnamed_addr constant [8 x i8] c"reverse\00"
|
|
@.str3349 = private unnamed_addr constant [7 x i8] c"insert\00"
|
|
@.str3350 = private unnamed_addr constant [10 x i8] c"remove_at\00"
|
|
@.str3351 = private unnamed_addr constant [7 x i8] c"remove\00"
|
|
@.str3352 = private unnamed_addr constant [5 x i8] c"sort\00"
|
|
@.str3353 = private unnamed_addr constant [8 x i8] c"sort_by\00"
|
|
@.str3354 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
|
|
@.str3355 = private unnamed_addr constant [10 x i8] c"sort_with\00"
|
|
@.str3356 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3357 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3358 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str3359 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3360 = private unnamed_addr constant [3 x i8] c"ig\00"
|
|
@.str3361 = private unnamed_addr constant [4 x i8] c"igd\00"
|
|
@.str3362 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3363 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3364 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3365 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3366 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3367 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3368 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str3369 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str3370 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3371 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str3372 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
|
|
@.str3373 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str3374 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3375 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str3376 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3377 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str3378 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
|
|
@.str3379 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str3380 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3381 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str3382 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3383 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3384 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3385 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3386 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3387 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3388 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3389 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3390 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
|
|
@.str3391 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3392 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3393 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
|
|
@.str3394 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3395 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3396 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00"
|
|
@.str3397 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str3398 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3399 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3400 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3401 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3402 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str3403 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3404 = private unnamed_addr constant [6 x i8] c"call \00"
|
|
@.str3405 = private unnamed_addr constant [6 x i8] c" @fn_\00"
|
|
@.str3406 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str3407 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3408 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3409 = private unnamed_addr constant [6 x i8] c"call \00"
|
|
@.str3410 = private unnamed_addr constant [6 x i8] c" @fn_\00"
|
|
@.str3411 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str3412 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3413 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3414 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
|
|
@.str3415 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3416 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3417 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
|
|
@.str3418 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3419 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3420 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str3421 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3422 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str3423 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3424 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str3425 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3426 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str3427 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3428 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3429 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3430 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str3431 = private unnamed_addr constant [6 x i8] c"ms_wc\00"
|
|
@.str3432 = private unnamed_addr constant [6 x i8] c"ms_wb\00"
|
|
@.str3433 = private unnamed_addr constant [6 x i8] c"ms_we\00"
|
|
@.str3434 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3435 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3436 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3437 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3438 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3439 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3440 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3441 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3442 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3443 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3444 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3445 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3446 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str3447 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3448 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3449 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3450 = private unnamed_addr constant [6 x i8] c"ms_ic\00"
|
|
@.str3451 = private unnamed_addr constant [6 x i8] c"ms_ib\00"
|
|
@.str3452 = private unnamed_addr constant [6 x i8] c"ms_ie\00"
|
|
@.str3453 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3454 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3455 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3456 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3457 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3458 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3459 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3460 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3461 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3462 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3463 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3464 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3465 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3466 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3467 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3468 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str3469 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3470 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3471 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3472 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3473 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3474 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3475 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str3476 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3477 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3478 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3479 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3480 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3481 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3482 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3483 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3484 = private unnamed_addr constant [6 x i8] c"ms_mc\00"
|
|
@.str3485 = private unnamed_addr constant [6 x i8] c"ms_mb\00"
|
|
@.str3486 = private unnamed_addr constant [8 x i8] c"ms_mend\00"
|
|
@.str3487 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3488 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3489 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3490 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3491 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3492 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3493 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3494 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3495 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3496 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3497 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3498 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3499 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3500 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3501 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3502 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3503 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3504 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3505 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3506 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3507 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3508 = private unnamed_addr constant [9 x i8] c"ms_takeR\00"
|
|
@.str3509 = private unnamed_addr constant [9 x i8] c"ms_takeL\00"
|
|
@.str3510 = private unnamed_addr constant [9 x i8] c"ms_takeD\00"
|
|
@.str3511 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3512 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3513 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3514 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3515 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3516 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3517 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3518 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3519 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3520 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3521 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3522 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3523 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3524 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3525 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3526 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3527 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3528 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3529 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3530 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3531 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3532 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3533 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3534 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3535 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3536 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3537 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3538 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3539 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3540 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3541 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3542 = private unnamed_addr constant [7 x i8] c"ms_dac\00"
|
|
@.str3543 = private unnamed_addr constant [7 x i8] c"ms_dab\00"
|
|
@.str3544 = private unnamed_addr constant [7 x i8] c"ms_dae\00"
|
|
@.str3545 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3546 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3547 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3548 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3549 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3550 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3551 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3552 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3553 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3554 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3555 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3556 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3557 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3558 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3559 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3560 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3561 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3562 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3563 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3564 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3565 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3566 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3567 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3568 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3569 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3570 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3571 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3572 = private unnamed_addr constant [7 x i8] c"ms_dbc\00"
|
|
@.str3573 = private unnamed_addr constant [7 x i8] c"ms_dbb\00"
|
|
@.str3574 = private unnamed_addr constant [7 x i8] c"ms_dbe\00"
|
|
@.str3575 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3576 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3577 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3578 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3579 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3580 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3581 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3582 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3583 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3584 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3585 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3586 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3587 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3588 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3589 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3590 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3591 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3592 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3593 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3594 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3595 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3596 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3597 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3598 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3599 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3600 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3601 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3602 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3603 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3604 = private unnamed_addr constant [7 x i8] c"ms_cbc\00"
|
|
@.str3605 = private unnamed_addr constant [7 x i8] c"ms_cbb\00"
|
|
@.str3606 = private unnamed_addr constant [7 x i8] c"ms_cbe\00"
|
|
@.str3607 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3608 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3609 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3610 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3611 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3612 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3613 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3614 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3615 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3616 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3617 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3618 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3619 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3620 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3621 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3622 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3623 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3624 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3625 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3626 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3627 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3628 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3629 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3630 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3631 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3632 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3633 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3634 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3635 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3636 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3637 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3638 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3639 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3640 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
|
|
@.str3641 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str3642 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str3643 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00"
|
|
@.str3644 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str3645 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00"
|
|
@.str3646 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str3647 = private unnamed_addr constant [22 x i8] c": no function named '\00"
|
|
@.str3648 = private unnamed_addr constant [2 x i8] c"'\00"
|
|
@.str3649 = private unnamed_addr constant [4 x i8] c"len\00"
|
|
@.str3650 = private unnamed_addr constant [5 x i8] c"push\00"
|
|
@.str3651 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str3652 = private unnamed_addr constant [15 x i8] c" needs a slice\00"
|
|
@.str3653 = private unnamed_addr constant [6 x i8] c"clear\00"
|
|
@.str3654 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str3655 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3656 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3657 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3658 = private unnamed_addr constant [6 x i8] c"first\00"
|
|
@.str3659 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3660 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3661 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3662 = private unnamed_addr constant [5 x i8] c"last\00"
|
|
@.str3663 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3664 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3665 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3666 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3667 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3668 = private unnamed_addr constant [4 x i8] c"pop\00"
|
|
@.str3669 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3670 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3671 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3672 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3673 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3674 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3675 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3676 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3677 = private unnamed_addr constant [5 x i8] c"swap\00"
|
|
@.str3678 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3679 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3680 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3681 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3682 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3683 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3684 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3685 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3686 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3687 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3688 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3689 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3690 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3691 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3692 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str3693 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str3694 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3695 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3696 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3697 = private unnamed_addr constant [3 x i8] c"-1\00"
|
|
@.str3698 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3699 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3700 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3701 = private unnamed_addr constant [8 x i8] c"lc_cond\00"
|
|
@.str3702 = private unnamed_addr constant [8 x i8] c"lc_body\00"
|
|
@.str3703 = private unnamed_addr constant [7 x i8] c"lc_hit\00"
|
|
@.str3704 = private unnamed_addr constant [8 x i8] c"lc_next\00"
|
|
@.str3705 = private unnamed_addr constant [7 x i8] c"lc_end\00"
|
|
@.str3706 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3707 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3708 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3709 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3710 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3711 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3712 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3713 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3714 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3715 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3716 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3717 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3718 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3719 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
|
|
@.str3720 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3721 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3722 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3723 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3724 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3725 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3726 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3727 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3728 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3729 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3730 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3731 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3732 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3733 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3734 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3735 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3736 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3737 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3738 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str3739 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3740 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str3741 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3742 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str3743 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3744 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3745 = private unnamed_addr constant [7 x i8] c"insert\00"
|
|
@.str3746 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3747 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3748 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3749 = private unnamed_addr constant [5 x i8] c"li_c\00"
|
|
@.str3750 = private unnamed_addr constant [5 x i8] c"li_b\00"
|
|
@.str3751 = private unnamed_addr constant [5 x i8] c"li_e\00"
|
|
@.str3752 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3753 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3754 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3755 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3756 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str3757 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3758 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3759 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3760 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3761 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3762 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3763 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3764 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3765 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3766 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3767 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3768 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3769 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3770 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3771 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3772 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3773 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3774 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3775 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3776 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3777 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3778 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3779 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3780 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3781 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3782 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3783 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3784 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3785 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3786 = private unnamed_addr constant [10 x i8] c"remove_at\00"
|
|
@.str3787 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3788 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3789 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3790 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3791 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3792 = private unnamed_addr constant [5 x i8] c"lr_c\00"
|
|
@.str3793 = private unnamed_addr constant [5 x i8] c"lr_b\00"
|
|
@.str3794 = private unnamed_addr constant [5 x i8] c"lr_e\00"
|
|
@.str3795 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3796 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3797 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3798 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3799 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3800 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3801 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3802 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3803 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3804 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3805 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3806 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3807 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3808 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3809 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3810 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3811 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3812 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3813 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3814 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3815 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3816 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3817 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3818 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3819 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3820 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3821 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3822 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3823 = private unnamed_addr constant [7 x i8] c"remove\00"
|
|
@.str3824 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3825 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3826 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3827 = private unnamed_addr constant [3 x i8] c"-1\00"
|
|
@.str3828 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3829 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3830 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3831 = private unnamed_addr constant [5 x i8] c"lv_c\00"
|
|
@.str3832 = private unnamed_addr constant [5 x i8] c"lv_b\00"
|
|
@.str3833 = private unnamed_addr constant [5 x i8] c"lv_h\00"
|
|
@.str3834 = private unnamed_addr constant [5 x i8] c"lv_n\00"
|
|
@.str3835 = private unnamed_addr constant [5 x i8] c"lv_e\00"
|
|
@.str3836 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3837 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3838 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3839 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3840 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3841 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3842 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3843 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3844 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3845 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3846 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3847 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3848 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3849 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3850 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3851 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3852 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3853 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3854 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
|
|
@.str3855 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3856 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3857 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3858 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3859 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3860 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3861 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3862 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3863 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3864 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3865 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3866 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3867 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3868 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3869 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3870 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3871 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3872 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3873 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str3874 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3875 = private unnamed_addr constant [6 x i8] c"lv_do\00"
|
|
@.str3876 = private unnamed_addr constant [7 x i8] c"lv_end\00"
|
|
@.str3877 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3878 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3879 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3880 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3881 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3882 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3883 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3884 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3885 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3886 = private unnamed_addr constant [6 x i8] c"lv_dc\00"
|
|
@.str3887 = private unnamed_addr constant [6 x i8] c"lv_db\00"
|
|
@.str3888 = private unnamed_addr constant [6 x i8] c"lv_de\00"
|
|
@.str3889 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3890 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3891 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3892 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3893 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3894 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3895 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3896 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3897 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3898 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3899 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3900 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3901 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3902 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3903 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3904 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3905 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3906 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3907 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3908 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3909 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3910 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3911 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3912 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3913 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3914 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3915 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3916 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3917 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3918 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3919 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3920 = private unnamed_addr constant [5 x i8] c"sort\00"
|
|
@.str3921 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3922 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3923 = private unnamed_addr constant [5 x i8] c", 32\00"
|
|
@.str3924 = private unnamed_addr constant [9 x i8] c"sort_ins\00"
|
|
@.str3925 = private unnamed_addr constant [9 x i8] c"sort_mrg\00"
|
|
@.str3926 = private unnamed_addr constant [9 x i8] c"sort_end\00"
|
|
@.str3927 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3928 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3929 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3930 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3931 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3932 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3933 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3934 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3935 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str3936 = private unnamed_addr constant [6 x i8] c"ls_oc\00"
|
|
@.str3937 = private unnamed_addr constant [6 x i8] c"ls_ob\00"
|
|
@.str3938 = private unnamed_addr constant [6 x i8] c"ls_oe\00"
|
|
@.str3939 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3940 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3941 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3942 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3943 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3944 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3945 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3946 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3947 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3948 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3949 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3950 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3951 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3952 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3953 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3954 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3955 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3956 = private unnamed_addr constant [6 x i8] c"ls_ic\00"
|
|
@.str3957 = private unnamed_addr constant [6 x i8] c"ls_ib\00"
|
|
@.str3958 = private unnamed_addr constant [6 x i8] c"ls_ie\00"
|
|
@.str3959 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3960 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3961 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3962 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3963 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str3964 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3965 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3966 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3967 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
|
|
@.str3968 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3969 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3970 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3971 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3972 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3973 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3974 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3975 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3976 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3977 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3978 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3979 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3980 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3981 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3982 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3983 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3984 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3985 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3986 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3987 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3988 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3989 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3990 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3991 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3992 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3993 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3994 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3995 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3996 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3997 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3998 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3999 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4000 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4001 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4002 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4003 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4004 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4005 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str4006 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str4007 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4008 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4009 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4010 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4011 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4012 = private unnamed_addr constant [10 x i8] c"sort_with\00"
|
|
@.str4013 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00"
|
|
@.str4014 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00"
|
|
@.str4015 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4016 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4017 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4018 = private unnamed_addr constant [8 x i8] c"sort_by\00"
|
|
@.str4019 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
|
|
@.str4020 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str4021 = private unnamed_addr constant [8 x i8] c": key '\00"
|
|
@.str4022 = private unnamed_addr constant [25 x i8] c"' must take one argument\00"
|
|
@.str4023 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4024 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4025 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str4026 = private unnamed_addr constant [8 x i8] c": key '\00"
|
|
@.str4027 = private unnamed_addr constant [23 x i8] c"' must return a number\00"
|
|
@.str4028 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
|
|
@.str4029 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4030 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4031 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4032 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4033 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4034 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4035 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4036 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4037 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4038 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4039 = private unnamed_addr constant [8 x i8] c"lr_cond\00"
|
|
@.str4040 = private unnamed_addr constant [8 x i8] c"lr_body\00"
|
|
@.str4041 = private unnamed_addr constant [7 x i8] c"lr_end\00"
|
|
@.str4042 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4043 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4044 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4045 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4046 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4047 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4048 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4049 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4050 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4051 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4052 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4053 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4054 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str4055 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4056 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str4057 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4058 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str4059 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4060 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4061 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4062 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str4063 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4064 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4065 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4066 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4067 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4068 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4069 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4070 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4071 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4072 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4073 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4074 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4075 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4076 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4077 = private unnamed_addr constant [3 x i8] c"in\00"
|
|
@.str4078 = private unnamed_addr constant [4 x i8] c"out\00"
|
|
@.str4079 = private unnamed_addr constant [7 x i8] c"in_out\00"
|
|
@.str4080 = private unnamed_addr constant [5 x i8] c"back\00"
|
|
@.str4081 = private unnamed_addr constant [7 x i8] c"bounce\00"
|
|
@.str4082 = private unnamed_addr constant [8 x i8] c"elastic\00"
|
|
@.str4083 = private unnamed_addr constant [7 x i8] c"495616\00"
|
|
@.str4084 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4085 = private unnamed_addr constant [8 x i8] c", 35747\00"
|
|
@.str4086 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4087 = private unnamed_addr constant [8 x i8] c", 49152\00"
|
|
@.str4088 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4089 = private unnamed_addr constant [8 x i8] c", 53620\00"
|
|
@.str4090 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4091 = private unnamed_addr constant [8 x i8] c", 61440\00"
|
|
@.str4092 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4093 = private unnamed_addr constant [8 x i8] c", 62557\00"
|
|
@.str4094 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4095 = private unnamed_addr constant [8 x i8] c", 64512\00"
|
|
@.str4096 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4097 = private unnamed_addr constant [8 x i8] c", 59578\00"
|
|
@.str4098 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4099 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4100 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4101 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4102 = private unnamed_addr constant [8 x i8] c", 47663\00"
|
|
@.str4103 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4104 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4105 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4106 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4107 = private unnamed_addr constant [8 x i8] c", 23831\00"
|
|
@.str4108 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4109 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4110 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4111 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
|
|
@.str4112 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4113 = private unnamed_addr constant [4 x i8] c", 3\00"
|
|
@.str4114 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4115 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str4116 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4117 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4118 = private unnamed_addr constant [7 x i8] c"177051\00"
|
|
@.str4119 = private unnamed_addr constant [7 x i8] c"111515\00"
|
|
@.str4120 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4121 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4122 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4123 = private unnamed_addr constant [5 x i8] c", 10\00"
|
|
@.str4124 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str4125 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
|
|
@.str4126 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4127 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4128 = private unnamed_addr constant [8 x i8] c", 49152\00"
|
|
@.str4129 = private unnamed_addr constant [7 x i8] c"137258\00"
|
|
@.str4130 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str4131 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4132 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4133 = private unnamed_addr constant [8 x i8] c", 65536\00"
|
|
@.str4134 = private unnamed_addr constant [3 x i8] c"in\00"
|
|
@.str4135 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4136 = private unnamed_addr constant [4 x i8] c"out\00"
|
|
@.str4137 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4138 = private unnamed_addr constant [7 x i8] c"in_out\00"
|
|
@.str4139 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4140 = private unnamed_addr constant [5 x i8] c"back\00"
|
|
@.str4141 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4142 = private unnamed_addr constant [8 x i8] c"elastic\00"
|
|
@.str4143 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4144 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4145 = private unnamed_addr constant [6 x i8] c"frame\00"
|
|
@.str4146 = private unnamed_addr constant [5 x i8] c"once\00"
|
|
@.str4147 = private unnamed_addr constant [9 x i8] c"pingpong\00"
|
|
@.str4148 = private unnamed_addr constant [9 x i8] c"finished\00"
|
|
@.str4149 = private unnamed_addr constant [9 x i8] c"duration\00"
|
|
@.str4150 = private unnamed_addr constant [7 x i8] c"cell_x\00"
|
|
@.str4151 = private unnamed_addr constant [7 x i8] c"cell_y\00"
|
|
@.str4152 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4153 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4154 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4155 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4156 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str4157 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4158 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
|
|
@.str4159 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4160 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str4161 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4162 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4163 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4164 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4165 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
|
|
@.str4166 = private unnamed_addr constant [6 x i8] c"frame\00"
|
|
@.str4167 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4168 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4169 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4170 = private unnamed_addr constant [5 x i8] c"once\00"
|
|
@.str4171 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4172 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4173 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4174 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4175 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4176 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4177 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4178 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4179 = private unnamed_addr constant [9 x i8] c"pingpong\00"
|
|
@.str4180 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4181 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str4182 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4183 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str4184 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4185 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4186 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4187 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4188 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4189 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4190 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4191 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4192 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4193 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4194 = private unnamed_addr constant [9 x i8] c"finished\00"
|
|
@.str4195 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str4196 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4197 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4198 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4199 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4200 = private unnamed_addr constant [9 x i8] c"duration\00"
|
|
@.str4201 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str4202 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4203 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4204 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4205 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4206 = private unnamed_addr constant [7 x i8] c"cell_x\00"
|
|
@.str4207 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4208 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4209 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4210 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4211 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4212 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4213 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4214 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4215 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4216 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4217 = private unnamed_addr constant [9 x i8] c"progress\00"
|
|
@.str4218 = private unnamed_addr constant [5 x i8] c"loop\00"
|
|
@.str4219 = private unnamed_addr constant [5 x i8] c"yoyo\00"
|
|
@.str4220 = private unnamed_addr constant [5 x i8] c"done\00"
|
|
@.str4221 = private unnamed_addr constant [5 x i8] c"ease\00"
|
|
@.str4222 = private unnamed_addr constant [7 x i8] c"number\00"
|
|
@.str4223 = private unnamed_addr constant [6 x i8] c"round\00"
|
|
@.str4224 = private unnamed_addr constant [6 x i8] c"point\00"
|
|
@.str4225 = private unnamed_addr constant [5 x i8] c"tint\00"
|
|
@.str4226 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str4227 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4228 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4229 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4230 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
|
|
@.str4231 = private unnamed_addr constant [9 x i8] c"progress\00"
|
|
@.str4232 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str4233 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4234 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4235 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4236 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
|
|
@.str4237 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4238 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4239 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4240 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str4241 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str4242 = private unnamed_addr constant [8 x i8] c", 65536\00"
|
|
@.str4243 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4244 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
|
|
@.str4245 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4246 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4247 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
|
|
@.str4248 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4249 = private unnamed_addr constant [5 x i8] c"loop\00"
|
|
@.str4250 = private unnamed_addr constant [9 x i8] c"and i32 \00"
|
|
@.str4251 = private unnamed_addr constant [8 x i8] c", 65535\00"
|
|
@.str4252 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4253 = private unnamed_addr constant [5 x i8] c"yoyo\00"
|
|
@.str4254 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4255 = private unnamed_addr constant [9 x i8] c", 131072\00"
|
|
@.str4256 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
|
|
@.str4257 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
|
|
@.str4258 = private unnamed_addr constant [8 x i8] c", 65536\00"
|
|
@.str4259 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4260 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4261 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4262 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4263 = private unnamed_addr constant [5 x i8] c"done\00"
|
|
@.str4264 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str4265 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4266 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4267 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4268 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4269 = private unnamed_addr constant [5 x i8] c"ease\00"
|
|
@.str4270 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00"
|
|
@.str4271 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4272 = private unnamed_addr constant [7 x i8] c"number\00"
|
|
@.str4273 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4274 = private unnamed_addr constant [6 x i8] c"round\00"
|
|
@.str4275 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4276 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4277 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4278 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4279 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4280 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4281 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str4282 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4283 = private unnamed_addr constant [9 x i8] c"add i64 \00"
|
|
@.str4284 = private unnamed_addr constant [8 x i8] c", 32768\00"
|
|
@.str4285 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
|
|
@.str4286 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4287 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str4288 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4289 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4290 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4291 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4292 = private unnamed_addr constant [6 x i8] c"point\00"
|
|
@.str4293 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str4294 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str4295 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str4296 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str4297 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str4298 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4299 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4300 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4301 = private unnamed_addr constant [6 x i8] c"rects\00"
|
|
@.str4302 = private unnamed_addr constant [11 x i8] c"point_rect\00"
|
|
@.str4303 = private unnamed_addr constant [8 x i8] c"circles\00"
|
|
@.str4304 = private unnamed_addr constant [12 x i8] c"rect_circle\00"
|
|
@.str4305 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4306 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4307 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4308 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4309 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str4310 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4311 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str4312 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4313 = private unnamed_addr constant [9 x i8] c"add i64 \00"
|
|
@.str4314 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4315 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4316 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4317 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4318 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4319 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4320 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str4321 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4322 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4323 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4324 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4325 = private unnamed_addr constant [6 x i8] c"rects\00"
|
|
@.str4326 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4327 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4328 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4329 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4330 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4331 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4332 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4333 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4334 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4335 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4336 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4337 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4338 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4339 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4340 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4341 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4342 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str4343 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4344 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str4345 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4346 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str4347 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4348 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4349 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4350 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4351 = private unnamed_addr constant [11 x i8] c"point_rect\00"
|
|
@.str4352 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4353 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4354 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4355 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4356 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str4357 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4358 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4359 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4360 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str4361 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4362 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4363 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4364 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str4365 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4366 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str4367 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4368 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str4369 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4370 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4371 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4372 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4373 = private unnamed_addr constant [8 x i8] c"circles\00"
|
|
@.str4374 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4375 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4376 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4377 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4378 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4379 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4380 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4381 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4382 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str4383 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4384 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
|
|
@.str4385 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4386 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4387 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4388 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4389 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4390 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4391 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4392 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4393 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4394 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4395 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4396 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4397 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4398 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4399 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str4400 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4401 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
|
|
@.str4402 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4403 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4404 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4405 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4406 = private unnamed_addr constant [6 x i8] c"bytes\00"
|
|
@.str4407 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str4408 = private unnamed_addr constant [5 x i8] c"copy\00"
|
|
@.str4409 = private unnamed_addr constant [5 x i8] c"fill\00"
|
|
@.str4410 = private unnamed_addr constant [5 x i8] c"peek\00"
|
|
@.str4411 = private unnamed_addr constant [5 x i8] c"poke\00"
|
|
@.str4412 = private unnamed_addr constant [6 x i8] c"bytes\00"
|
|
@.str4413 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str4414 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4415 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str4416 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4417 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str4418 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str4419 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4420 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str4421 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str4422 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4423 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str4424 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4425 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str4426 = private unnamed_addr constant [5 x i8] c"copy\00"
|
|
@.str4427 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str4428 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4429 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str4430 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4431 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str4432 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4433 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4434 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4435 = private unnamed_addr constant [5 x i8] c"fill\00"
|
|
@.str4436 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str4437 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4438 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
|
|
@.str4439 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4440 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str4441 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4442 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4443 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4444 = private unnamed_addr constant [5 x i8] c"peek\00"
|
|
@.str4445 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str4446 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4447 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str4448 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
|
|
@.str4449 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4450 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4451 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str4452 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4453 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
|
|
@.str4454 = private unnamed_addr constant [7 x i8] c" to i8\00"
|
|
@.str4455 = private unnamed_addr constant [12 x i8] c" store i8 \00"
|
|
@.str4456 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4457 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4458 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4459 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4460 = private unnamed_addr constant [6 x i8] c"frame\00"
|
|
@.str4461 = private unnamed_addr constant [6 x i8] c"delta\00"
|
|
@.str4462 = private unnamed_addr constant [8 x i8] c"elapsed\00"
|
|
@.str4463 = private unnamed_addr constant [4 x i8] c"now\00"
|
|
@.str4464 = private unnamed_addr constant [6 x i8] c"since\00"
|
|
@.str4465 = private unnamed_addr constant [6 x i8] c"frame\00"
|
|
@.str4466 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
|
|
@.str4467 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4468 = private unnamed_addr constant [6 x i8] c"delta\00"
|
|
@.str4469 = private unnamed_addr constant [5 x i8] c"1092\00"
|
|
@.str4470 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4471 = private unnamed_addr constant [8 x i8] c"elapsed\00"
|
|
@.str4472 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
|
|
@.str4473 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4474 = private unnamed_addr constant [7 x i8] c", 1092\00"
|
|
@.str4475 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4476 = private unnamed_addr constant [6 x i8] c"since\00"
|
|
@.str4477 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
|
|
@.str4478 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str4479 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4480 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4481 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4482 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4483 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
|
|
@.str4484 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str4485 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4486 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4487 = private unnamed_addr constant [8 x i8] c"seconds\00"
|
|
@.str4488 = private unnamed_addr constant [8 x i8] c"minutes\00"
|
|
@.str4489 = private unnamed_addr constant [6 x i8] c"hours\00"
|
|
@.str4490 = private unnamed_addr constant [5 x i8] c"days\00"
|
|
@.str4491 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
|
|
@.str4492 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
|
|
@.str4493 = private unnamed_addr constant [9 x i8] c"as_hours\00"
|
|
@.str4494 = private unnamed_addr constant [8 x i8] c"as_days\00"
|
|
@.str4495 = private unnamed_addr constant [8 x i8] c"seconds\00"
|
|
@.str4496 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4497 = private unnamed_addr constant [8 x i8] c"minutes\00"
|
|
@.str4498 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4499 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str4500 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4501 = private unnamed_addr constant [6 x i8] c"hours\00"
|
|
@.str4502 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4503 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str4504 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4505 = private unnamed_addr constant [5 x i8] c"days\00"
|
|
@.str4506 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4507 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4508 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4509 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
|
|
@.str4510 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4511 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
|
|
@.str4512 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4513 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str4514 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4515 = private unnamed_addr constant [9 x i8] c"as_hours\00"
|
|
@.str4516 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4517 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str4518 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4519 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4520 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4521 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4522 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4523 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4524 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4525 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00"
|
|
@.str4526 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4527 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4528 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4529 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4530 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4531 = private unnamed_addr constant [4 x i8] c"new\00"
|
|
@.str4532 = private unnamed_addr constant [5 x i8] c"year\00"
|
|
@.str4533 = private unnamed_addr constant [6 x i8] c"month\00"
|
|
@.str4534 = private unnamed_addr constant [4 x i8] c"day\00"
|
|
@.str4535 = private unnamed_addr constant [8 x i8] c"weekday\00"
|
|
@.str4536 = private unnamed_addr constant [8 x i8] c"is_leap\00"
|
|
@.str4537 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
|
|
@.str4538 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
|
|
@.str4539 = private unnamed_addr constant [9 x i8] c"add_days\00"
|
|
@.str4540 = private unnamed_addr constant [10 x i8] c"diff_days\00"
|
|
@.str4541 = private unnamed_addr constant [4 x i8] c"new\00"
|
|
@.str4542 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str4543 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4544 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4545 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4546 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4547 = private unnamed_addr constant [5 x i8] c"year\00"
|
|
@.str4548 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4549 = private unnamed_addr constant [6 x i8] c"month\00"
|
|
@.str4550 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4551 = private unnamed_addr constant [4 x i8] c"day\00"
|
|
@.str4552 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4553 = private unnamed_addr constant [8 x i8] c"weekday\00"
|
|
@.str4554 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4555 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str4556 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4557 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str4558 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4559 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str4560 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4561 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str4562 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4563 = private unnamed_addr constant [8 x i8] c"is_leap\00"
|
|
@.str4564 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4565 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str4566 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str4567 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4568 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4569 = private unnamed_addr constant [6 x i8] c", 100\00"
|
|
@.str4570 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str4571 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4572 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4573 = private unnamed_addr constant [6 x i8] c", 400\00"
|
|
@.str4574 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str4575 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4576 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str4577 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4578 = private unnamed_addr constant [7 x i8] c"or i1 \00"
|
|
@.str4579 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4580 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4581 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4582 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4583 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
|
|
@.str4584 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str4585 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4586 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
|
|
@.str4587 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str4588 = private unnamed_addr constant [5 x i8] c", 12\00"
|
|
@.str4589 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4590 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4591 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4592 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4593 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4594 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4595 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4596 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4597 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
|
|
@.str4598 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str4599 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4600 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
|
|
@.str4601 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4602 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4603 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4604 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
|
|
@.str4605 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4606 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4607 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4608 = private unnamed_addr constant [9 x i8] c"add_days\00"
|
|
@.str4609 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4610 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4611 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4612 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4613 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4614 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4615 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4616 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4617 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4618 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4619 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4620 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4621 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4622 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4623 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4624 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4625 = private unnamed_addr constant [5 x i8] c"from\00"
|
|
@.str4626 = private unnamed_addr constant [5 x i8] c"date\00"
|
|
@.str4627 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str4628 = private unnamed_addr constant [5 x i8] c"year\00"
|
|
@.str4629 = private unnamed_addr constant [6 x i8] c"month\00"
|
|
@.str4630 = private unnamed_addr constant [4 x i8] c"day\00"
|
|
@.str4631 = private unnamed_addr constant [8 x i8] c"weekday\00"
|
|
@.str4632 = private unnamed_addr constant [5 x i8] c"hour\00"
|
|
@.str4633 = private unnamed_addr constant [7 x i8] c"minute\00"
|
|
@.str4634 = private unnamed_addr constant [7 x i8] c"second\00"
|
|
@.str4635 = private unnamed_addr constant [7 x i8] c"format\00"
|
|
@.str4636 = private unnamed_addr constant [6 x i8] c"parse\00"
|
|
@.str4637 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
|
|
@.str4638 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4639 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4640 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00"
|
|
@.str4641 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4642 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4643 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4644 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00"
|
|
@.str4645 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4646 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4647 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4648 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4649 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4650 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4651 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4652 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4653 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str4654 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4655 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str4656 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4657 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str4658 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4659 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str4660 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4661 = private unnamed_addr constant [6 x i8] c", 100\00"
|
|
@.str4662 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str4663 = private unnamed_addr constant [5 x i8] c"YYYY\00"
|
|
@.str4664 = private unnamed_addr constant [3 x i8] c"YY\00"
|
|
@.str4665 = private unnamed_addr constant [3 x i8] c"MM\00"
|
|
@.str4666 = private unnamed_addr constant [3 x i8] c"DD\00"
|
|
@.str4667 = private unnamed_addr constant [3 x i8] c"HH\00"
|
|
@.str4668 = private unnamed_addr constant [3 x i8] c"mm\00"
|
|
@.str4669 = private unnamed_addr constant [3 x i8] c"ss\00"
|
|
@.str4670 = private unnamed_addr constant [26 x i8] c"call ptr @fn_dt_pad0(i32 \00"
|
|
@.str4671 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4672 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4673 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str4674 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00"
|
|
@.str4675 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4676 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4677 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4678 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4679 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4680 = private unnamed_addr constant [5 x i8] c"1970\00"
|
|
@.str4681 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4682 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4683 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str4684 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4685 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4686 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str4687 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4688 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4689 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4690 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4691 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4692 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4693 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4694 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4695 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4696 = private unnamed_addr constant [5 x i8] c"YYYY\00"
|
|
@.str4697 = private unnamed_addr constant [3 x i8] c"MM\00"
|
|
@.str4698 = private unnamed_addr constant [3 x i8] c"DD\00"
|
|
@.str4699 = private unnamed_addr constant [3 x i8] c"HH\00"
|
|
@.str4700 = private unnamed_addr constant [3 x i8] c"mm\00"
|
|
@.str4701 = private unnamed_addr constant [3 x i8] c"ss\00"
|
|
@.str4702 = private unnamed_addr constant [24 x i8] c"call i32 @fn_dt_rd(ptr \00"
|
|
@.str4703 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4704 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4705 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4706 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4707 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4708 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4709 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4710 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4711 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4712 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4713 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4714 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str4715 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4716 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4717 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4718 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4719 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4720 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4721 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str4722 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4723 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str4724 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4725 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4726 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4727 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4728 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4729 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4730 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4731 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str4732 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4733 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str4734 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
|
|
@.str4735 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4736 = private unnamed_addr constant [7 x i8] c"format\00"
|
|
@.str4737 = private unnamed_addr constant [6 x i8] c"parse\00"
|
|
@.str4738 = private unnamed_addr constant [5 x i8] c"from\00"
|
|
@.str4739 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str4740 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4741 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4742 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4743 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4744 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str4745 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4746 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str4747 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4748 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str4749 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4750 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4751 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4752 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4753 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4754 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4755 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4756 = private unnamed_addr constant [5 x i8] c"date\00"
|
|
@.str4757 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4758 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str4759 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4760 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4761 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4762 = private unnamed_addr constant [5 x i8] c"year\00"
|
|
@.str4763 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4764 = private unnamed_addr constant [6 x i8] c"month\00"
|
|
@.str4765 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4766 = private unnamed_addr constant [4 x i8] c"day\00"
|
|
@.str4767 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4768 = private unnamed_addr constant [8 x i8] c"weekday\00"
|
|
@.str4769 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4770 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str4771 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4772 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str4773 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4774 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str4775 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4776 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str4777 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4778 = private unnamed_addr constant [5 x i8] c"hour\00"
|
|
@.str4779 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4780 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str4781 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4782 = private unnamed_addr constant [7 x i8] c"minute\00"
|
|
@.str4783 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4784 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str4785 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str4786 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str4787 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4788 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str4789 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str4790 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4791 = private unnamed_addr constant [59 x i8] c"define i32 @fn_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00"
|
|
@.str4792 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00"
|
|
@.str4793 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00"
|
|
@.str4794 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00"
|
|
@.str4795 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
|
|
@.str4796 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00"
|
|
@.str4797 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00"
|
|
@.str4798 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00"
|
|
@.str4799 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
|
|
@.str4800 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00"
|
|
@.str4801 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00"
|
|
@.str4802 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00"
|
|
@.str4803 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00"
|
|
@.str4804 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00"
|
|
@.str4805 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00"
|
|
@.str4806 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00"
|
|
@.str4807 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00"
|
|
@.str4808 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00"
|
|
@.str4809 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
|
|
@.str4810 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
|
|
@.str4811 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
|
|
@.str4812 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00"
|
|
@.str4813 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00"
|
|
@.str4814 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00"
|
|
@.str4815 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00"
|
|
@.str4816 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00"
|
|
@.str4817 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00"
|
|
@.str4818 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
|
|
@.str4819 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str4820 = private unnamed_addr constant [71 x i8] c"define void @fn_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00"
|
|
@.str4821 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00"
|
|
@.str4822 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00"
|
|
@.str4823 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00"
|
|
@.str4824 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00"
|
|
@.str4825 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00"
|
|
@.str4826 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00"
|
|
@.str4827 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00"
|
|
@.str4828 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00"
|
|
@.str4829 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00"
|
|
@.str4830 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00"
|
|
@.str4831 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00"
|
|
@.str4832 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00"
|
|
@.str4833 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00"
|
|
@.str4834 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00"
|
|
@.str4835 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
|
|
@.str4836 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00"
|
|
@.str4837 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
|
|
@.str4838 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
|
|
@.str4839 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
|
|
@.str4840 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00"
|
|
@.str4841 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00"
|
|
@.str4842 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00"
|
|
@.str4843 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00"
|
|
@.str4844 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00"
|
|
@.str4845 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00"
|
|
@.str4846 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00"
|
|
@.str4847 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00"
|
|
@.str4848 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00"
|
|
@.str4849 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00"
|
|
@.str4850 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00"
|
|
@.str4851 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00"
|
|
@.str4852 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00"
|
|
@.str4853 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00"
|
|
@.str4854 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00"
|
|
@.str4855 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00"
|
|
@.str4856 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00"
|
|
@.str4857 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00"
|
|
@.str4858 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00"
|
|
@.str4859 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00"
|
|
@.str4860 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00"
|
|
@.str4861 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str4862 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str4863 = private unnamed_addr constant [42 x i8] c"define ptr @fn_dt_pad0(i32 %v, i32 %w) {\0A\00"
|
|
@.str4864 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00"
|
|
@.str4865 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00"
|
|
@.str4866 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str4867 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00"
|
|
@.str4868 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00"
|
|
@.str4869 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00"
|
|
@.str4870 = 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"
|
|
@.str4871 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str4872 = 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"
|
|
@.str4873 = 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"
|
|
@.str4874 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00"
|
|
@.str4875 = 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"
|
|
@.str4876 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00"
|
|
@.str4877 = private unnamed_addr constant [62 x i8] c"define i32 @fn_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00"
|
|
@.str4878 = 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"
|
|
@.str4879 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str4880 = 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"
|
|
@.str4881 = 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"
|
|
@.str4882 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00"
|
|
@.str4883 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00"
|
|
@.str4884 = 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"
|
|
@.str4885 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00"
|
|
@.str4886 = 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"
|
|
@.str4887 = 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"
|
|
@.str4888 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00"
|
|
@.str4889 = private unnamed_addr constant [4 x i8] c"now\00"
|
|
@.str4890 = private unnamed_addr constant [4 x i8] c"set\00"
|
|
@.str4891 = private unnamed_addr constant [8 x i8] c"advance\00"
|
|
@.str4892 = private unnamed_addr constant [6 x i8] c"reset\00"
|
|
@.str4893 = private unnamed_addr constant [4 x i8] c"now\00"
|
|
@.str4894 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
|
|
@.str4895 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4896 = private unnamed_addr constant [6 x i8] c"reset\00"
|
|
@.str4897 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00"
|
|
@.str4898 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4899 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4900 = private unnamed_addr constant [4 x i8] c"set\00"
|
|
@.str4901 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str4902 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
|
|
@.str4903 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4904 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4905 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
|
|
@.str4906 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4907 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4908 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str4909 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
|
|
@.str4910 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4911 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4912 = private unnamed_addr constant [4 x i8] c"rgb\00"
|
|
@.str4913 = private unnamed_addr constant [5 x i8] c"rgba\00"
|
|
@.str4914 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str4915 = private unnamed_addr constant [7 x i8] c"darken\00"
|
|
@.str4916 = private unnamed_addr constant [8 x i8] c"lighten\00"
|
|
@.str4917 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
|
|
@.str4918 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str4919 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4920 = private unnamed_addr constant [9 x i8] c"and i32 \00"
|
|
@.str4921 = private unnamed_addr constant [6 x i8] c", 255\00"
|
|
@.str4922 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str4923 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4924 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str4925 = private unnamed_addr constant [4 x i8] c", 8\00"
|
|
@.str4926 = private unnamed_addr constant [8 x i8] c"or i32 \00"
|
|
@.str4927 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4928 = private unnamed_addr constant [8 x i8] c"or i32 \00"
|
|
@.str4929 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4930 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str4931 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4932 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4933 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4934 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str4935 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4936 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4937 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4938 = private unnamed_addr constant [4 x i8] c"rgb\00"
|
|
@.str4939 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4940 = private unnamed_addr constant [5 x i8] c"rgba\00"
|
|
@.str4941 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str4942 = private unnamed_addr constant [5 x i8] c", 24\00"
|
|
@.str4943 = private unnamed_addr constant [8 x i8] c"or i32 \00"
|
|
@.str4944 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4945 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4946 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
|
|
@.str4947 = private unnamed_addr constant [9 x i8] c"and i32 \00"
|
|
@.str4948 = private unnamed_addr constant [11 x i8] c", 16777215\00"
|
|
@.str4949 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str4950 = private unnamed_addr constant [5 x i8] c", 24\00"
|
|
@.str4951 = private unnamed_addr constant [8 x i8] c"or i32 \00"
|
|
@.str4952 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4953 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4954 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str4955 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str4956 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str4957 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str4958 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str4959 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4960 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4961 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4962 = private unnamed_addr constant [7 x i8] c"darken\00"
|
|
@.str4963 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
|
|
@.str4964 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str4965 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str4966 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4967 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4968 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4969 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str4970 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4971 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4972 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4973 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str4974 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4975 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4976 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4977 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str4978 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4979 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4980 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str4981 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str4982 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4983 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
|
|
@.str4984 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4985 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4986 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str4987 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4988 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4989 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4990 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
|
|
@.str4991 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4992 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4993 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str4994 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4995 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4996 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4997 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
|
|
@.str4998 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4999 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5000 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str5001 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str5002 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str5003 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5004 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5005 = private unnamed_addr constant [6 x i8] c"White\00"
|
|
@.str5006 = private unnamed_addr constant [5 x i8] c"Snow\00"
|
|
@.str5007 = private unnamed_addr constant [6 x i8] c"Ivory\00"
|
|
@.str5008 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00"
|
|
@.str5009 = private unnamed_addr constant [12 x i8] c"FloralWhite\00"
|
|
@.str5010 = private unnamed_addr constant [9 x i8] c"SeaShell\00"
|
|
@.str5011 = private unnamed_addr constant [6 x i8] c"Linen\00"
|
|
@.str5012 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00"
|
|
@.str5013 = private unnamed_addr constant [8 x i8] c"OldLace\00"
|
|
@.str5014 = private unnamed_addr constant [6 x i8] c"Beige\00"
|
|
@.str5015 = private unnamed_addr constant [6 x i8] c"Cream\00"
|
|
@.str5016 = private unnamed_addr constant [9 x i8] c"Honeydew\00"
|
|
@.str5017 = private unnamed_addr constant [10 x i8] c"MintCream\00"
|
|
@.str5018 = private unnamed_addr constant [6 x i8] c"Azure\00"
|
|
@.str5019 = private unnamed_addr constant [10 x i8] c"AliceBlue\00"
|
|
@.str5020 = private unnamed_addr constant [11 x i8] c"GhostWhite\00"
|
|
@.str5021 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00"
|
|
@.str5022 = private unnamed_addr constant [9 x i8] c"Lavender\00"
|
|
@.str5023 = private unnamed_addr constant [5 x i8] c"Bone\00"
|
|
@.str5024 = private unnamed_addr constant [10 x i8] c"Parchment\00"
|
|
@.str5025 = private unnamed_addr constant [10 x i8] c"Gainsboro\00"
|
|
@.str5026 = private unnamed_addr constant [10 x i8] c"LightGray\00"
|
|
@.str5027 = private unnamed_addr constant [7 x i8] c"Silver\00"
|
|
@.str5028 = private unnamed_addr constant [4 x i8] c"Ash\00"
|
|
@.str5029 = private unnamed_addr constant [9 x i8] c"DarkGray\00"
|
|
@.str5030 = private unnamed_addr constant [5 x i8] c"Gray\00"
|
|
@.str5031 = private unnamed_addr constant [8 x i8] c"DimGray\00"
|
|
@.str5032 = private unnamed_addr constant [7 x i8] c"Nickel\00"
|
|
@.str5033 = private unnamed_addr constant [6 x i8] c"Slate\00"
|
|
@.str5034 = private unnamed_addr constant [10 x i8] c"SlateGray\00"
|
|
@.str5035 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00"
|
|
@.str5036 = private unnamed_addr constant [9 x i8] c"Gunmetal\00"
|
|
@.str5037 = private unnamed_addr constant [9 x i8] c"Charcoal\00"
|
|
@.str5038 = private unnamed_addr constant [9 x i8] c"Graphite\00"
|
|
@.str5039 = private unnamed_addr constant [5 x i8] c"Onyx\00"
|
|
@.str5040 = private unnamed_addr constant [4 x i8] c"Jet\00"
|
|
@.str5041 = private unnamed_addr constant [6 x i8] c"Black\00"
|
|
@.str5042 = private unnamed_addr constant [11 x i8] c"EerieBlack\00"
|
|
@.str5043 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00"
|
|
@.str5044 = private unnamed_addr constant [6 x i8] c"Ebony\00"
|
|
@.str5045 = private unnamed_addr constant [4 x i8] c"Red\00"
|
|
@.str5046 = private unnamed_addr constant [8 x i8] c"Crimson\00"
|
|
@.str5047 = private unnamed_addr constant [8 x i8] c"Scarlet\00"
|
|
@.str5048 = private unnamed_addr constant [10 x i8] c"Vermilion\00"
|
|
@.str5049 = private unnamed_addr constant [10 x i8] c"FireBrick\00"
|
|
@.str5050 = private unnamed_addr constant [9 x i8] c"Cinnabar\00"
|
|
@.str5051 = private unnamed_addr constant [8 x i8] c"DarkRed\00"
|
|
@.str5052 = private unnamed_addr constant [7 x i8] c"Maroon\00"
|
|
@.str5053 = private unnamed_addr constant [5 x i8] c"Ruby\00"
|
|
@.str5054 = private unnamed_addr constant [9 x i8] c"Cardinal\00"
|
|
@.str5055 = private unnamed_addr constant [10 x i8] c"IndianRed\00"
|
|
@.str5056 = private unnamed_addr constant [5 x i8] c"Rust\00"
|
|
@.str5057 = private unnamed_addr constant [8 x i8] c"Sangria\00"
|
|
@.str5058 = private unnamed_addr constant [8 x i8] c"Redwood\00"
|
|
@.str5059 = private unnamed_addr constant [7 x i8] c"Cerise\00"
|
|
@.str5060 = private unnamed_addr constant [9 x i8] c"Amaranth\00"
|
|
@.str5061 = private unnamed_addr constant [8 x i8] c"Carmine\00"
|
|
@.str5062 = private unnamed_addr constant [9 x i8] c"Chestnut\00"
|
|
@.str5063 = private unnamed_addr constant [6 x i8] c"Brick\00"
|
|
@.str5064 = private unnamed_addr constant [11 x i8] c"TerraCotta\00"
|
|
@.str5065 = private unnamed_addr constant [5 x i8] c"Pink\00"
|
|
@.str5066 = private unnamed_addr constant [10 x i8] c"LightPink\00"
|
|
@.str5067 = private unnamed_addr constant [8 x i8] c"HotPink\00"
|
|
@.str5068 = private unnamed_addr constant [9 x i8] c"DeepPink\00"
|
|
@.str5069 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00"
|
|
@.str5070 = private unnamed_addr constant [5 x i8] c"Rose\00"
|
|
@.str5071 = private unnamed_addr constant [6 x i8] c"Blush\00"
|
|
@.str5072 = private unnamed_addr constant [7 x i8] c"Salmon\00"
|
|
@.str5073 = private unnamed_addr constant [12 x i8] c"LightSalmon\00"
|
|
@.str5074 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00"
|
|
@.str5075 = private unnamed_addr constant [6 x i8] c"Coral\00"
|
|
@.str5076 = private unnamed_addr constant [11 x i8] c"Watermelon\00"
|
|
@.str5077 = private unnamed_addr constant [9 x i8] c"Flamingo\00"
|
|
@.str5078 = private unnamed_addr constant [10 x i8] c"Bubblegum\00"
|
|
@.str5079 = private unnamed_addr constant [8 x i8] c"Fuchsia\00"
|
|
@.str5080 = private unnamed_addr constant [8 x i8] c"Magenta\00"
|
|
@.str5081 = private unnamed_addr constant [6 x i8] c"Mauve\00"
|
|
@.str5082 = private unnamed_addr constant [5 x i8] c"Puce\00"
|
|
@.str5083 = private unnamed_addr constant [8 x i8] c"Thistle\00"
|
|
@.str5084 = private unnamed_addr constant [7 x i8] c"Orchid\00"
|
|
@.str5085 = private unnamed_addr constant [7 x i8] c"Orange\00"
|
|
@.str5086 = private unnamed_addr constant [11 x i8] c"DarkOrange\00"
|
|
@.str5087 = private unnamed_addr constant [10 x i8] c"Tangerine\00"
|
|
@.str5088 = private unnamed_addr constant [8 x i8] c"Pumpkin\00"
|
|
@.str5089 = private unnamed_addr constant [8 x i8] c"Apricot\00"
|
|
@.str5090 = private unnamed_addr constant [6 x i8] c"Peach\00"
|
|
@.str5091 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00"
|
|
@.str5092 = private unnamed_addr constant [6 x i8] c"Amber\00"
|
|
@.str5093 = private unnamed_addr constant [7 x i8] c"Bronze\00"
|
|
@.str5094 = private unnamed_addr constant [7 x i8] c"Copper\00"
|
|
@.str5095 = private unnamed_addr constant [9 x i8] c"Marigold\00"
|
|
@.str5096 = private unnamed_addr constant [7 x i8] c"Carrot\00"
|
|
@.str5097 = private unnamed_addr constant [10 x i8] c"Persimmon\00"
|
|
@.str5098 = private unnamed_addr constant [7 x i8] c"Papaya\00"
|
|
@.str5099 = private unnamed_addr constant [7 x i8] c"Sunset\00"
|
|
@.str5100 = private unnamed_addr constant [7 x i8] c"Yellow\00"
|
|
@.str5101 = private unnamed_addr constant [12 x i8] c"LightYellow\00"
|
|
@.str5102 = private unnamed_addr constant [5 x i8] c"Gold\00"
|
|
@.str5103 = private unnamed_addr constant [10 x i8] c"Goldenrod\00"
|
|
@.str5104 = private unnamed_addr constant [6 x i8] c"Lemon\00"
|
|
@.str5105 = private unnamed_addr constant [7 x i8] c"Canary\00"
|
|
@.str5106 = private unnamed_addr constant [8 x i8] c"Mustard\00"
|
|
@.str5107 = private unnamed_addr constant [5 x i8] c"Flax\00"
|
|
@.str5108 = private unnamed_addr constant [6 x i8] c"Wheat\00"
|
|
@.str5109 = private unnamed_addr constant [5 x i8] c"Corn\00"
|
|
@.str5110 = private unnamed_addr constant [10 x i8] c"Dandelion\00"
|
|
@.str5111 = private unnamed_addr constant [8 x i8] c"Saffron\00"
|
|
@.str5112 = private unnamed_addr constant [6 x i8] c"Khaki\00"
|
|
@.str5113 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00"
|
|
@.str5114 = private unnamed_addr constant [6 x i8] c"Straw\00"
|
|
@.str5115 = private unnamed_addr constant [6 x i8] c"Brown\00"
|
|
@.str5116 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00"
|
|
@.str5117 = private unnamed_addr constant [7 x i8] c"Sienna\00"
|
|
@.str5118 = private unnamed_addr constant [10 x i8] c"Chocolate\00"
|
|
@.str5119 = private unnamed_addr constant [5 x i8] c"Peru\00"
|
|
@.str5120 = private unnamed_addr constant [4 x i8] c"Tan\00"
|
|
@.str5121 = private unnamed_addr constant [10 x i8] c"BurlyWood\00"
|
|
@.str5122 = private unnamed_addr constant [5 x i8] c"Sand\00"
|
|
@.str5123 = private unnamed_addr constant [7 x i8] c"Coffee\00"
|
|
@.str5124 = private unnamed_addr constant [9 x i8] c"Espresso\00"
|
|
@.str5125 = private unnamed_addr constant [9 x i8] c"Mahogany\00"
|
|
@.str5126 = private unnamed_addr constant [7 x i8] c"Walnut\00"
|
|
@.str5127 = private unnamed_addr constant [6 x i8] c"Umber\00"
|
|
@.str5128 = private unnamed_addr constant [6 x i8] c"Sepia\00"
|
|
@.str5129 = private unnamed_addr constant [6 x i8] c"Taupe\00"
|
|
@.str5130 = private unnamed_addr constant [5 x i8] c"Fawn\00"
|
|
@.str5131 = private unnamed_addr constant [8 x i8] c"Caramel\00"
|
|
@.str5132 = private unnamed_addr constant [6 x i8] c"Cocoa\00"
|
|
@.str5133 = private unnamed_addr constant [6 x i8] c"Hazel\00"
|
|
@.str5134 = private unnamed_addr constant [6 x i8] c"Wenge\00"
|
|
@.str5135 = private unnamed_addr constant [6 x i8] c"Green\00"
|
|
@.str5136 = private unnamed_addr constant [5 x i8] c"Lime\00"
|
|
@.str5137 = private unnamed_addr constant [10 x i8] c"LimeGreen\00"
|
|
@.str5138 = private unnamed_addr constant [10 x i8] c"LawnGreen\00"
|
|
@.str5139 = private unnamed_addr constant [11 x i8] c"Chartreuse\00"
|
|
@.str5140 = private unnamed_addr constant [12 x i8] c"GreenYellow\00"
|
|
@.str5141 = private unnamed_addr constant [12 x i8] c"SpringGreen\00"
|
|
@.str5142 = private unnamed_addr constant [10 x i8] c"MintGreen\00"
|
|
@.str5143 = private unnamed_addr constant [9 x i8] c"SeaGreen\00"
|
|
@.str5144 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00"
|
|
@.str5145 = private unnamed_addr constant [12 x i8] c"ForestGreen\00"
|
|
@.str5146 = private unnamed_addr constant [10 x i8] c"DarkGreen\00"
|
|
@.str5147 = private unnamed_addr constant [10 x i8] c"OliveDrab\00"
|
|
@.str5148 = private unnamed_addr constant [6 x i8] c"Olive\00"
|
|
@.str5149 = private unnamed_addr constant [5 x i8] c"Moss\00"
|
|
@.str5150 = private unnamed_addr constant [5 x i8] c"Fern\00"
|
|
@.str5151 = private unnamed_addr constant [8 x i8] c"Emerald\00"
|
|
@.str5152 = private unnamed_addr constant [5 x i8] c"Jade\00"
|
|
@.str5153 = private unnamed_addr constant [10 x i8] c"Malachite\00"
|
|
@.str5154 = private unnamed_addr constant [9 x i8] c"Shamrock\00"
|
|
@.str5155 = private unnamed_addr constant [10 x i8] c"Pistachio\00"
|
|
@.str5156 = private unnamed_addr constant [8 x i8] c"Avocado\00"
|
|
@.str5157 = private unnamed_addr constant [5 x i8] c"Pine\00"
|
|
@.str5158 = private unnamed_addr constant [5 x i8] c"Sage\00"
|
|
@.str5159 = private unnamed_addr constant [6 x i8] c"Kelly\00"
|
|
@.str5160 = private unnamed_addr constant [7 x i8] c"Hunter\00"
|
|
@.str5161 = private unnamed_addr constant [6 x i8] c"Basil\00"
|
|
@.str5162 = private unnamed_addr constant [7 x i8] c"Clover\00"
|
|
@.str5163 = private unnamed_addr constant [8 x i8] c"Juniper\00"
|
|
@.str5164 = private unnamed_addr constant [5 x i8] c"Neon\00"
|
|
@.str5165 = private unnamed_addr constant [5 x i8] c"Cyan\00"
|
|
@.str5166 = private unnamed_addr constant [5 x i8] c"Aqua\00"
|
|
@.str5167 = private unnamed_addr constant [10 x i8] c"LightCyan\00"
|
|
@.str5168 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00"
|
|
@.str5169 = private unnamed_addr constant [11 x i8] c"Aquamarine\00"
|
|
@.str5170 = private unnamed_addr constant [10 x i8] c"Turquoise\00"
|
|
@.str5171 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00"
|
|
@.str5172 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00"
|
|
@.str5173 = private unnamed_addr constant [5 x i8] c"Teal\00"
|
|
@.str5174 = private unnamed_addr constant [9 x i8] c"DarkCyan\00"
|
|
@.str5175 = private unnamed_addr constant [10 x i8] c"CadetBlue\00"
|
|
@.str5176 = private unnamed_addr constant [7 x i8] c"Lagoon\00"
|
|
@.str5177 = private unnamed_addr constant [8 x i8] c"Seafoam\00"
|
|
@.str5178 = private unnamed_addr constant [9 x i8] c"Cerulean\00"
|
|
@.str5179 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00"
|
|
@.str5180 = private unnamed_addr constant [6 x i8] c"Robin\00"
|
|
@.str5181 = private unnamed_addr constant [10 x i8] c"Verdigris\00"
|
|
@.str5182 = private unnamed_addr constant [8 x i8] c"Celadon\00"
|
|
@.str5183 = private unnamed_addr constant [5 x i8] c"Blue\00"
|
|
@.str5184 = private unnamed_addr constant [10 x i8] c"LightBlue\00"
|
|
@.str5185 = private unnamed_addr constant [11 x i8] c"PowderBlue\00"
|
|
@.str5186 = private unnamed_addr constant [8 x i8] c"SkyBlue\00"
|
|
@.str5187 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00"
|
|
@.str5188 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00"
|
|
@.str5189 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00"
|
|
@.str5190 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00"
|
|
@.str5191 = private unnamed_addr constant [10 x i8] c"SteelBlue\00"
|
|
@.str5192 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00"
|
|
@.str5193 = private unnamed_addr constant [11 x i8] c"MediumBlue\00"
|
|
@.str5194 = private unnamed_addr constant [9 x i8] c"DarkBlue\00"
|
|
@.str5195 = private unnamed_addr constant [5 x i8] c"Navy\00"
|
|
@.str5196 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00"
|
|
@.str5197 = private unnamed_addr constant [7 x i8] c"Cobalt\00"
|
|
@.str5198 = private unnamed_addr constant [9 x i8] c"Sapphire\00"
|
|
@.str5199 = private unnamed_addr constant [6 x i8] c"Denim\00"
|
|
@.str5200 = private unnamed_addr constant [7 x i8] c"Indigo\00"
|
|
@.str5201 = private unnamed_addr constant [9 x i8] c"Prussian\00"
|
|
@.str5202 = private unnamed_addr constant [12 x i8] c"Ultramarine\00"
|
|
@.str5203 = private unnamed_addr constant [11 x i8] c"Periwinkle\00"
|
|
@.str5204 = private unnamed_addr constant [5 x i8] c"Iris\00"
|
|
@.str5205 = private unnamed_addr constant [9 x i8] c"Glaucous\00"
|
|
@.str5206 = private unnamed_addr constant [7 x i8] c"Zaffre\00"
|
|
@.str5207 = private unnamed_addr constant [6 x i8] c"Berry\00"
|
|
@.str5208 = private unnamed_addr constant [7 x i8] c"Purple\00"
|
|
@.str5209 = private unnamed_addr constant [7 x i8] c"Violet\00"
|
|
@.str5210 = private unnamed_addr constant [11 x i8] c"DarkViolet\00"
|
|
@.str5211 = private unnamed_addr constant [11 x i8] c"BlueViolet\00"
|
|
@.str5212 = private unnamed_addr constant [13 x i8] c"MediumPurple\00"
|
|
@.str5213 = private unnamed_addr constant [9 x i8] c"Amethyst\00"
|
|
@.str5214 = private unnamed_addr constant [5 x i8] c"Plum\00"
|
|
@.str5215 = private unnamed_addr constant [9 x i8] c"Eggplant\00"
|
|
@.str5216 = private unnamed_addr constant [6 x i8] c"Grape\00"
|
|
@.str5217 = private unnamed_addr constant [5 x i8] c"Wine\00"
|
|
@.str5218 = private unnamed_addr constant [9 x i8] c"Mulberry\00"
|
|
@.str5219 = private unnamed_addr constant [6 x i8] c"Lilac\00"
|
|
@.str5220 = private unnamed_addr constant [9 x i8] c"Wisteria\00"
|
|
@.str5221 = private unnamed_addr constant [11 x i8] c"Heliotrope\00"
|
|
@.str5222 = private unnamed_addr constant [10 x i8] c"Byzantium\00"
|
|
@.str5223 = private unnamed_addr constant [7 x i8] c"Tyrian\00"
|
|
@.str5224 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00"
|
|
@.str5225 = private unnamed_addr constant [8 x i8] c"Orchid2\00"
|
|
@.str5226 = private unnamed_addr constant [15 x i8] c"getelementptr \00"
|
|
@.str5227 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00"
|
|
@.str5228 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
|
|
@.str5229 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str5230 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00"
|
|
@.str5231 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str5232 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str5233 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5234 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
|
|
@.str5235 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5236 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5237 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5238 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str5239 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5240 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str5241 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str5242 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str5243 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5244 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5245 = private unnamed_addr constant [8 x i8] c"%LSlice\00"
|
|
@.str5246 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str5247 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str5248 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5249 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str5250 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
|
|
@.str5251 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
|
|
@.str5252 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5253 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5254 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str5255 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00"
|
|
@.str5256 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str5257 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5258 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5259 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str5260 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00"
|
|
@.str5261 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str5262 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5263 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5264 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str5265 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5266 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5267 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5268 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5269 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str5270 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str5271 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str5272 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str5273 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5274 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5275 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5276 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str5277 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5278 = private unnamed_addr constant [5 x i8] c"grow\00"
|
|
@.str5279 = private unnamed_addr constant [4 x i8] c"put\00"
|
|
@.str5280 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5281 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5282 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5283 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5284 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5285 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str5286 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str5287 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str5288 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5289 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str5290 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
|
|
@.str5291 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str5292 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str5293 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str5294 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5295 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str5296 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
|
|
@.str5297 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str5298 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str5299 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str5300 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5301 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5302 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5303 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5304 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5305 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5306 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5307 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5308 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str5309 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5310 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
|
|
@.str5311 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5312 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str5313 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5314 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str5315 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str5316 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5317 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5318 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str5319 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str5320 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5321 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5322 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5323 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str5324 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str5325 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5326 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5327 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5328 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5329 = private unnamed_addr constant [7 x i8] c"result\00"
|
|
@.str5330 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00"
|
|
@.str5331 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00"
|
|
@.str5332 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5333 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str5334 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5335 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str5336 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
|
|
@.str5337 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5338 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str5339 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5340 = private unnamed_addr constant [6 x i8] c"tryok\00"
|
|
@.str5341 = private unnamed_addr constant [8 x i8] c"tryelse\00"
|
|
@.str5342 = private unnamed_addr constant [7 x i8] c"tryend\00"
|
|
@.str5343 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5344 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5345 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5346 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5347 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5348 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str5349 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
|
|
@.str5350 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5351 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5352 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5353 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5354 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5355 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5356 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5357 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str5358 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
|
|
@.str5359 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str5360 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5361 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str5362 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5363 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5364 = private unnamed_addr constant [6 x i8] c"error\00"
|
|
@.str5365 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str5366 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5367 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5368 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5369 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5370 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5371 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str5372 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5373 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5374 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str5375 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5376 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str5377 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str5378 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5379 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5380 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5381 = private unnamed_addr constant [3 x i8] c"sc\00"
|
|
@.str5382 = private unnamed_addr constant [6 x i8] c"scend\00"
|
|
@.str5383 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str5384 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5385 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5386 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5387 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5388 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5389 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5390 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5391 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5392 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5393 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str5394 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5395 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str5396 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str5397 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5398 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5399 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5400 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5401 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5402 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5403 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5404 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str5405 = private unnamed_addr constant [2 x i8] c"<\00"
|
|
@.str5406 = private unnamed_addr constant [4 x i8] c"slt\00"
|
|
@.str5407 = private unnamed_addr constant [3 x i8] c"<=\00"
|
|
@.str5408 = private unnamed_addr constant [4 x i8] c"sle\00"
|
|
@.str5409 = private unnamed_addr constant [2 x i8] c">\00"
|
|
@.str5410 = private unnamed_addr constant [4 x i8] c"sgt\00"
|
|
@.str5411 = private unnamed_addr constant [3 x i8] c">=\00"
|
|
@.str5412 = private unnamed_addr constant [4 x i8] c"sge\00"
|
|
@.str5413 = private unnamed_addr constant [3 x i8] c"==\00"
|
|
@.str5414 = private unnamed_addr constant [3 x i8] c"eq\00"
|
|
@.str5415 = private unnamed_addr constant [3 x i8] c"ne\00"
|
|
@.str5416 = private unnamed_addr constant [2 x i8] c"<\00"
|
|
@.str5417 = private unnamed_addr constant [3 x i8] c"<=\00"
|
|
@.str5418 = private unnamed_addr constant [2 x i8] c">\00"
|
|
@.str5419 = private unnamed_addr constant [3 x i8] c">=\00"
|
|
@.str5420 = private unnamed_addr constant [3 x i8] c"==\00"
|
|
@.str5421 = private unnamed_addr constant [3 x i8] c"!=\00"
|
|
@.str5422 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str5423 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str5424 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str5425 = private unnamed_addr constant [4 x i8] c"sub\00"
|
|
@.str5426 = private unnamed_addr constant [2 x i8] c"*\00"
|
|
@.str5427 = private unnamed_addr constant [4 x i8] c"mul\00"
|
|
@.str5428 = private unnamed_addr constant [2 x i8] c"/\00"
|
|
@.str5429 = private unnamed_addr constant [5 x i8] c"sdiv\00"
|
|
@.str5430 = private unnamed_addr constant [2 x i8] c"&\00"
|
|
@.str5431 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str5432 = private unnamed_addr constant [2 x i8] c"|\00"
|
|
@.str5433 = private unnamed_addr constant [3 x i8] c"or\00"
|
|
@.str5434 = private unnamed_addr constant [2 x i8] c"^\00"
|
|
@.str5435 = private unnamed_addr constant [4 x i8] c"xor\00"
|
|
@.str5436 = private unnamed_addr constant [3 x i8] c"<<\00"
|
|
@.str5437 = private unnamed_addr constant [4 x i8] c"shl\00"
|
|
@.str5438 = private unnamed_addr constant [3 x i8] c">>\00"
|
|
@.str5439 = private unnamed_addr constant [5 x i8] c"lshr\00"
|
|
@.str5440 = private unnamed_addr constant [5 x i8] c"srem\00"
|
|
@.str5441 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str5442 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str5443 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str5444 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str5445 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5446 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str5447 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str5448 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5449 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str5450 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str5451 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str5452 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str5453 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str5454 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str5455 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str5456 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
|
|
@.str5457 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5458 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str5459 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str5460 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00"
|
|
@.str5461 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5462 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str5463 = private unnamed_addr constant [3 x i8] c"!=\00"
|
|
@.str5464 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str5465 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5466 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str5467 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str5468 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str5469 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str5470 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str5471 = private unnamed_addr constant [3 x i8] c"or\00"
|
|
@.str5472 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5473 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5474 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str5475 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str5476 = private unnamed_addr constant [3 x i8] c"==\00"
|
|
@.str5477 = private unnamed_addr constant [3 x i8] c"!=\00"
|
|
@.str5478 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str5479 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str5480 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str5481 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str5482 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5483 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str5484 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5485 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5486 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5487 = private unnamed_addr constant [6 x i8] c"icmp \00"
|
|
@.str5488 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str5489 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str5490 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5491 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str5492 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str5493 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str5494 = private unnamed_addr constant [6 x i8] c" i64 \00"
|
|
@.str5495 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5496 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str5497 = private unnamed_addr constant [2 x i8] c"*\00"
|
|
@.str5498 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str5499 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str5500 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str5501 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str5502 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str5503 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5504 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
|
|
@.str5505 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str5506 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str5507 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str5508 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str5509 = private unnamed_addr constant [2 x i8] c"/\00"
|
|
@.str5510 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str5511 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str5512 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
|
|
@.str5513 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str5514 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str5515 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str5516 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
|
|
@.str5517 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5518 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str5519 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str5520 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str5521 = private unnamed_addr constant [6 x i8] c" i32 \00"
|
|
@.str5522 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5523 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str5524 = private unnamed_addr constant [6 x i8] c" i32 \00"
|
|
@.str5525 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5526 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5527 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00"
|
|
@.str5528 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00"
|
|
@.str5529 = private unnamed_addr constant [19 x i8] c"no argument named \00"
|
|
@.str5530 = private unnamed_addr constant [5 x i8] c"exok\00"
|
|
@.str5531 = private unnamed_addr constant [6 x i8] c"exbad\00"
|
|
@.str5532 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5533 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5534 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5535 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5536 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5537 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00"
|
|
@.str5538 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str5539 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
|
|
@.str5540 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5541 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00"
|
|
@.str5542 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str5543 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str5544 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5545 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5546 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5547 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5548 = private unnamed_addr constant [5 x i8] c"Math\00"
|
|
@.str5549 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00"
|
|
@.str5550 = private unnamed_addr constant [5 x i8] c"Text\00"
|
|
@.str5551 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00"
|
|
@.str5552 = private unnamed_addr constant [5 x i8] c"List\00"
|
|
@.str5553 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00"
|
|
@.str5554 = private unnamed_addr constant [5 x i8] c"Ease\00"
|
|
@.str5555 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00"
|
|
@.str5556 = private unnamed_addr constant [5 x i8] c"Anim\00"
|
|
@.str5557 = private unnamed_addr constant [22 x i8] c"unknown builtin Anim.\00"
|
|
@.str5558 = private unnamed_addr constant [6 x i8] c"Tween\00"
|
|
@.str5559 = private unnamed_addr constant [23 x i8] c"unknown builtin Tween.\00"
|
|
@.str5560 = private unnamed_addr constant [10 x i8] c"Collision\00"
|
|
@.str5561 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00"
|
|
@.str5562 = private unnamed_addr constant [7 x i8] c"Memory\00"
|
|
@.str5563 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00"
|
|
@.str5564 = private unnamed_addr constant [6 x i8] c"Color\00"
|
|
@.str5565 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00"
|
|
@.str5566 = private unnamed_addr constant [5 x i8] c"Time\00"
|
|
@.str5567 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00"
|
|
@.str5568 = private unnamed_addr constant [5 x i8] c"Hash\00"
|
|
@.str5569 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00"
|
|
@.str5570 = private unnamed_addr constant [7 x i8] c"Crypto\00"
|
|
@.str5571 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00"
|
|
@.str5572 = private unnamed_addr constant [5 x i8] c"Uuid\00"
|
|
@.str5573 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00"
|
|
@.str5574 = private unnamed_addr constant [6 x i8] c"Noise\00"
|
|
@.str5575 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00"
|
|
@.str5576 = private unnamed_addr constant [4 x i8] c"Log\00"
|
|
@.str5577 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00"
|
|
@.str5578 = private unnamed_addr constant [3 x i8] c"Os\00"
|
|
@.str5579 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00"
|
|
@.str5580 = private unnamed_addr constant [8 x i8] c"Unicode\00"
|
|
@.str5581 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00"
|
|
@.str5582 = private unnamed_addr constant [3 x i8] c"Fs\00"
|
|
@.str5583 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00"
|
|
@.str5584 = private unnamed_addr constant [5 x i8] c"Path\00"
|
|
@.str5585 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00"
|
|
@.str5586 = private unnamed_addr constant [5 x i8] c"Mime\00"
|
|
@.str5587 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00"
|
|
@.str5588 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str5589 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00"
|
|
@.str5590 = private unnamed_addr constant [9 x i8] c"Duration\00"
|
|
@.str5591 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00"
|
|
@.str5592 = private unnamed_addr constant [5 x i8] c"Date\00"
|
|
@.str5593 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00"
|
|
@.str5594 = private unnamed_addr constant [9 x i8] c"DateTime\00"
|
|
@.str5595 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00"
|
|
@.str5596 = private unnamed_addr constant [6 x i8] c"Clock\00"
|
|
@.str5597 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00"
|
|
@.str5598 = private unnamed_addr constant [7 x i8] c"Screen\00"
|
|
@.str5599 = private unnamed_addr constant [6 x i8] c"clear\00"
|
|
@.str5600 = private unnamed_addr constant [6 x i8] c"clear\00"
|
|
@.str5601 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5602 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00"
|
|
@.str5603 = private unnamed_addr constant [10 x i8] c"fill_rect\00"
|
|
@.str5604 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5605 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5606 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str5607 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str5608 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5609 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00"
|
|
@.str5610 = private unnamed_addr constant [11 x i8] c"frame_rect\00"
|
|
@.str5611 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5612 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5613 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str5614 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str5615 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5616 = private unnamed_addr constant [10 x i8] c"put_pixel\00"
|
|
@.str5617 = private unnamed_addr constant [7 x i8] c"put_px\00"
|
|
@.str5618 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5619 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5620 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5621 = private unnamed_addr constant [10 x i8] c"draw_text\00"
|
|
@.str5622 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5623 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5624 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5625 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5626 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5627 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str5628 = private unnamed_addr constant [12 x i8] c"draw_number\00"
|
|
@.str5629 = private unnamed_addr constant [9 x i8] c"text_int\00"
|
|
@.str5630 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5631 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5632 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str5633 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5634 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str5635 = private unnamed_addr constant [5 x i8] c"show\00"
|
|
@.str5636 = private unnamed_addr constant [8 x i8] c"present\00"
|
|
@.str5637 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str5638 = private unnamed_addr constant [9 x i8] c"screen_w\00"
|
|
@.str5639 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str5640 = private unnamed_addr constant [9 x i8] c"screen_h\00"
|
|
@.str5641 = private unnamed_addr constant [7 x i8] c"status\00"
|
|
@.str5642 = private unnamed_addr constant [7 x i8] c"status\00"
|
|
@.str5643 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5644 = private unnamed_addr constant [5 x i8] c"line\00"
|
|
@.str5645 = private unnamed_addr constant [5 x i8] c"line\00"
|
|
@.str5646 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str5647 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str5648 = private unnamed_addr constant [3 x i8] c"x2\00"
|
|
@.str5649 = private unnamed_addr constant [3 x i8] c"y2\00"
|
|
@.str5650 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5651 = private unnamed_addr constant [7 x i8] c"circle\00"
|
|
@.str5652 = private unnamed_addr constant [7 x i8] c"circle\00"
|
|
@.str5653 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5654 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5655 = private unnamed_addr constant [7 x i8] c"radius\00"
|
|
@.str5656 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5657 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
|
|
@.str5658 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
|
|
@.str5659 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5660 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5661 = private unnamed_addr constant [7 x i8] c"radius\00"
|
|
@.str5662 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5663 = private unnamed_addr constant [9 x i8] c"triangle\00"
|
|
@.str5664 = private unnamed_addr constant [9 x i8] c"triangle\00"
|
|
@.str5665 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str5666 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str5667 = private unnamed_addr constant [3 x i8] c"x2\00"
|
|
@.str5668 = private unnamed_addr constant [3 x i8] c"y2\00"
|
|
@.str5669 = private unnamed_addr constant [3 x i8] c"x3\00"
|
|
@.str5670 = private unnamed_addr constant [3 x i8] c"y3\00"
|
|
@.str5671 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5672 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
|
|
@.str5673 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
|
|
@.str5674 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str5675 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str5676 = private unnamed_addr constant [3 x i8] c"x2\00"
|
|
@.str5677 = private unnamed_addr constant [3 x i8] c"y2\00"
|
|
@.str5678 = private unnamed_addr constant [3 x i8] c"x3\00"
|
|
@.str5679 = private unnamed_addr constant [3 x i8] c"y3\00"
|
|
@.str5680 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5681 = private unnamed_addr constant [7 x i8] c"sprite\00"
|
|
@.str5682 = private unnamed_addr constant [12 x i8] c"draw_sprite\00"
|
|
@.str5683 = private unnamed_addr constant [3 x i8] c"id\00"
|
|
@.str5684 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5685 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5686 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00"
|
|
@.str5687 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00"
|
|
@.str5688 = private unnamed_addr constant [3 x i8] c"id\00"
|
|
@.str5689 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5690 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5691 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str5692 = private unnamed_addr constant [5 x i8] c"oval\00"
|
|
@.str5693 = private unnamed_addr constant [5 x i8] c"oval\00"
|
|
@.str5694 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5695 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5696 = private unnamed_addr constant [3 x i8] c"rx\00"
|
|
@.str5697 = private unnamed_addr constant [3 x i8] c"ry\00"
|
|
@.str5698 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5699 = private unnamed_addr constant [7 x i8] c"camera\00"
|
|
@.str5700 = private unnamed_addr constant [7 x i8] c"camera\00"
|
|
@.str5701 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5702 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5703 = private unnamed_addr constant [5 x i8] c"clip\00"
|
|
@.str5704 = private unnamed_addr constant [5 x i8] c"clip\00"
|
|
@.str5705 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5706 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5707 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str5708 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str5709 = private unnamed_addr constant [11 x i8] c"clip_reset\00"
|
|
@.str5710 = private unnamed_addr constant [11 x i8] c"clip_reset\00"
|
|
@.str5711 = private unnamed_addr constant [11 x i8] c"blend_mode\00"
|
|
@.str5712 = private unnamed_addr constant [11 x i8] c"blend_mode\00"
|
|
@.str5713 = private unnamed_addr constant [5 x i8] c"mode\00"
|
|
@.str5714 = private unnamed_addr constant [13 x i8] c"measure_text\00"
|
|
@.str5715 = private unnamed_addr constant [13 x i8] c"measure_text\00"
|
|
@.str5716 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5717 = private unnamed_addr constant [6 x i8] c"pixel\00"
|
|
@.str5718 = private unnamed_addr constant [7 x i8] c"get_px\00"
|
|
@.str5719 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5720 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5721 = private unnamed_addr constant [7 x i8] c"Camera\00"
|
|
@.str5722 = private unnamed_addr constant [4 x i8] c"set\00"
|
|
@.str5723 = private unnamed_addr constant [7 x i8] c"camera\00"
|
|
@.str5724 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5725 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5726 = private unnamed_addr constant [7 x i8] c"follow\00"
|
|
@.str5727 = private unnamed_addr constant [14 x i8] c"camera_follow\00"
|
|
@.str5728 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5729 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5730 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str5731 = private unnamed_addr constant [6 x i8] c"shake\00"
|
|
@.str5732 = private unnamed_addr constant [13 x i8] c"camera_shake\00"
|
|
@.str5733 = private unnamed_addr constant [7 x i8] c"amount\00"
|
|
@.str5734 = private unnamed_addr constant [4 x i8] c"Map\00"
|
|
@.str5735 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str5736 = private unnamed_addr constant [9 x i8] c"map_size\00"
|
|
@.str5737 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str5738 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str5739 = private unnamed_addr constant [4 x i8] c"row\00"
|
|
@.str5740 = private unnamed_addr constant [8 x i8] c"map_row\00"
|
|
@.str5741 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5742 = private unnamed_addr constant [6 x i8] c"cells\00"
|
|
@.str5743 = private unnamed_addr constant [5 x i8] c"tile\00"
|
|
@.str5744 = private unnamed_addr constant [5 x i8] c"tile\00"
|
|
@.str5745 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5746 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5747 = private unnamed_addr constant [7 x i8] c"Random\00"
|
|
@.str5748 = private unnamed_addr constant [6 x i8] c"range\00"
|
|
@.str5749 = private unnamed_addr constant [10 x i8] c"rng_range\00"
|
|
@.str5750 = private unnamed_addr constant [4 x i8] c"low\00"
|
|
@.str5751 = private unnamed_addr constant [5 x i8] c"high\00"
|
|
@.str5752 = private unnamed_addr constant [7 x i8] c"chance\00"
|
|
@.str5753 = private unnamed_addr constant [11 x i8] c"rng_chance\00"
|
|
@.str5754 = private unnamed_addr constant [8 x i8] c"percent\00"
|
|
@.str5755 = private unnamed_addr constant [5 x i8] c"seed\00"
|
|
@.str5756 = private unnamed_addr constant [5 x i8] c"seed\00"
|
|
@.str5757 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str5758 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str5759 = private unnamed_addr constant [10 x i8] c"rng_value\00"
|
|
@.str5760 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5761 = private unnamed_addr constant [8 x i8] c"rng_int\00"
|
|
@.str5762 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str5763 = private unnamed_addr constant [5 x i8] c"sign\00"
|
|
@.str5764 = private unnamed_addr constant [9 x i8] c"rng_sign\00"
|
|
@.str5765 = private unnamed_addr constant [6 x i8] c"Input\00"
|
|
@.str5766 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str5767 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str5768 = private unnamed_addr constant [5 x i8] c"bind\00"
|
|
@.str5769 = private unnamed_addr constant [11 x i8] c"input_bind\00"
|
|
@.str5770 = private unnamed_addr constant [7 x i8] c"rebind\00"
|
|
@.str5771 = private unnamed_addr constant [13 x i8] c"input_rebind\00"
|
|
@.str5772 = private unnamed_addr constant [5 x i8] c"poll\00"
|
|
@.str5773 = private unnamed_addr constant [11 x i8] c"input_poll\00"
|
|
@.str5774 = private unnamed_addr constant [5 x i8] c"down\00"
|
|
@.str5775 = private unnamed_addr constant [11 x i8] c"input_down\00"
|
|
@.str5776 = private unnamed_addr constant [8 x i8] c"pressed\00"
|
|
@.str5777 = private unnamed_addr constant [14 x i8] c"input_pressed\00"
|
|
@.str5778 = private unnamed_addr constant [7 x i8] c"record\00"
|
|
@.str5779 = private unnamed_addr constant [13 x i8] c"input_record\00"
|
|
@.str5780 = private unnamed_addr constant [7 x i8] c"replay\00"
|
|
@.str5781 = private unnamed_addr constant [13 x i8] c"input_replay\00"
|
|
@.str5782 = private unnamed_addr constant [6 x i8] c"World\00"
|
|
@.str5783 = private unnamed_addr constant [4 x i8] c"get\00"
|
|
@.str5784 = private unnamed_addr constant [10 x i8] c"world_get\00"
|
|
@.str5785 = private unnamed_addr constant [4 x i8] c"set\00"
|
|
@.str5786 = private unnamed_addr constant [10 x i8] c"world_set\00"
|
|
@.str5787 = private unnamed_addr constant [4 x i8] c"has\00"
|
|
@.str5788 = private unnamed_addr constant [10 x i8] c"world_has\00"
|
|
@.str5789 = private unnamed_addr constant [6 x i8] c"count\00"
|
|
@.str5790 = private unnamed_addr constant [12 x i8] c"world_count\00"
|
|
@.str5791 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str5792 = private unnamed_addr constant [11 x i8] c"world_size\00"
|
|
@.str5793 = private unnamed_addr constant [6 x i8] c"spawn\00"
|
|
@.str5794 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
|
|
@.str5795 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str5796 = private unnamed_addr constant [11 x i8] c"world_save\00"
|
|
@.str5797 = private unnamed_addr constant [5 x i8] c"load\00"
|
|
@.str5798 = private unnamed_addr constant [11 x i8] c"world_load\00"
|
|
@.str5799 = private unnamed_addr constant [8 x i8] c"prop_id\00"
|
|
@.str5800 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
|
|
@.str5801 = private unnamed_addr constant [9 x i8] c"field_id\00"
|
|
@.str5802 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
|
|
@.str5803 = private unnamed_addr constant [9 x i8] c"model_id\00"
|
|
@.str5804 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
|
|
@.str5805 = private unnamed_addr constant [5 x i8] c"kind\00"
|
|
@.str5806 = private unnamed_addr constant [11 x i8] c"world_kind\00"
|
|
@.str5807 = private unnamed_addr constant [14 x i8] c"register_prop\00"
|
|
@.str5808 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
|
|
@.str5809 = private unnamed_addr constant [7 x i8] c"attach\00"
|
|
@.str5810 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
|
|
@.str5811 = private unnamed_addr constant [7 x i8] c"detach\00"
|
|
@.str5812 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
|
|
@.str5813 = private unnamed_addr constant [11 x i8] c"query_next\00"
|
|
@.str5814 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
|
|
@.str5815 = private unnamed_addr constant [8 x i8] c"Network\00"
|
|
@.str5816 = private unnamed_addr constant [5 x i8] c"send\00"
|
|
@.str5817 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str5818 = private unnamed_addr constant [5 x i8] c"poll\00"
|
|
@.str5819 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str5820 = private unnamed_addr constant [10 x i8] c"serialize\00"
|
|
@.str5821 = private unnamed_addr constant [10 x i8] c"serialize\00"
|
|
@.str5822 = private unnamed_addr constant [6 x i8] c"apply\00"
|
|
@.str5823 = private unnamed_addr constant [6 x i8] c"apply\00"
|
|
@.str5824 = private unnamed_addr constant [6 x i8] c"owner\00"
|
|
@.str5825 = private unnamed_addr constant [6 x i8] c"owner\00"
|
|
@.str5826 = private unnamed_addr constant [10 x i8] c"set_owner\00"
|
|
@.str5827 = private unnamed_addr constant [10 x i8] c"set_owner\00"
|
|
@.str5828 = private unnamed_addr constant [10 x i8] c"is_server\00"
|
|
@.str5829 = private unnamed_addr constant [10 x i8] c"is_server\00"
|
|
@.str5830 = private unnamed_addr constant [9 x i8] c"is_owner\00"
|
|
@.str5831 = private unnamed_addr constant [9 x i8] c"is_owner\00"
|
|
@.str5832 = private unnamed_addr constant [9 x i8] c"local_id\00"
|
|
@.str5833 = private unnamed_addr constant [9 x i8] c"local_id\00"
|
|
@.str5834 = private unnamed_addr constant [7 x i8] c"System\00"
|
|
@.str5835 = private unnamed_addr constant [4 x i8] c"run\00"
|
|
@.str5836 = private unnamed_addr constant [4 x i8] c"run\00"
|
|
@.str5837 = private unnamed_addr constant [10 x i8] c"read_char\00"
|
|
@.str5838 = private unnamed_addr constant [10 x i8] c"read_char\00"
|
|
@.str5839 = private unnamed_addr constant [10 x i8] c"file_open\00"
|
|
@.str5840 = private unnamed_addr constant [10 x i8] c"file_open\00"
|
|
@.str5841 = private unnamed_addr constant [10 x i8] c"file_read\00"
|
|
@.str5842 = private unnamed_addr constant [10 x i8] c"file_read\00"
|
|
@.str5843 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str5844 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str5845 = private unnamed_addr constant [10 x i8] c"file_seek\00"
|
|
@.str5846 = private unnamed_addr constant [10 x i8] c"file_seek\00"
|
|
@.str5847 = private unnamed_addr constant [10 x i8] c"file_tell\00"
|
|
@.str5848 = private unnamed_addr constant [10 x i8] c"file_tell\00"
|
|
@.str5849 = private unnamed_addr constant [11 x i8] c"file_close\00"
|
|
@.str5850 = private unnamed_addr constant [11 x i8] c"file_close\00"
|
|
@.str5851 = private unnamed_addr constant [5 x i8] c"Save\00"
|
|
@.str5852 = private unnamed_addr constant [6 x i8] c"write\00"
|
|
@.str5853 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str5854 = private unnamed_addr constant [5 x i8] c"read\00"
|
|
@.str5855 = private unnamed_addr constant [5 x i8] c"load\00"
|
|
@.str5856 = private unnamed_addr constant [6 x i8] c"Regex\00"
|
|
@.str5857 = private unnamed_addr constant [8 x i8] c"compile\00"
|
|
@.str5858 = private unnamed_addr constant [14 x i8] c"regex_compile\00"
|
|
@.str5859 = private unnamed_addr constant [8 x i8] c"pattern\00"
|
|
@.str5860 = private unnamed_addr constant [6 x i8] c"valid\00"
|
|
@.str5861 = private unnamed_addr constant [12 x i8] c"regex_valid\00"
|
|
@.str5862 = private unnamed_addr constant [8 x i8] c"pattern\00"
|
|
@.str5863 = private unnamed_addr constant [8 x i8] c"matches\00"
|
|
@.str5864 = private unnamed_addr constant [14 x i8] c"regex_matches\00"
|
|
@.str5865 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5866 = private unnamed_addr constant [8 x i8] c"pattern\00"
|
|
@.str5867 = private unnamed_addr constant [5 x i8] c"test\00"
|
|
@.str5868 = private unnamed_addr constant [11 x i8] c"regex_test\00"
|
|
@.str5869 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5870 = private unnamed_addr constant [3 x i8] c"re\00"
|
|
@.str5871 = private unnamed_addr constant [5 x i8] c"find\00"
|
|
@.str5872 = private unnamed_addr constant [11 x i8] c"regex_find\00"
|
|
@.str5873 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5874 = private unnamed_addr constant [8 x i8] c"pattern\00"
|
|
@.str5875 = private unnamed_addr constant [5 x i8] c"exec\00"
|
|
@.str5876 = private unnamed_addr constant [11 x i8] c"regex_exec\00"
|
|
@.str5877 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5878 = private unnamed_addr constant [3 x i8] c"re\00"
|
|
@.str5879 = private unnamed_addr constant [5 x i8] c"next\00"
|
|
@.str5880 = private unnamed_addr constant [11 x i8] c"regex_next\00"
|
|
@.str5881 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5882 = private unnamed_addr constant [3 x i8] c"re\00"
|
|
@.str5883 = private unnamed_addr constant [5 x i8] c"from\00"
|
|
@.str5884 = private unnamed_addr constant [8 x i8] c"replace\00"
|
|
@.str5885 = private unnamed_addr constant [14 x i8] c"regex_replace\00"
|
|
@.str5886 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str5887 = private unnamed_addr constant [8 x i8] c"pattern\00"
|
|
@.str5888 = private unnamed_addr constant [12 x i8] c"replacement\00"
|
|
@.str5889 = private unnamed_addr constant [6 x i8] c"group\00"
|
|
@.str5890 = private unnamed_addr constant [12 x i8] c"regex_group\00"
|
|
@.str5891 = private unnamed_addr constant [6 x i8] c"match\00"
|
|
@.str5892 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str5893 = private unnamed_addr constant [12 x i8] c"group_count\00"
|
|
@.str5894 = private unnamed_addr constant [18 x i8] c"regex_group_count\00"
|
|
@.str5895 = private unnamed_addr constant [6 x i8] c"match\00"
|
|
@.str5896 = private unnamed_addr constant [6 x i8] c"start\00"
|
|
@.str5897 = private unnamed_addr constant [12 x i8] c"regex_start\00"
|
|
@.str5898 = private unnamed_addr constant [6 x i8] c"match\00"
|
|
@.str5899 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str5900 = private unnamed_addr constant [4 x i8] c"end\00"
|
|
@.str5901 = private unnamed_addr constant [10 x i8] c"regex_end\00"
|
|
@.str5902 = private unnamed_addr constant [6 x i8] c"match\00"
|
|
@.str5903 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str5904 = private unnamed_addr constant [3 x i8] c"ok\00"
|
|
@.str5905 = private unnamed_addr constant [9 x i8] c"regex_ok\00"
|
|
@.str5906 = private unnamed_addr constant [6 x i8] c"match\00"
|
|
@.str5907 = private unnamed_addr constant [5 x i8] c"Grid\00"
|
|
@.str5908 = private unnamed_addr constant [5 x i8] c"line\00"
|
|
@.str5909 = private unnamed_addr constant [10 x i8] c"grid_line\00"
|
|
@.str5910 = private unnamed_addr constant [3 x i8] c"x0\00"
|
|
@.str5911 = private unnamed_addr constant [3 x i8] c"y0\00"
|
|
@.str5912 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str5913 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str5914 = private unnamed_addr constant [8 x i8] c"blocked\00"
|
|
@.str5915 = private unnamed_addr constant [13 x i8] c"grid_blocked\00"
|
|
@.str5916 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5917 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5918 = private unnamed_addr constant [5 x i8] c"wall\00"
|
|
@.str5919 = private unnamed_addr constant [14 x i8] c"line_of_sight\00"
|
|
@.str5920 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00"
|
|
@.str5921 = private unnamed_addr constant [3 x i8] c"x0\00"
|
|
@.str5922 = private unnamed_addr constant [3 x i8] c"y0\00"
|
|
@.str5923 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str5924 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str5925 = private unnamed_addr constant [5 x i8] c"wall\00"
|
|
@.str5926 = private unnamed_addr constant [6 x i8] c"flood\00"
|
|
@.str5927 = private unnamed_addr constant [11 x i8] c"grid_flood\00"
|
|
@.str5928 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5929 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5930 = private unnamed_addr constant [5 x i8] c"wall\00"
|
|
@.str5931 = private unnamed_addr constant [7 x i8] c"a_star\00"
|
|
@.str5932 = private unnamed_addr constant [12 x i8] c"path_a_star\00"
|
|
@.str5933 = private unnamed_addr constant [3 x i8] c"x0\00"
|
|
@.str5934 = private unnamed_addr constant [3 x i8] c"y0\00"
|
|
@.str5935 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str5936 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str5937 = private unnamed_addr constant [5 x i8] c"wall\00"
|
|
@.str5938 = private unnamed_addr constant [6 x i8] c"Light\00"
|
|
@.str5939 = private unnamed_addr constant [8 x i8] c"ambient\00"
|
|
@.str5940 = private unnamed_addr constant [14 x i8] c"light_ambient\00"
|
|
@.str5941 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5942 = private unnamed_addr constant [6 x i8] c"point\00"
|
|
@.str5943 = private unnamed_addr constant [12 x i8] c"light_point\00"
|
|
@.str5944 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5945 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5946 = private unnamed_addr constant [7 x i8] c"radius\00"
|
|
@.str5947 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str5948 = private unnamed_addr constant [7 x i8] c"energy\00"
|
|
@.str5949 = private unnamed_addr constant [8 x i8] c"occlude\00"
|
|
@.str5950 = private unnamed_addr constant [14 x i8] c"light_occlude\00"
|
|
@.str5951 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5952 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5953 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str5954 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str5955 = private unnamed_addr constant [16 x i8] c"clear_occluders\00"
|
|
@.str5956 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00"
|
|
@.str5957 = private unnamed_addr constant [6 x i8] c"Query\00"
|
|
@.str5958 = private unnamed_addr constant [6 x i8] c"count\00"
|
|
@.str5959 = private unnamed_addr constant [12 x i8] c"query_count\00"
|
|
@.str5960 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str5961 = private unnamed_addr constant [6 x i8] c"first\00"
|
|
@.str5962 = private unnamed_addr constant [12 x i8] c"query_first\00"
|
|
@.str5963 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str5964 = private unnamed_addr constant [8 x i8] c"nearest\00"
|
|
@.str5965 = private unnamed_addr constant [14 x i8] c"query_nearest\00"
|
|
@.str5966 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str5967 = private unnamed_addr constant [4 x i8] c"pos\00"
|
|
@.str5968 = private unnamed_addr constant [8 x i8] c"x_field\00"
|
|
@.str5969 = private unnamed_addr constant [8 x i8] c"y_field\00"
|
|
@.str5970 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5971 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5972 = private unnamed_addr constant [7 x i8] c"within\00"
|
|
@.str5973 = private unnamed_addr constant [13 x i8] c"query_within\00"
|
|
@.str5974 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str5975 = private unnamed_addr constant [4 x i8] c"pos\00"
|
|
@.str5976 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str5977 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str5978 = private unnamed_addr constant [7 x i8] c"radius\00"
|
|
@.str5979 = private unnamed_addr constant [8 x i8] c"x_field\00"
|
|
@.str5980 = private unnamed_addr constant [8 x i8] c"y_field\00"
|
|
@.str5981 = private unnamed_addr constant [8 x i8] c"Reflect\00"
|
|
@.str5982 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str5983 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
|
|
@.str5984 = private unnamed_addr constant [5 x i8] c"name\00"
|
|
@.str5985 = private unnamed_addr constant [6 x i8] c"field\00"
|
|
@.str5986 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
|
|
@.str5987 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str5988 = private unnamed_addr constant [5 x i8] c"name\00"
|
|
@.str5989 = private unnamed_addr constant [11 x i8] c"prop_count\00"
|
|
@.str5990 = private unnamed_addr constant [17 x i8] c"world_prop_count\00"
|
|
@.str5991 = private unnamed_addr constant [10 x i8] c"prop_name\00"
|
|
@.str5992 = private unnamed_addr constant [16 x i8] c"world_prop_name\00"
|
|
@.str5993 = private unnamed_addr constant [6 x i8] c"index\00"
|
|
@.str5994 = private unnamed_addr constant [12 x i8] c"field_count\00"
|
|
@.str5995 = private unnamed_addr constant [18 x i8] c"world_field_count\00"
|
|
@.str5996 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str5997 = private unnamed_addr constant [11 x i8] c"field_name\00"
|
|
@.str5998 = private unnamed_addr constant [17 x i8] c"world_field_name\00"
|
|
@.str5999 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str6000 = private unnamed_addr constant [6 x i8] c"index\00"
|
|
@.str6001 = private unnamed_addr constant [11 x i8] c"field_type\00"
|
|
@.str6002 = private unnamed_addr constant [17 x i8] c"world_field_type\00"
|
|
@.str6003 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str6004 = private unnamed_addr constant [6 x i8] c"index\00"
|
|
@.str6005 = private unnamed_addr constant [4 x i8] c"get\00"
|
|
@.str6006 = private unnamed_addr constant [10 x i8] c"world_get\00"
|
|
@.str6007 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str6008 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str6009 = private unnamed_addr constant [6 x i8] c"field\00"
|
|
@.str6010 = private unnamed_addr constant [4 x i8] c"set\00"
|
|
@.str6011 = private unnamed_addr constant [10 x i8] c"world_set\00"
|
|
@.str6012 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str6013 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str6014 = private unnamed_addr constant [6 x i8] c"field\00"
|
|
@.str6015 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str6016 = private unnamed_addr constant [4 x i8] c"has\00"
|
|
@.str6017 = private unnamed_addr constant [10 x i8] c"world_has\00"
|
|
@.str6018 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str6019 = private unnamed_addr constant [5 x i8] c"prop\00"
|
|
@.str6020 = private unnamed_addr constant [5 x i8] c"kind\00"
|
|
@.str6021 = private unnamed_addr constant [11 x i8] c"world_kind\00"
|
|
@.str6022 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str6023 = private unnamed_addr constant [6 x i8] c"model\00"
|
|
@.str6024 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
|
|
@.str6025 = private unnamed_addr constant [5 x i8] c"name\00"
|
|
@.str6026 = private unnamed_addr constant [10 x i8] c"serialize\00"
|
|
@.str6027 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00"
|
|
@.str6028 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str6029 = private unnamed_addr constant [6 x i8] c"apply\00"
|
|
@.str6030 = private unnamed_addr constant [14 x i8] c"reflect_apply\00"
|
|
@.str6031 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str6032 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str6033 = private unnamed_addr constant [6 x i8] c"Value\00"
|
|
@.str6034 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str6035 = private unnamed_addr constant [11 x i8] c"value_null\00"
|
|
@.str6036 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6037 = private unnamed_addr constant [10 x i8] c"value_int\00"
|
|
@.str6038 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str6039 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str6040 = private unnamed_addr constant [12 x i8] c"value_fixed\00"
|
|
@.str6041 = private unnamed_addr constant [2 x i8] c"f\00"
|
|
@.str6042 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str6043 = private unnamed_addr constant [11 x i8] c"value_bool\00"
|
|
@.str6044 = private unnamed_addr constant [2 x i8] c"b\00"
|
|
@.str6045 = private unnamed_addr constant [4 x i8] c"str\00"
|
|
@.str6046 = private unnamed_addr constant [10 x i8] c"value_str\00"
|
|
@.str6047 = private unnamed_addr constant [2 x i8] c"s\00"
|
|
@.str6048 = private unnamed_addr constant [5 x i8] c"list\00"
|
|
@.str6049 = private unnamed_addr constant [11 x i8] c"value_list\00"
|
|
@.str6050 = private unnamed_addr constant [7 x i8] c"object\00"
|
|
@.str6051 = private unnamed_addr constant [13 x i8] c"value_object\00"
|
|
@.str6052 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str6053 = private unnamed_addr constant [10 x i8] c"value_add\00"
|
|
@.str6054 = private unnamed_addr constant [5 x i8] c"list\00"
|
|
@.str6055 = private unnamed_addr constant [5 x i8] c"item\00"
|
|
@.str6056 = private unnamed_addr constant [4 x i8] c"put\00"
|
|
@.str6057 = private unnamed_addr constant [10 x i8] c"value_put\00"
|
|
@.str6058 = private unnamed_addr constant [4 x i8] c"obj\00"
|
|
@.str6059 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str6060 = private unnamed_addr constant [5 x i8] c"item\00"
|
|
@.str6061 = private unnamed_addr constant [4 x i8] c"get\00"
|
|
@.str6062 = private unnamed_addr constant [10 x i8] c"value_get\00"
|
|
@.str6063 = private unnamed_addr constant [4 x i8] c"obj\00"
|
|
@.str6064 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str6065 = private unnamed_addr constant [4 x i8] c"has\00"
|
|
@.str6066 = private unnamed_addr constant [10 x i8] c"value_has\00"
|
|
@.str6067 = private unnamed_addr constant [4 x i8] c"obj\00"
|
|
@.str6068 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str6069 = private unnamed_addr constant [3 x i8] c"at\00"
|
|
@.str6070 = private unnamed_addr constant [9 x i8] c"value_at\00"
|
|
@.str6071 = private unnamed_addr constant [5 x i8] c"list\00"
|
|
@.str6072 = private unnamed_addr constant [6 x i8] c"index\00"
|
|
@.str6073 = private unnamed_addr constant [7 x i8] c"key_at\00"
|
|
@.str6074 = private unnamed_addr constant [13 x i8] c"value_key_at\00"
|
|
@.str6075 = private unnamed_addr constant [4 x i8] c"obj\00"
|
|
@.str6076 = private unnamed_addr constant [6 x i8] c"index\00"
|
|
@.str6077 = private unnamed_addr constant [6 x i8] c"count\00"
|
|
@.str6078 = private unnamed_addr constant [12 x i8] c"value_count\00"
|
|
@.str6079 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str6080 = private unnamed_addr constant [5 x i8] c"kind\00"
|
|
@.str6081 = private unnamed_addr constant [11 x i8] c"value_kind\00"
|
|
@.str6082 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str6083 = private unnamed_addr constant [7 x i8] c"as_int\00"
|
|
@.str6084 = private unnamed_addr constant [13 x i8] c"value_as_int\00"
|
|
@.str6085 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str6086 = private unnamed_addr constant [7 x i8] c"as_str\00"
|
|
@.str6087 = private unnamed_addr constant [13 x i8] c"value_as_str\00"
|
|
@.str6088 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str6089 = private unnamed_addr constant [5 x i8] c"Json\00"
|
|
@.str6090 = private unnamed_addr constant [7 x i8] c"encode\00"
|
|
@.str6091 = private unnamed_addr constant [12 x i8] c"json_encode\00"
|
|
@.str6092 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str6093 = private unnamed_addr constant [6 x i8] c"parse\00"
|
|
@.str6094 = private unnamed_addr constant [11 x i8] c"json_parse\00"
|
|
@.str6095 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str6096 = private unnamed_addr constant [17 x i8] c"unknown builtin \00"
|
|
@.str6097 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str6098 = private unnamed_addr constant [30 x i8] c"call target is not a function\00"
|
|
@.str6099 = private unnamed_addr constant [5 x i8] c"self\00"
|
|
@.str6100 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6101 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str6102 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6103 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str6104 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str6105 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00"
|
|
@.str6106 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6107 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str6108 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00"
|
|
@.str6109 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6110 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6111 = private unnamed_addr constant [9 x i8] c"ui_build\00"
|
|
@.str6112 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00"
|
|
@.str6113 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6114 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6115 = private unnamed_addr constant [5 x i8] c"load\00"
|
|
@.str6116 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00"
|
|
@.str6117 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str6118 = private unnamed_addr constant [11 x i8] c"world_size\00"
|
|
@.str6119 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00"
|
|
@.str6120 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6121 = private unnamed_addr constant [11 x i8] c"world_save\00"
|
|
@.str6122 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00"
|
|
@.str6123 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6124 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6125 = private unnamed_addr constant [11 x i8] c"world_load\00"
|
|
@.str6126 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00"
|
|
@.str6127 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6128 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6129 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6130 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6131 = private unnamed_addr constant [5 x i8] c"quit\00"
|
|
@.str6132 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00"
|
|
@.str6133 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6134 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6135 = private unnamed_addr constant [10 x i8] c"serialize\00"
|
|
@.str6136 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00"
|
|
@.str6137 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6138 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6139 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6140 = private unnamed_addr constant [6 x i8] c"apply\00"
|
|
@.str6141 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00"
|
|
@.str6142 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6143 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6144 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6145 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6146 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6147 = private unnamed_addr constant [10 x i8] c"sync_size\00"
|
|
@.str6148 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00"
|
|
@.str6149 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6150 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6151 = private unnamed_addr constant [6 x i8] c"owner\00"
|
|
@.str6152 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00"
|
|
@.str6153 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6154 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6155 = private unnamed_addr constant [10 x i8] c"set_owner\00"
|
|
@.str6156 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00"
|
|
@.str6157 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6158 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6159 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6160 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6161 = private unnamed_addr constant [9 x i8] c"is_owner\00"
|
|
@.str6162 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00"
|
|
@.str6163 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6164 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str6165 = private unnamed_addr constant [10 x i8] c"is_server\00"
|
|
@.str6166 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
|
|
@.str6167 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str6168 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str6169 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str6170 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str6171 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str6172 = private unnamed_addr constant [9 x i8] c"local_id\00"
|
|
@.str6173 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00"
|
|
@.str6174 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6175 = private unnamed_addr constant [9 x i8] c"net_pump\00"
|
|
@.str6176 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00"
|
|
@.str6177 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6178 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6179 = private unnamed_addr constant [11 x i8] c"tick_fixed\00"
|
|
@.str6180 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00"
|
|
@.str6181 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6182 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6183 = private unnamed_addr constant [12 x i8] c"tick_render\00"
|
|
@.str6184 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00"
|
|
@.str6185 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6186 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6187 = private unnamed_addr constant [9 x i8] c"set_role\00"
|
|
@.str6188 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str6189 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00"
|
|
@.str6190 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6191 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6192 = private unnamed_addr constant [13 x i8] c"set_local_id\00"
|
|
@.str6193 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str6194 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00"
|
|
@.str6195 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6196 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6197 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str6198 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str6199 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00"
|
|
@.str6200 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6201 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6202 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6203 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6204 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6205 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str6206 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str6207 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00"
|
|
@.str6208 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6209 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6210 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6211 = private unnamed_addr constant [4 x i8] c"len\00"
|
|
@.str6212 = private unnamed_addr constant [5 x i8] c"push\00"
|
|
@.str6213 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str6214 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6215 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str6216 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00"
|
|
@.str6217 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6218 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str6219 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
|
|
@.str6220 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6221 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str6222 = private unnamed_addr constant [6 x i8] c"print\00"
|
|
@.str6223 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6224 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
|
|
@.str6225 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6226 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str6227 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00"
|
|
@.str6228 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6229 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00"
|
|
@.str6230 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6231 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6232 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6233 = private unnamed_addr constant [6 x i8] c"bytes\00"
|
|
@.str6234 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str6235 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str6236 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str6237 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6238 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str6239 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str6240 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str6241 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str6242 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str6243 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str6244 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str6245 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6246 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str6247 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str6248 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str6249 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str6250 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str6251 = private unnamed_addr constant [6 x i8] c"floor\00"
|
|
@.str6252 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str6253 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str6254 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6255 = private unnamed_addr constant [7 x i8] c"expect\00"
|
|
@.str6256 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str6257 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6258 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str6259 = private unnamed_addr constant [16 x i8] c": expect failed\00"
|
|
@.str6260 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str6261 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str6262 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6263 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6264 = private unnamed_addr constant [10 x i8] c"expect_eq\00"
|
|
@.str6265 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str6266 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6267 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str6268 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00"
|
|
@.str6269 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6270 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6271 = private unnamed_addr constant [12 x i8] c"expect_near\00"
|
|
@.str6272 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str6273 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6274 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str6275 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str6276 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6277 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str6278 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6279 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6280 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
|
|
@.str6281 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6282 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str6283 = private unnamed_addr constant [21 x i8] c": expect_near failed\00"
|
|
@.str6284 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6285 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6286 = private unnamed_addr constant [6 x i8] c"panic\00"
|
|
@.str6287 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str6288 = private unnamed_addr constant [10 x i8] c": panic: \00"
|
|
@.str6289 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
|
|
@.str6290 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00"
|
|
@.str6291 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00"
|
|
@.str6292 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6293 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6294 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00"
|
|
@.str6295 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6296 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6297 = private unnamed_addr constant [7 x i8] c"assert\00"
|
|
@.str6298 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str6299 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6300 = private unnamed_addr constant [5 x i8] c"asok\00"
|
|
@.str6301 = private unnamed_addr constant [6 x i8] c"asbad\00"
|
|
@.str6302 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6303 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6304 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6305 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6306 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6307 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str6308 = private unnamed_addr constant [21 x i8] c": assertion failed: \00"
|
|
@.str6309 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
|
|
@.str6310 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00"
|
|
@.str6311 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00"
|
|
@.str6312 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6313 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6314 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00"
|
|
@.str6315 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6316 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6317 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6318 = private unnamed_addr constant [3 x i8] c"ok\00"
|
|
@.str6319 = private unnamed_addr constant [3 x i8] c"ok\00"
|
|
@.str6320 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00"
|
|
@.str6321 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str6322 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
|
|
@.str6323 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
|
|
@.str6324 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6325 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str6326 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
|
|
@.str6327 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str6328 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6329 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6330 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6331 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str6332 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
|
|
@.str6333 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
|
|
@.str6334 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6335 = private unnamed_addr constant [7 x i8] c"result\00"
|
|
@.str6336 = private unnamed_addr constant [4 x i8] c"err\00"
|
|
@.str6337 = private unnamed_addr constant [4 x i8] c"err\00"
|
|
@.str6338 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00"
|
|
@.str6339 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str6340 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
|
|
@.str6341 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str6342 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6343 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str6344 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
|
|
@.str6345 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str6346 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6347 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str6348 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
|
|
@.str6349 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str6350 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6351 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6352 = private unnamed_addr constant [7 x i8] c"result\00"
|
|
@.str6353 = private unnamed_addr constant [6 x i8] c"is_ok\00"
|
|
@.str6354 = private unnamed_addr constant [6 x i8] c"is_ok\00"
|
|
@.str6355 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str6356 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
|
|
@.str6357 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6358 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str6359 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6360 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str6361 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str6362 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str6363 = private unnamed_addr constant [7 x i8] c"is_err\00"
|
|
@.str6364 = private unnamed_addr constant [7 x i8] c"is_err\00"
|
|
@.str6365 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
|
|
@.str6366 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
|
|
@.str6367 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6368 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str6369 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6370 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str6371 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str6372 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str6373 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
|
|
@.str6374 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00"
|
|
@.str6375 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6376 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6377 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
|
|
@.str6378 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00"
|
|
@.str6379 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6380 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6381 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6382 = private unnamed_addr constant [10 x i8] c"world_get\00"
|
|
@.str6383 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00"
|
|
@.str6384 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6385 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6386 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6387 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str6388 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str6389 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6390 = private unnamed_addr constant [10 x i8] c"world_set\00"
|
|
@.str6391 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str6392 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str6393 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00"
|
|
@.str6394 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6395 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6396 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str6397 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6398 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6399 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6400 = private unnamed_addr constant [10 x i8] c"world_has\00"
|
|
@.str6401 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00"
|
|
@.str6402 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6403 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6404 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6405 = private unnamed_addr constant [12 x i8] c"world_count\00"
|
|
@.str6406 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00"
|
|
@.str6407 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6408 = private unnamed_addr constant [11 x i8] c"world_kind\00"
|
|
@.str6409 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00"
|
|
@.str6410 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6411 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6412 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
|
|
@.str6413 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00"
|
|
@.str6414 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6415 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6416 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
|
|
@.str6417 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00"
|
|
@.str6418 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6419 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6420 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6421 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
|
|
@.str6422 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00"
|
|
@.str6423 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6424 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6425 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6426 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
|
|
@.str6427 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00"
|
|
@.str6428 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6429 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6430 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6431 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6432 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
|
|
@.str6433 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00"
|
|
@.str6434 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6435 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6436 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6437 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6438 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
|
|
@.str6439 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00"
|
|
@.str6440 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6441 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6442 = private unnamed_addr constant [17 x i8] c"world_prop_count\00"
|
|
@.str6443 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00"
|
|
@.str6444 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6445 = private unnamed_addr constant [16 x i8] c"world_prop_name\00"
|
|
@.str6446 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00"
|
|
@.str6447 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6448 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str6449 = private unnamed_addr constant [18 x i8] c"world_field_count\00"
|
|
@.str6450 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00"
|
|
@.str6451 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6452 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6453 = private unnamed_addr constant [17 x i8] c"world_field_name\00"
|
|
@.str6454 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00"
|
|
@.str6455 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6456 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6457 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str6458 = private unnamed_addr constant [17 x i8] c"world_field_type\00"
|
|
@.str6459 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00"
|
|
@.str6460 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6461 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6462 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str6463 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6464 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6465 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6466 = private unnamed_addr constant [4 x i8] c" = \00"
|
|
@.str6467 = private unnamed_addr constant [6 x i8] c"call \00"
|
|
@.str6468 = private unnamed_addr constant [3 x i8] c" @\00"
|
|
@.str6469 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str6470 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6471 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6472 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6473 = private unnamed_addr constant [4 x i8] c"rt_\00"
|
|
@.str6474 = private unnamed_addr constant [18 x i8] c"unknown function \00"
|
|
@.str6475 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6476 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6477 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6478 = private unnamed_addr constant [4 x i8] c" = \00"
|
|
@.str6479 = private unnamed_addr constant [6 x i8] c"call \00"
|
|
@.str6480 = private unnamed_addr constant [6 x i8] c" @fn_\00"
|
|
@.str6481 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str6482 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6483 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6484 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6485 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6486 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6487 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6488 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str6489 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str6490 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str6491 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str6492 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00"
|
|
@.str6493 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6494 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6495 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6496 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str6497 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str6498 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6499 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str6500 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
|
|
@.str6501 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6502 = private unnamed_addr constant [20 x i8] c"unknown identifier \00"
|
|
@.str6503 = private unnamed_addr constant [6 x i8] c"Color\00"
|
|
@.str6504 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00"
|
|
@.str6505 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6506 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6507 = private unnamed_addr constant [5 x i8] c"byte\00"
|
|
@.str6508 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str6509 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
|
|
@.str6510 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str6511 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6512 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str6513 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str6514 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00"
|
|
@.str6515 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str6516 = private unnamed_addr constant [2 x i8] c"~\00"
|
|
@.str6517 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
|
|
@.str6518 = private unnamed_addr constant [5 x i8] c", -1\00"
|
|
@.str6519 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str6520 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str6521 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str6522 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6523 = private unnamed_addr constant [2 x i8] c"~\00"
|
|
@.str6524 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str6525 = private unnamed_addr constant [5 x i8] c", -1\00"
|
|
@.str6526 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6527 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str6528 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6529 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str6530 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str6531 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str6532 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00"
|
|
@.str6533 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6534 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6535 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str6536 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6537 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6538 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6539 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6540 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6541 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00"
|
|
@.str6542 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00"
|
|
@.str6543 = private unnamed_addr constant [19 x i8] c"assign to unknown \00"
|
|
@.str6544 = private unnamed_addr constant [4 x i8] c"@g_\00"
|
|
@.str6545 = private unnamed_addr constant [22 x i8] c"bad assignment target\00"
|
|
@.str6546 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str6547 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
|
|
@.str6548 = private unnamed_addr constant [7 x i8] c" to i8\00"
|
|
@.str6549 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str6550 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str6551 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6552 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str6553 = private unnamed_addr constant [3 x i8] c"-=\00"
|
|
@.str6554 = private unnamed_addr constant [4 x i8] c"sub\00"
|
|
@.str6555 = private unnamed_addr constant [3 x i8] c"*=\00"
|
|
@.str6556 = private unnamed_addr constant [4 x i8] c"mul\00"
|
|
@.str6557 = private unnamed_addr constant [3 x i8] c"/=\00"
|
|
@.str6558 = private unnamed_addr constant [5 x i8] c"sdiv\00"
|
|
@.str6559 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6560 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6561 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6562 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str6563 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6564 = private unnamed_addr constant [5 x i8] c"then\00"
|
|
@.str6565 = private unnamed_addr constant [5 x i8] c"else\00"
|
|
@.str6566 = private unnamed_addr constant [6 x i8] c"ifend\00"
|
|
@.str6567 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6568 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6569 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6570 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6571 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6572 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6573 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6574 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6575 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6576 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6577 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6578 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6579 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6580 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6581 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6582 = private unnamed_addr constant [6 x i8] c"wcond\00"
|
|
@.str6583 = private unnamed_addr constant [6 x i8] c"wbody\00"
|
|
@.str6584 = private unnamed_addr constant [5 x i8] c"wend\00"
|
|
@.str6585 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6586 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6587 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6588 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str6589 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6590 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6591 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6592 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6593 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6594 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6595 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6596 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6597 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6598 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str6599 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str6600 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6601 = private unnamed_addr constant [6 x i8] c"fcond\00"
|
|
@.str6602 = private unnamed_addr constant [6 x i8] c"fbody\00"
|
|
@.str6603 = private unnamed_addr constant [6 x i8] c"fcont\00"
|
|
@.str6604 = private unnamed_addr constant [5 x i8] c"fend\00"
|
|
@.str6605 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6606 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6607 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6608 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6609 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str6610 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6611 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6612 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6613 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6614 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6615 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6616 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6617 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6618 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6619 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6620 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str6621 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str6622 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str6623 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6624 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6625 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6626 = private unnamed_addr constant [8 x i8] c"%retval\00"
|
|
@.str6627 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str6628 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str6629 = private unnamed_addr constant [5 x i8] c"mend\00"
|
|
@.str6630 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6631 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str6632 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6633 = private unnamed_addr constant [7 x i8] c"or i1 \00"
|
|
@.str6634 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6635 = private unnamed_addr constant [6 x i8] c"mbody\00"
|
|
@.str6636 = private unnamed_addr constant [5 x i8] c"marm\00"
|
|
@.str6637 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6638 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6639 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6640 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6641 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6642 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6643 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6644 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6645 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6646 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6647 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6648 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00"
|
|
@.str6649 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6650 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6651 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str6652 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6653 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00"
|
|
@.str6654 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str6655 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6656 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6657 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6658 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00"
|
|
@.str6659 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6660 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str6661 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6662 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6663 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6664 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6665 = private unnamed_addr constant [10 x i8] c"toclients\00"
|
|
@.str6666 = private unnamed_addr constant [3 x i8] c"-1\00"
|
|
@.str6667 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str6668 = private unnamed_addr constant [14 x i8] c" call void @\00"
|
|
@.str6669 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str6670 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00"
|
|
@.str6671 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6672 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6673 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6674 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6675 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6676 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6677 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00"
|
|
@.str6678 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str6679 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6680 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6681 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str6682 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str6683 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6684 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6685 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6686 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6687 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6688 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str6689 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6690 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6691 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6692 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6693 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00"
|
|
@.str6694 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
|
|
@.str6695 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6696 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00"
|
|
@.str6697 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
|
|
@.str6698 = private unnamed_addr constant [7 x i8] c"Motion\00"
|
|
@.str6699 = private unnamed_addr constant [8 x i8] c"Light2D\00"
|
|
@.str6700 = private unnamed_addr constant [9 x i8] c"Occluder\00"
|
|
@.str6701 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00"
|
|
@.str6702 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00"
|
|
@.str6703 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00"
|
|
@.str6704 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00"
|
|
@.str6705 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00"
|
|
@.str6706 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00"
|
|
@.str6707 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str6708 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00"
|
|
@.str6709 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str6710 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00"
|
|
@.str6711 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str6712 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00"
|
|
@.str6713 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00"
|
|
@.str6714 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00"
|
|
@.str6715 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00"
|
|
@.str6716 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str6717 = private unnamed_addr constant [4 x i8] c"@S_\00"
|
|
@.str6718 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
|
|
@.str6719 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str6720 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00"
|
|
@.str6721 = private unnamed_addr constant [4 x i8] c"@H_\00"
|
|
@.str6722 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
|
|
@.str6723 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00"
|
|
@.str6724 = private unnamed_addr constant [5 x i8] c"@ME_\00"
|
|
@.str6725 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
|
|
@.str6726 = private unnamed_addr constant [5 x i8] c"@HE_\00"
|
|
@.str6727 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
|
|
@.str6728 = private unnamed_addr constant [5 x i8] c"@LE_\00"
|
|
@.str6729 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
|
|
@.str6730 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00"
|
|
@.str6731 = private unnamed_addr constant [3 x i8] c"%h\00"
|
|
@.str6732 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6733 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6734 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str6735 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str6736 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
|
|
@.str6737 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6738 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00"
|
|
@.str6739 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
|
|
@.str6740 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00"
|
|
@.str6741 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00"
|
|
@.str6742 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00"
|
|
@.str6743 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00"
|
|
@.str6744 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str6745 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00"
|
|
@.str6746 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
|
|
@.str6747 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00"
|
|
@.str6748 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00"
|
|
@.str6749 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00"
|
|
@.str6750 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00"
|
|
@.str6751 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
|
|
@.str6752 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
|
|
@.str6753 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00"
|
|
@.str6754 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00"
|
|
@.str6755 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
|
|
@.str6756 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00"
|
|
@.str6757 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00"
|
|
@.str6758 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00"
|
|
@.str6759 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00"
|
|
@.str6760 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
|
|
@.str6761 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str6762 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00"
|
|
@.str6763 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
|
|
@.str6764 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
|
|
@.str6765 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
|
|
@.str6766 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00"
|
|
@.str6767 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00"
|
|
@.str6768 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00"
|
|
@.str6769 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
|
|
@.str6770 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
|
|
@.str6771 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00"
|
|
@.str6772 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
|
|
@.str6773 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
|
|
@.str6774 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
|
|
@.str6775 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00"
|
|
@.str6776 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00"
|
|
@.str6777 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00"
|
|
@.str6778 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
|
|
@.str6779 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str6780 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str6781 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str6782 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6783 = private unnamed_addr constant [6 x i8] c"qcond\00"
|
|
@.str6784 = private unnamed_addr constant [6 x i8] c"qbody\00"
|
|
@.str6785 = private unnamed_addr constant [6 x i8] c"qnext\00"
|
|
@.str6786 = private unnamed_addr constant [5 x i8] c"qend\00"
|
|
@.str6787 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6788 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6789 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6790 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6791 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
|
|
@.str6792 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str6793 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6794 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6795 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6796 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6797 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6798 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6799 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6800 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6801 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6802 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
|
|
@.str6803 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6804 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6805 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str6806 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6807 = private unnamed_addr constant [3 x i8] c"qa\00"
|
|
@.str6808 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6809 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6810 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6811 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6812 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6813 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6814 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6815 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6816 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
|
|
@.str6817 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6818 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6819 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str6820 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6821 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00"
|
|
@.str6822 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str6823 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6824 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str6825 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6826 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6827 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6828 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str6829 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6830 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6831 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str6832 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
|
|
@.str6833 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6834 = private unnamed_addr constant [3 x i8] c"qt\00"
|
|
@.str6835 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6836 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6837 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6838 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6839 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6840 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6841 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6842 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str6843 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str6844 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6845 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6846 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6847 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str6848 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6849 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6850 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str6851 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6852 = private unnamed_addr constant [3 x i8] c"qw\00"
|
|
@.str6853 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6854 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6855 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6856 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6857 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6858 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6859 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6860 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6861 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6862 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str6863 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str6864 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str6865 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6866 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6867 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6868 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00"
|
|
@.str6869 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6870 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6871 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str6872 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6873 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6874 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00"
|
|
@.str6875 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6876 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6877 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6878 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str6879 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str6880 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6881 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6882 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6883 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str6884 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6885 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6886 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6887 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str6888 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6889 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str6890 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str6891 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6892 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6893 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6894 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6895 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str6896 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6897 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6898 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6899 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str6900 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6901 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6902 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6903 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6904 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str6905 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6906 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6907 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str6908 = private unnamed_addr constant [8 x i8] c"_attach\00"
|
|
@.str6909 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str6910 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str6911 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6912 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6913 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6914 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str6915 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str6916 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6917 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6918 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6919 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str6920 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6921 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6922 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00"
|
|
@.str6923 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6924 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6925 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
|
|
@.str6926 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6927 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str6928 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6929 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6930 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str6931 = private unnamed_addr constant [7 x i8] c"_spawn\00"
|
|
@.str6932 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str6933 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str6934 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6935 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6936 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6937 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
|
|
@.str6938 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6939 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str6940 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str6941 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6942 = private unnamed_addr constant [3 x i8] c"dh\00"
|
|
@.str6943 = private unnamed_addr constant [4 x i8] c"dhn\00"
|
|
@.str6944 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6945 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6946 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6947 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6948 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
|
|
@.str6949 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str6950 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
|
|
@.str6951 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str6952 = private unnamed_addr constant [9 x i8] c"_despawn\00"
|
|
@.str6953 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str6954 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str6955 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
|
|
@.str6956 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6957 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6958 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6959 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00"
|
|
@.str6960 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6961 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00"
|
|
@.str6962 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6963 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6964 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6965 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str6966 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6967 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6968 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str6969 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00"
|
|
@.str6970 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6971 = private unnamed_addr constant [7 x i8] c"attach\00"
|
|
@.str6972 = private unnamed_addr constant [8 x i8] c"attdone\00"
|
|
@.str6973 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6974 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6975 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6976 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6977 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6978 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str6979 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6980 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6981 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6982 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6983 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str6984 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6985 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6986 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str6987 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
|
|
@.str6988 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str6989 = private unnamed_addr constant [7 x i8] c"detach\00"
|
|
@.str6990 = private unnamed_addr constant [8 x i8] c"detdone\00"
|
|
@.str6991 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str6992 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6993 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str6994 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6995 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6996 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
|
|
@.str6997 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6998 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6999 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7000 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str7001 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str7002 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7003 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7004 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str7005 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str7006 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7007 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7008 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str7009 = private unnamed_addr constant [8 x i8] c"_detach\00"
|
|
@.str7010 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str7011 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str7012 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7013 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str7014 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7015 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7016 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str7017 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str7018 = private unnamed_addr constant [6 x i8] c"layer\00"
|
|
@.str7019 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str7020 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00"
|
|
@.str7021 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7022 = private unnamed_addr constant [7 x i8] c"layer_\00"
|
|
@.str7023 = private unnamed_addr constant [6 x i8] c"_hide\00"
|
|
@.str7024 = private unnamed_addr constant [7 x i8] c"layer_\00"
|
|
@.str7025 = private unnamed_addr constant [6 x i8] c"_show\00"
|
|
@.str7026 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str7027 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str7028 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7029 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7030 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str7031 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7032 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7033 = private unnamed_addr constant [12 x i8] c" store i8 \00"
|
|
@.str7034 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7035 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7036 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7037 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7038 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str7039 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str7040 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7041 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7042 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str7043 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str7044 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7045 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7046 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str7047 = private unnamed_addr constant [9 x i8] c"_disable\00"
|
|
@.str7048 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str7049 = private unnamed_addr constant [8 x i8] c"_enable\00"
|
|
@.str7050 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str7051 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str7052 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7053 = private unnamed_addr constant [5 x i8] c"@HE_\00"
|
|
@.str7054 = private unnamed_addr constant [5 x i8] c"@ME_\00"
|
|
@.str7055 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str7056 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7057 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7058 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str7059 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str7060 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
|
|
@.str7061 = private unnamed_addr constant [18 x i8] c"define void @sys_\00"
|
|
@.str7062 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
|
|
@.str7063 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str7064 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00"
|
|
@.str7065 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str7066 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str7067 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00"
|
|
@.str7068 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str7069 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str7070 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str7071 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7072 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
|
|
@.str7073 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str7074 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str7075 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str7076 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7077 = private unnamed_addr constant [5 x i8] c"hrun\00"
|
|
@.str7078 = private unnamed_addr constant [6 x i8] c"hskip\00"
|
|
@.str7079 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str7080 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7081 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7082 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7083 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00"
|
|
@.str7084 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str7085 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str7086 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7087 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7088 = private unnamed_addr constant [17 x i8] c" call void @fn_\00"
|
|
@.str7089 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str7090 = private unnamed_addr constant [7 x i8] c"Update\00"
|
|
@.str7091 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
|
|
@.str7092 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00"
|
|
@.str7093 = private unnamed_addr constant [7 x i8] c"Motion\00"
|
|
@.str7094 = private unnamed_addr constant [12 x i8] c"esys_motion\00"
|
|
@.str7095 = private unnamed_addr constant [7 x i8] c"Render\00"
|
|
@.str7096 = private unnamed_addr constant [8 x i8] c"Light2D\00"
|
|
@.str7097 = private unnamed_addr constant [13 x i8] c"esys_light2d\00"
|
|
@.str7098 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00"
|
|
@.str7099 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str7100 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7101 = private unnamed_addr constant [6 x i8] c"scrun\00"
|
|
@.str7102 = private unnamed_addr constant [7 x i8] c"scskip\00"
|
|
@.str7103 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str7104 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7105 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7106 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7107 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7108 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str7109 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7110 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7111 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str7112 = private unnamed_addr constant [7 x i8] c"scene_\00"
|
|
@.str7113 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str7114 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str7115 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str7116 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str7117 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
|
|
@.str7118 = private unnamed_addr constant [20 x i8] c"define void @scene_\00"
|
|
@.str7119 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str7120 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
|
|
@.str7121 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str7122 = private unnamed_addr constant [6 x i8] c"enter\00"
|
|
@.str7123 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str7124 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str7125 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str7126 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00"
|
|
@.str7127 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7128 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str7129 = private unnamed_addr constant [3 x i8] c"%e\00"
|
|
@.str7130 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str7131 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
|
|
@.str7132 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00"
|
|
@.str7133 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00"
|
|
@.str7134 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str7135 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00"
|
|
@.str7136 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
|
|
@.str7137 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00"
|
|
@.str7138 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00"
|
|
@.str7139 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
|
|
@.str7140 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00"
|
|
@.str7141 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00"
|
|
@.str7142 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00"
|
|
@.str7143 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00"
|
|
@.str7144 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00"
|
|
@.str7145 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
|
|
@.str7146 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str7147 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
|
|
@.str7148 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7149 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str7150 = private unnamed_addr constant [13 x i8] c", label %hit\00"
|
|
@.str7151 = private unnamed_addr constant [14 x i8] c", label %next\00"
|
|
@.str7152 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7153 = private unnamed_addr constant [4 x i8] c"hit\00"
|
|
@.str7154 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
|
|
@.str7155 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
|
|
@.str7156 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str7157 = private unnamed_addr constant [9 x i8] c"_despawn\00"
|
|
@.str7158 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str7159 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
|
|
@.str7160 = private unnamed_addr constant [17 x i8] c" br label %next\00"
|
|
@.str7161 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7162 = private unnamed_addr constant [5 x i8] c"next\00"
|
|
@.str7163 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7164 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00"
|
|
@.str7165 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
|
|
@.str7166 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
|
|
@.str7167 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00"
|
|
@.str7168 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
|
|
@.str7169 = private unnamed_addr constant [11 x i8] c" = type { \00"
|
|
@.str7170 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7171 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7172 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str7173 = private unnamed_addr constant [4 x i8] c" }\0A\00"
|
|
@.str7174 = private unnamed_addr constant [6 x i8] c"@evL_\00"
|
|
@.str7175 = private unnamed_addr constant [12 x i8] c" = global [\00"
|
|
@.str7176 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00"
|
|
@.str7177 = private unnamed_addr constant [6 x i8] c"@evN_\00"
|
|
@.str7178 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00"
|
|
@.str7179 = private unnamed_addr constant [6 x i8] c"@evO_\00"
|
|
@.str7180 = private unnamed_addr constant [12 x i8] c" = global [\00"
|
|
@.str7181 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str7182 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00"
|
|
@.str7183 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00"
|
|
@.str7184 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
|
|
@.str7185 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7186 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
|
|
@.str7187 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7188 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
|
|
@.str7189 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
|
|
@.str7190 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str7191 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
|
|
@.str7192 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
|
|
@.str7193 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
|
|
@.str7194 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
|
|
@.str7195 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
|
|
@.str7196 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00"
|
|
@.str7197 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
|
|
@.str7198 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
|
|
@.str7199 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str7200 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00"
|
|
@.str7201 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00"
|
|
@.str7202 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
|
|
@.str7203 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7204 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
|
|
@.str7205 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7206 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
|
|
@.str7207 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
|
|
@.str7208 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str7209 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
|
|
@.str7210 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
|
|
@.str7211 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
|
|
@.str7212 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
|
|
@.str7213 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
|
|
@.str7214 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00"
|
|
@.str7215 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
|
|
@.str7216 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
|
|
@.str7217 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str7218 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00"
|
|
@.str7219 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00"
|
|
@.str7220 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
|
|
@.str7221 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7222 = 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"
|
|
@.str7223 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00"
|
|
@.str7224 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00"
|
|
@.str7225 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str7226 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00"
|
|
@.str7227 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00"
|
|
@.str7228 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00"
|
|
@.str7229 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str7230 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00"
|
|
@.str7231 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00"
|
|
@.str7232 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7233 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00"
|
|
@.str7234 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00"
|
|
@.str7235 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
|
|
@.str7236 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str7237 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00"
|
|
@.str7238 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00"
|
|
@.str7239 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
|
|
@.str7240 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7241 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
|
|
@.str7242 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7243 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7244 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7245 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str7246 = private unnamed_addr constant [4 x i8] c" %p\00"
|
|
@.str7247 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7248 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7249 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str7250 = private unnamed_addr constant [4 x i8] c" %p\00"
|
|
@.str7251 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7252 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7253 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7254 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
|
|
@.str7255 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7256 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7257 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7258 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str7259 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7260 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str7261 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str7262 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7263 = private unnamed_addr constant [4 x i8] c"evl\00"
|
|
@.str7264 = private unnamed_addr constant [4 x i8] c"evb\00"
|
|
@.str7265 = private unnamed_addr constant [4 x i8] c"evd\00"
|
|
@.str7266 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str7267 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7268 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7269 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str7270 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00"
|
|
@.str7271 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str7272 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7273 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str7274 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7275 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7276 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7277 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7278 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7279 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7280 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str7281 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7282 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7283 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str7284 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
|
|
@.str7285 = private unnamed_addr constant [7 x i8] c", null\00"
|
|
@.str7286 = private unnamed_addr constant [5 x i8] c"evdo\00"
|
|
@.str7287 = private unnamed_addr constant [5 x i8] c"evsk\00"
|
|
@.str7288 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str7289 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7290 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7291 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7292 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7293 = private unnamed_addr constant [13 x i8] c" call void \00"
|
|
@.str7294 = private unnamed_addr constant [6 x i8] c"(ptr \00"
|
|
@.str7295 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7296 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str7297 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7298 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7299 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str7300 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str7301 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str7302 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7303 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7304 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str7305 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7306 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7307 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str7308 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
|
|
@.str7309 = 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"
|
|
@.str7310 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str7311 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str7312 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7313 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str7314 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str7315 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str7316 = private unnamed_addr constant [8 x i8] c"define \00"
|
|
@.str7317 = private unnamed_addr constant [6 x i8] c" @ev_\00"
|
|
@.str7318 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str7319 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7320 = private unnamed_addr constant [4 x i8] c" %p\00"
|
|
@.str7321 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
|
|
@.str7322 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str7323 = 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"
|
|
@.str7324 = private unnamed_addr constant [3 x i8] c"sw\00"
|
|
@.str7325 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7326 = private unnamed_addr constant [7 x i8] c" %swi\00"
|
|
@.str7327 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00"
|
|
@.str7328 = private unnamed_addr constant [7 x i8] c" %swn\00"
|
|
@.str7329 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00"
|
|
@.str7330 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7331 = private unnamed_addr constant [7 x i8] c" %swg\00"
|
|
@.str7332 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00"
|
|
@.str7333 = private unnamed_addr constant [7 x i8] c", %swn\00"
|
|
@.str7334 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7335 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00"
|
|
@.str7336 = private unnamed_addr constant [13 x i8] c", label %swb\00"
|
|
@.str7337 = private unnamed_addr constant [13 x i8] c", label %swd\00"
|
|
@.str7338 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7339 = private unnamed_addr constant [4 x i8] c"swb\00"
|
|
@.str7340 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7341 = private unnamed_addr constant [8 x i8] c" %swop\00"
|
|
@.str7342 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7343 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
|
|
@.str7344 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
|
|
@.str7345 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7346 = private unnamed_addr constant [8 x i8] c" %swov\00"
|
|
@.str7347 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00"
|
|
@.str7348 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7349 = private unnamed_addr constant [7 x i8] c" %swm\00"
|
|
@.str7350 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00"
|
|
@.str7351 = private unnamed_addr constant [10 x i8] c", %owner\0A\00"
|
|
@.str7352 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00"
|
|
@.str7353 = private unnamed_addr constant [13 x i8] c", label %swh\00"
|
|
@.str7354 = private unnamed_addr constant [13 x i8] c", label %swx\00"
|
|
@.str7355 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7356 = private unnamed_addr constant [4 x i8] c"swh\00"
|
|
@.str7357 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7358 = private unnamed_addr constant [8 x i8] c" %swlp\00"
|
|
@.str7359 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7360 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str7361 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
|
|
@.str7362 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7363 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00"
|
|
@.str7364 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00"
|
|
@.str7365 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7366 = private unnamed_addr constant [4 x i8] c"swx\00"
|
|
@.str7367 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7368 = private unnamed_addr constant [8 x i8] c" %swi1\00"
|
|
@.str7369 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00"
|
|
@.str7370 = private unnamed_addr constant [22 x i8] c", 1\0A store i32 %swi1\00"
|
|
@.str7371 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00"
|
|
@.str7372 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7373 = private unnamed_addr constant [4 x i8] c"swd\00"
|
|
@.str7374 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00"
|
|
@.str7375 = private unnamed_addr constant [15 x i8] c" br label %sw\00"
|
|
@.str7376 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7377 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str7378 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str7379 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00"
|
|
@.str7380 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00"
|
|
@.str7381 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00"
|
|
@.str7382 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00"
|
|
@.str7383 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00"
|
|
@.str7384 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00"
|
|
@.str7385 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00"
|
|
@.str7386 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str7387 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
|
|
@.str7388 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7389 = private unnamed_addr constant [5 x i8] c" %e\00"
|
|
@.str7390 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00"
|
|
@.str7391 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
|
|
@.str7392 = private unnamed_addr constant [11 x i8] c" br i1 %e\00"
|
|
@.str7393 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str7394 = private unnamed_addr constant [11 x i8] c", label %n\00"
|
|
@.str7395 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7396 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str7397 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str7398 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7399 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str7400 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7401 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00"
|
|
@.str7402 = 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"
|
|
@.str7403 = 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"
|
|
@.str7404 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00"
|
|
@.str7405 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00"
|
|
@.str7406 = 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"
|
|
@.str7407 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str7408 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00"
|
|
@.str7409 = private unnamed_addr constant [6 x i8] c" %pm\00"
|
|
@.str7410 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str7411 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7412 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00"
|
|
@.str7413 = private unnamed_addr constant [12 x i8] c", label %pk\00"
|
|
@.str7414 = private unnamed_addr constant [12 x i8] c", label %pn\00"
|
|
@.str7415 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7416 = private unnamed_addr constant [3 x i8] c"pk\00"
|
|
@.str7417 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7418 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str7419 = private unnamed_addr constant [6 x i8] c" %fc\00"
|
|
@.str7420 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
|
|
@.str7421 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7422 = private unnamed_addr constant [6 x i8] c" %fe\00"
|
|
@.str7423 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00"
|
|
@.str7424 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
|
|
@.str7425 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00"
|
|
@.str7426 = private unnamed_addr constant [12 x i8] c", label %fh\00"
|
|
@.str7427 = private unnamed_addr constant [12 x i8] c", label %fn\00"
|
|
@.str7428 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7429 = private unnamed_addr constant [3 x i8] c"fh\00"
|
|
@.str7430 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str7431 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7432 = private unnamed_addr constant [3 x i8] c"fn\00"
|
|
@.str7433 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7434 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00"
|
|
@.str7435 = private unnamed_addr constant [3 x i8] c"pn\00"
|
|
@.str7436 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7437 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
|
|
@.str7438 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00"
|
|
@.str7439 = private unnamed_addr constant [5 x i8] c" %m\00"
|
|
@.str7440 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str7441 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7442 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
|
|
@.str7443 = private unnamed_addr constant [11 x i8] c", label %g\00"
|
|
@.str7444 = private unnamed_addr constant [12 x i8] c", label %gn\00"
|
|
@.str7445 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7446 = private unnamed_addr constant [2 x i8] c"g\00"
|
|
@.str7447 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7448 = private unnamed_addr constant [5 x i8] c" %s\00"
|
|
@.str7449 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7450 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str7451 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str7452 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str7453 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str7454 = private unnamed_addr constant [6 x i8] c" %gm\00"
|
|
@.str7455 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
|
|
@.str7456 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7457 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00"
|
|
@.str7458 = private unnamed_addr constant [12 x i8] c", label %gf\00"
|
|
@.str7459 = private unnamed_addr constant [12 x i8] c", label %gk\00"
|
|
@.str7460 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7461 = private unnamed_addr constant [3 x i8] c"gf\00"
|
|
@.str7462 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7463 = private unnamed_addr constant [6 x i8] c" %ga\00"
|
|
@.str7464 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str7465 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
|
|
@.str7466 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7467 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7468 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str7469 = private unnamed_addr constant [6 x i8] c" %gl\00"
|
|
@.str7470 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00"
|
|
@.str7471 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7472 = private unnamed_addr constant [6 x i8] c" %gr\00"
|
|
@.str7473 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00"
|
|
@.str7474 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
|
|
@.str7475 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7476 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str7477 = private unnamed_addr constant [6 x i8] c" %gl\00"
|
|
@.str7478 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00"
|
|
@.str7479 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7480 = private unnamed_addr constant [6 x i8] c" %gr\00"
|
|
@.str7481 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00"
|
|
@.str7482 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
|
|
@.str7483 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7484 = private unnamed_addr constant [6 x i8] c" %gl\00"
|
|
@.str7485 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00"
|
|
@.str7486 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7487 = private unnamed_addr constant [6 x i8] c" %gr\00"
|
|
@.str7488 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00"
|
|
@.str7489 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
|
|
@.str7490 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7491 = private unnamed_addr constant [3 x i8] c"gk\00"
|
|
@.str7492 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7493 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00"
|
|
@.str7494 = private unnamed_addr constant [3 x i8] c"gn\00"
|
|
@.str7495 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7496 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00"
|
|
@.str7497 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7498 = 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"
|
|
@.str7499 = 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"
|
|
@.str7500 = 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"
|
|
@.str7501 = 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"
|
|
@.str7502 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00"
|
|
@.str7503 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00"
|
|
@.str7504 = private unnamed_addr constant [5 x i8] c" %m\00"
|
|
@.str7505 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str7506 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7507 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
|
|
@.str7508 = private unnamed_addr constant [11 x i8] c", label %g\00"
|
|
@.str7509 = private unnamed_addr constant [12 x i8] c", label %gn\00"
|
|
@.str7510 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7511 = private unnamed_addr constant [2 x i8] c"g\00"
|
|
@.str7512 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7513 = private unnamed_addr constant [5 x i8] c" %s\00"
|
|
@.str7514 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7515 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str7516 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str7517 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str7518 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str7519 = private unnamed_addr constant [6 x i8] c" %sm\00"
|
|
@.str7520 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
|
|
@.str7521 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7522 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
|
|
@.str7523 = private unnamed_addr constant [12 x i8] c", label %sf\00"
|
|
@.str7524 = private unnamed_addr constant [12 x i8] c", label %sk\00"
|
|
@.str7525 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7526 = private unnamed_addr constant [3 x i8] c"sf\00"
|
|
@.str7527 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7528 = private unnamed_addr constant [6 x i8] c" %sa\00"
|
|
@.str7529 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str7530 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
|
|
@.str7531 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7532 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7533 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str7534 = private unnamed_addr constant [6 x i8] c" %sp\00"
|
|
@.str7535 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00"
|
|
@.str7536 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00"
|
|
@.str7537 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
|
|
@.str7538 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
|
|
@.str7539 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str7540 = private unnamed_addr constant [6 x i8] c" %sb\00"
|
|
@.str7541 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00"
|
|
@.str7542 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00"
|
|
@.str7543 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
|
|
@.str7544 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
|
|
@.str7545 = private unnamed_addr constant [6 x i8] c" %sw\00"
|
|
@.str7546 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00"
|
|
@.str7547 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00"
|
|
@.str7548 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
|
|
@.str7549 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
|
|
@.str7550 = private unnamed_addr constant [3 x i8] c"sk\00"
|
|
@.str7551 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7552 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str7553 = private unnamed_addr constant [3 x i8] c"gn\00"
|
|
@.str7554 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7555 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00"
|
|
@.str7556 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7557 = 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"
|
|
@.str7558 = 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"
|
|
@.str7559 = 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"
|
|
@.str7560 = 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"
|
|
@.str7561 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00"
|
|
@.str7562 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00"
|
|
@.str7563 = private unnamed_addr constant [5 x i8] c" %m\00"
|
|
@.str7564 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str7565 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7566 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
|
|
@.str7567 = private unnamed_addr constant [11 x i8] c", label %g\00"
|
|
@.str7568 = private unnamed_addr constant [12 x i8] c", label %gn\00"
|
|
@.str7569 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7570 = private unnamed_addr constant [2 x i8] c"g\00"
|
|
@.str7571 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7572 = private unnamed_addr constant [6 x i8] c" %hp\00"
|
|
@.str7573 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7574 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str7575 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str7576 = private unnamed_addr constant [6 x i8] c" %hv\00"
|
|
@.str7577 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00"
|
|
@.str7578 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7579 = private unnamed_addr constant [6 x i8] c" %hr\00"
|
|
@.str7580 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00"
|
|
@.str7581 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00"
|
|
@.str7582 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7583 = private unnamed_addr constant [3 x i8] c"gn\00"
|
|
@.str7584 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7585 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00"
|
|
@.str7586 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7587 = 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"
|
|
@.str7588 = 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"
|
|
@.str7589 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00"
|
|
@.str7590 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00"
|
|
@.str7591 = 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"
|
|
@.str7592 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00"
|
|
@.str7593 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00"
|
|
@.str7594 = 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"
|
|
@.str7595 = 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"
|
|
@.str7596 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00"
|
|
@.str7597 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00"
|
|
@.str7598 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7599 = 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"
|
|
@.str7600 = 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"
|
|
@.str7601 = 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"
|
|
@.str7602 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00"
|
|
@.str7603 = 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"
|
|
@.str7604 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str7605 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
|
|
@.str7606 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
|
|
@.str7607 = 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"
|
|
@.str7608 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
|
|
@.str7609 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
|
|
@.str7610 = 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"
|
|
@.str7611 = 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"
|
|
@.str7612 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00"
|
|
@.str7613 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
|
|
@.str7614 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
|
|
@.str7615 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00"
|
|
@.str7616 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00"
|
|
@.str7617 = private unnamed_addr constant [7 x i8] c" %mdc\00"
|
|
@.str7618 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
|
|
@.str7619 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7620 = private unnamed_addr constant [7 x i8] c" %mde\00"
|
|
@.str7621 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00"
|
|
@.str7622 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
|
|
@.str7623 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00"
|
|
@.str7624 = private unnamed_addr constant [13 x i8] c", label %mdh\00"
|
|
@.str7625 = private unnamed_addr constant [13 x i8] c", label %mdn\00"
|
|
@.str7626 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7627 = private unnamed_addr constant [4 x i8] c"mdh\00"
|
|
@.str7628 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str7629 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7630 = private unnamed_addr constant [4 x i8] c"mdn\00"
|
|
@.str7631 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7632 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
|
|
@.str7633 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str7634 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str7635 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7636 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00"
|
|
@.str7637 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
|
|
@.str7638 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str7639 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00"
|
|
@.str7640 = private unnamed_addr constant [6 x i8] c" %sm\00"
|
|
@.str7641 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00"
|
|
@.str7642 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7643 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
|
|
@.str7644 = private unnamed_addr constant [12 x i8] c", label %sh\00"
|
|
@.str7645 = private unnamed_addr constant [12 x i8] c", label %sn\00"
|
|
@.str7646 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7647 = private unnamed_addr constant [3 x i8] c"sh\00"
|
|
@.str7648 = private unnamed_addr constant [8 x i8] c":\0A %sr\00"
|
|
@.str7649 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00"
|
|
@.str7650 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00"
|
|
@.str7651 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7652 = private unnamed_addr constant [3 x i8] c"sn\00"
|
|
@.str7653 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7654 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
|
|
@.str7655 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00"
|
|
@.str7656 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00"
|
|
@.str7657 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00"
|
|
@.str7658 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00"
|
|
@.str7659 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
|
|
@.str7660 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
|
|
@.str7661 = 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"
|
|
@.str7662 = 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"
|
|
@.str7663 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00"
|
|
@.str7664 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00"
|
|
@.str7665 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str7666 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str7667 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str7668 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00"
|
|
@.str7669 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00"
|
|
@.str7670 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00"
|
|
@.str7671 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00"
|
|
@.str7672 = private unnamed_addr constant [6 x i8] c" %pe\00"
|
|
@.str7673 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00"
|
|
@.str7674 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7675 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00"
|
|
@.str7676 = private unnamed_addr constant [12 x i8] c", label %ph\00"
|
|
@.str7677 = private unnamed_addr constant [12 x i8] c", label %pn\00"
|
|
@.str7678 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7679 = private unnamed_addr constant [3 x i8] c"ph\00"
|
|
@.str7680 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
|
|
@.str7681 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7682 = private unnamed_addr constant [3 x i8] c"pn\00"
|
|
@.str7683 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7684 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00"
|
|
@.str7685 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00"
|
|
@.str7686 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00"
|
|
@.str7687 = private unnamed_addr constant [120 x i8] c"pdyn:\0A %np = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %dyn\0A %nm = load ptr, ptr %np\0A ret ptr %nm\0A\00"
|
|
@.str7688 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00"
|
|
@.str7689 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str7690 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00"
|
|
@.str7691 = private unnamed_addr constant [7 x i8] c" %fce\00"
|
|
@.str7692 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str7693 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7694 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00"
|
|
@.str7695 = private unnamed_addr constant [13 x i8] c", label %fch\00"
|
|
@.str7696 = private unnamed_addr constant [13 x i8] c", label %fcn\00"
|
|
@.str7697 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7698 = private unnamed_addr constant [4 x i8] c"fch\00"
|
|
@.str7699 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str7700 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7701 = private unnamed_addr constant [4 x i8] c"fcn\00"
|
|
@.str7702 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7703 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
|
|
@.str7704 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00"
|
|
@.str7705 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00"
|
|
@.str7706 = private unnamed_addr constant [118 x i8] c"fcdyn:\0A %fp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %dyn\0A %fn = load i32, ptr %fp\0A ret i32 %fn\0A\00"
|
|
@.str7707 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00"
|
|
@.str7708 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00"
|
|
@.str7709 = private unnamed_addr constant [7 x i8] c" %fne\00"
|
|
@.str7710 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str7711 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7712 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00"
|
|
@.str7713 = private unnamed_addr constant [13 x i8] c", label %fnk\00"
|
|
@.str7714 = private unnamed_addr constant [13 x i8] c", label %fnn\00"
|
|
@.str7715 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7716 = private unnamed_addr constant [4 x i8] c"fnk\00"
|
|
@.str7717 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7718 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str7719 = private unnamed_addr constant [8 x i8] c" %fnfe\00"
|
|
@.str7720 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
|
|
@.str7721 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7722 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00"
|
|
@.str7723 = private unnamed_addr constant [14 x i8] c", label %fnfh\00"
|
|
@.str7724 = private unnamed_addr constant [14 x i8] c", label %fnfn\00"
|
|
@.str7725 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7726 = private unnamed_addr constant [5 x i8] c"fnfh\00"
|
|
@.str7727 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
|
|
@.str7728 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7729 = private unnamed_addr constant [5 x i8] c"fnfn\00"
|
|
@.str7730 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7731 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
|
|
@.str7732 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7733 = private unnamed_addr constant [4 x i8] c"fnn\00"
|
|
@.str7734 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7735 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
|
|
@.str7736 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str7737 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00"
|
|
@.str7738 = private unnamed_addr constant [7 x i8] c" %fte\00"
|
|
@.str7739 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str7740 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7741 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00"
|
|
@.str7742 = private unnamed_addr constant [13 x i8] c", label %ftk\00"
|
|
@.str7743 = private unnamed_addr constant [13 x i8] c", label %ftn\00"
|
|
@.str7744 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7745 = private unnamed_addr constant [4 x i8] c"ftk\00"
|
|
@.str7746 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7747 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str7748 = private unnamed_addr constant [8 x i8] c" %ftfe\00"
|
|
@.str7749 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
|
|
@.str7750 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7751 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00"
|
|
@.str7752 = private unnamed_addr constant [14 x i8] c", label %ftfh\00"
|
|
@.str7753 = private unnamed_addr constant [14 x i8] c", label %ftfn\00"
|
|
@.str7754 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7755 = private unnamed_addr constant [5 x i8] c"ftfh\00"
|
|
@.str7756 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
|
|
@.str7757 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7758 = private unnamed_addr constant [5 x i8] c"ftfn\00"
|
|
@.str7759 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7760 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
|
|
@.str7761 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7762 = private unnamed_addr constant [4 x i8] c"ftn\00"
|
|
@.str7763 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7764 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
|
|
@.str7765 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str7766 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00"
|
|
@.str7767 = private unnamed_addr constant [6 x i8] c"Input\00"
|
|
@.str7768 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
|
|
@.str7769 = private unnamed_addr constant [7 x i8] c"Update\00"
|
|
@.str7770 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
|
|
@.str7771 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str7772 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00"
|
|
@.str7773 = private unnamed_addr constant [7 x i8] c"Render\00"
|
|
@.str7774 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str7775 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
|
|
@.str7776 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
|
|
@.str7777 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
|
|
@.str7778 = private unnamed_addr constant [8 x i8] c"rt_init\00"
|
|
@.str7779 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
|
|
@.str7780 = private unnamed_addr constant [6 x i8] c"Start\00"
|
|
@.str7781 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str7782 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
|
|
@.str7783 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
|
|
@.str7784 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str7785 = private unnamed_addr constant [14 x i8] c"program_start\00"
|
|
@.str7786 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00"
|
|
@.str7787 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str7788 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
|
|
@.str7789 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00"
|
|
@.str7790 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str7791 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str7792 = private unnamed_addr constant [11 x i8] c"rt_running\00"
|
|
@.str7793 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00"
|
|
@.str7794 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str7795 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str7796 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str7797 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7798 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str7799 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
|
|
@.str7800 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str7801 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
|
|
@.str7802 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str7803 = private unnamed_addr constant [8 x i8] c"rt_poll\00"
|
|
@.str7804 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00"
|
|
@.str7805 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str7806 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00"
|
|
@.str7807 = private unnamed_addr constant [6 x i8] c"Input\00"
|
|
@.str7808 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
|
|
@.str7809 = private unnamed_addr constant [7 x i8] c"Update\00"
|
|
@.str7810 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
|
|
@.str7811 = private unnamed_addr constant [7 x i8] c"Render\00"
|
|
@.str7812 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
|
|
@.str7813 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str7814 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str7815 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str7816 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00"
|
|
@.str7817 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str7818 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str7819 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00"
|
|
@.str7820 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
|
|
@.str7821 = private unnamed_addr constant [13 x i8] c"program_quit\00"
|
|
@.str7822 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00"
|
|
@.str7823 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00"
|
|
@.str7824 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00"
|
|
@.str7825 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00"
|
|
@.str7826 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str7827 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00"
|
|
@.str7828 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00"
|
|
@.str7829 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str7830 = private unnamed_addr constant [6 x i8] c"smend\00"
|
|
@.str7831 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str7832 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7833 = private unnamed_addr constant [6 x i8] c"sbody\00"
|
|
@.str7834 = private unnamed_addr constant [5 x i8] c"sarm\00"
|
|
@.str7835 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str7836 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7837 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str7838 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7839 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7840 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str7841 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7842 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7843 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str7844 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7845 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str7846 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str7847 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
|
|
@.str7848 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7849 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00"
|
|
@.str7850 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str7851 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7852 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00"
|
|
@.str7853 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00"
|
|
@.str7854 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str7855 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str7856 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
|
|
@.str7857 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
|
|
@.str7858 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str7859 = private unnamed_addr constant [5 x i8] c"file\00"
|
|
@.str7860 = private unnamed_addr constant [4 x i8] c"%io\00"
|
|
@.str7861 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7862 = private unnamed_addr constant [14 x i8] c" = call i64 @\00"
|
|
@.str7863 = private unnamed_addr constant [6 x i8] c"(ptr \00"
|
|
@.str7864 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
|
|
@.str7865 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00"
|
|
@.str7866 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str7867 = private unnamed_addr constant [6 x i8] c"%ioff\00"
|
|
@.str7868 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7869 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
|
|
@.str7870 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7871 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7872 = private unnamed_addr constant [5 x i8] c"%ioa\00"
|
|
@.str7873 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7874 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00"
|
|
@.str7875 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7876 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str7877 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str7878 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7879 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str7880 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7881 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str7882 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7883 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str7884 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7885 = private unnamed_addr constant [6 x i8] c"%ioff\00"
|
|
@.str7886 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7887 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
|
|
@.str7888 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str7889 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7890 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str7891 = private unnamed_addr constant [8 x i8] c"@L_entc\00"
|
|
@.str7892 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str7893 = private unnamed_addr constant [9 x i8] c"@L_freen\00"
|
|
@.str7894 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str7895 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00"
|
|
@.str7896 = private unnamed_addr constant [5 x i8] c", 4\0A\00"
|
|
@.str7897 = private unnamed_addr constant [9 x i8] c"@L_alive\00"
|
|
@.str7898 = private unnamed_addr constant [8 x i8] c"%nalive\00"
|
|
@.str7899 = private unnamed_addr constant [12 x i8] c"@L_freelist\00"
|
|
@.str7900 = private unnamed_addr constant [8 x i8] c"%nalive\00"
|
|
@.str7901 = private unnamed_addr constant [8 x i8] c"@L_kind\00"
|
|
@.str7902 = private unnamed_addr constant [8 x i8] c"%nalive\00"
|
|
@.str7903 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00"
|
|
@.str7904 = private unnamed_addr constant [8 x i8] c"%nalive\00"
|
|
@.str7905 = private unnamed_addr constant [4 x i8] c"@g_\00"
|
|
@.str7906 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str7907 = private unnamed_addr constant [5 x i8] c"%csz\00"
|
|
@.str7908 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7909 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00"
|
|
@.str7910 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00"
|
|
@.str7911 = private unnamed_addr constant [10 x i8] c") to i64\0A\00"
|
|
@.str7912 = private unnamed_addr constant [4 x i8] c"@S_\00"
|
|
@.str7913 = private unnamed_addr constant [4 x i8] c"@H_\00"
|
|
@.str7914 = private unnamed_addr constant [5 x i8] c"file\00"
|
|
@.str7915 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00"
|
|
@.str7916 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
|
|
@.str7917 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
|
|
@.str7918 = private unnamed_addr constant [14 x i8] c"rt_save_state\00"
|
|
@.str7919 = private unnamed_addr constant [14 x i8] c"rt_load_state\00"
|
|
@.str7920 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00"
|
|
@.str7921 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00"
|
|
@.str7922 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
|
|
@.str7923 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00"
|
|
@.str7924 = private unnamed_addr constant [7 x i8] c"fwrite\00"
|
|
@.str7925 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00"
|
|
@.str7926 = 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"
|
|
@.str7927 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00"
|
|
@.str7928 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00"
|
|
@.str7929 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
|
|
@.str7930 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00"
|
|
@.str7931 = private unnamed_addr constant [6 x i8] c"fread\00"
|
|
@.str7932 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00"
|
|
@.str7933 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00"
|
|
@.str7934 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00"
|
|
@.str7935 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str7936 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str7937 = private unnamed_addr constant [5 x i8] c"%wsn\00"
|
|
@.str7938 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7939 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
|
|
@.str7940 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
|
|
@.str7941 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str7942 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str7943 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00"
|
|
@.str7944 = private unnamed_addr constant [5 x i8] c"load\00"
|
|
@.str7945 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str7946 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str7947 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00"
|
|
@.str7948 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str7949 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str7950 = private unnamed_addr constant [5 x i8] c"%wzn\00"
|
|
@.str7951 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7952 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
|
|
@.str7953 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
|
|
@.str7954 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str7955 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str7956 = private unnamed_addr constant [5 x i8] c"file\00"
|
|
@.str7957 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str7958 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str7959 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str7960 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str7961 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00"
|
|
@.str7962 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7963 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str7964 = private unnamed_addr constant [13 x i8] c"@Sync field \00"
|
|
@.str7965 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str7966 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00"
|
|
@.str7967 = private unnamed_addr constant [7 x i8] c"model \00"
|
|
@.str7968 = private unnamed_addr constant [9 x i8] c" @Syncs \00"
|
|
@.str7969 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00"
|
|
@.str7970 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00"
|
|
@.str7971 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00"
|
|
@.str7972 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7973 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7974 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str7975 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str7976 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str7977 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7978 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str7979 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7980 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str7981 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7982 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7983 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
|
|
@.str7984 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str7985 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str7986 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str7987 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str7988 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str7989 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str7990 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str7991 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00"
|
|
@.str7992 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
|
|
@.str7993 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7994 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str7995 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str7996 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str7997 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str7998 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str7999 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str8000 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str8001 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str8002 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8003 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str8004 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
|
|
@.str8005 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8006 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str8007 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str8008 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str8009 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8010 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str8011 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00"
|
|
@.str8012 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
|
|
@.str8013 = 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"
|
|
@.str8014 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str8015 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
|
|
@.str8016 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8017 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str8018 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str8019 = private unnamed_addr constant [11 x i8] c", label %n\00"
|
|
@.str8020 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8021 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str8022 = private unnamed_addr constant [7 x i8] c":\0A %r\00"
|
|
@.str8023 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00"
|
|
@.str8024 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00"
|
|
@.str8025 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8026 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str8027 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str8028 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
|
|
@.str8029 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
|
|
@.str8030 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
|
|
@.str8031 = 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"
|
|
@.str8032 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str8033 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
|
|
@.str8034 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8035 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str8036 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str8037 = private unnamed_addr constant [11 x i8] c", label %n\00"
|
|
@.str8038 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8039 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str8040 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00"
|
|
@.str8041 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00"
|
|
@.str8042 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str8043 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str8044 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str8045 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00"
|
|
@.str8046 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
|
|
@.str8047 = 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"
|
|
@.str8048 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str8049 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
|
|
@.str8050 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8051 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str8052 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str8053 = private unnamed_addr constant [11 x i8] c", label %n\00"
|
|
@.str8054 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8055 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str8056 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str8057 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8058 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str8059 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str8060 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
|
|
@.str8061 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00"
|
|
@.str8062 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
|
|
@.str8063 = 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"
|
|
@.str8064 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00"
|
|
@.str8065 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
|
|
@.str8066 = 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"
|
|
@.str8067 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00"
|
|
@.str8068 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
|
|
@.str8069 = 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"
|
|
@.str8070 = 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"
|
|
@.str8071 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00"
|
|
@.str8072 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00"
|
|
@.str8073 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00"
|
|
@.str8074 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00"
|
|
@.str8075 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00"
|
|
@.str8076 = 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"
|
|
@.str8077 = 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"
|
|
@.str8078 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00"
|
|
@.str8079 = 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"
|
|
@.str8080 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00"
|
|
@.str8081 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
|
|
@.str8082 = 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"
|
|
@.str8083 = 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"
|
|
@.str8084 = 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"
|
|
@.str8085 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00"
|
|
@.str8086 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00"
|
|
@.str8087 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00"
|
|
@.str8088 = 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"
|
|
@.str8089 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00"
|
|
@.str8090 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
|
|
@.str8091 = 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"
|
|
@.str8092 = 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"
|
|
@.str8093 = 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"
|
|
@.str8094 = 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"
|
|
@.str8095 = 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"
|
|
@.str8096 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00"
|
|
@.str8097 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str8098 = private unnamed_addr constant [11 x i8] c"L_net_send\00"
|
|
@.str8099 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str8100 = private unnamed_addr constant [11 x i8] c"L_net_poll\00"
|
|
@.str8101 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00"
|
|
@.str8102 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str8103 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00"
|
|
@.str8104 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00"
|
|
@.str8105 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00"
|
|
@.str8106 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00"
|
|
@.str8107 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00"
|
|
@.str8108 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str8109 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00"
|
|
@.str8110 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8111 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str8112 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str8113 = private unnamed_addr constant [11 x i8] c", label %x\00"
|
|
@.str8114 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8115 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str8116 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str8117 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str8118 = private unnamed_addr constant [6 x i8] c" %fa\00"
|
|
@.str8119 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00"
|
|
@.str8120 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8121 = private unnamed_addr constant [6 x i8] c" %fv\00"
|
|
@.str8122 = private unnamed_addr constant [9 x i8] c" = load \00"
|
|
@.str8123 = private unnamed_addr constant [10 x i8] c", ptr %fa\00"
|
|
@.str8124 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8125 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str8126 = private unnamed_addr constant [5 x i8] c" %fv\00"
|
|
@.str8127 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str8128 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str8129 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8130 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str8131 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str8132 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str8133 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str8134 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
|
|
@.str8135 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00"
|
|
@.str8136 = private unnamed_addr constant [6 x i8] c"panel\00"
|
|
@.str8137 = private unnamed_addr constant [4 x i8] c"col\00"
|
|
@.str8138 = private unnamed_addr constant [4 x i8] c"row\00"
|
|
@.str8139 = private unnamed_addr constant [6 x i8] c"label\00"
|
|
@.str8140 = private unnamed_addr constant [7 x i8] c"button\00"
|
|
@.str8141 = private unnamed_addr constant [6 x i8] c"image\00"
|
|
@.str8142 = private unnamed_addr constant [7 x i8] c"spacer\00"
|
|
@.str8143 = private unnamed_addr constant [3 x i8] c"id\00"
|
|
@.str8144 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00"
|
|
@.str8145 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str8146 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str8147 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8148 = private unnamed_addr constant [2 x i8] c"w\00"
|
|
@.str8149 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str8150 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str8151 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str8152 = private unnamed_addr constant [4 x i8] c"pad\00"
|
|
@.str8153 = private unnamed_addr constant [4 x i8] c"gap\00"
|
|
@.str8154 = private unnamed_addr constant [3 x i8] c"bg\00"
|
|
@.str8155 = private unnamed_addr constant [3 x i8] c"fg\00"
|
|
@.str8156 = private unnamed_addr constant [7 x i8] c"border\00"
|
|
@.str8157 = private unnamed_addr constant [5 x i8] c"grow\00"
|
|
@.str8158 = private unnamed_addr constant [5 x i8] c"font\00"
|
|
@.str8159 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str8160 = private unnamed_addr constant [6 x i8] c"inset\00"
|
|
@.str8161 = private unnamed_addr constant [6 x i8] c"focus\00"
|
|
@.str8162 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00"
|
|
@.str8163 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8164 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str8165 = private unnamed_addr constant [3 x i8] c"id\00"
|
|
@.str8166 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str8167 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00"
|
|
@.str8168 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str8169 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8170 = private unnamed_addr constant [5 x i8] c"skin\00"
|
|
@.str8171 = private unnamed_addr constant [6 x i8] c"image\00"
|
|
@.str8172 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00"
|
|
@.str8173 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str8174 = private unnamed_addr constant [5 x i8] c"skin\00"
|
|
@.str8175 = private unnamed_addr constant [6 x i8] c"align\00"
|
|
@.str8176 = private unnamed_addr constant [7 x i8] c"center\00"
|
|
@.str8177 = private unnamed_addr constant [4 x i8] c"end\00"
|
|
@.str8178 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str8179 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00"
|
|
@.str8180 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str8181 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str8182 = private unnamed_addr constant [7 x i8] c" %arg_\00"
|
|
@.str8183 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str8184 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00"
|
|
@.str8185 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8186 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str8187 = private unnamed_addr constant [7 x i8] c" %arg_\00"
|
|
@.str8188 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str8189 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8190 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str8191 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
|
|
@.str8192 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str8193 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str8194 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str8195 = private unnamed_addr constant [14 x i8] c", ptr %retval\00"
|
|
@.str8196 = private unnamed_addr constant [7 x i8] c" ret \00"
|
|
@.str8197 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str8198 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8199 = private unnamed_addr constant [8 x i8] c"define \00"
|
|
@.str8200 = private unnamed_addr constant [6 x i8] c" @fn_\00"
|
|
@.str8201 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str8202 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
|
|
@.str8203 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str8204 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str8205 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00"
|
|
@.str8206 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
|
|
@.str8207 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
|
|
@.str8208 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00"
|
|
@.str8209 = private unnamed_addr constant [8 x i8] c"rt_init\00"
|
|
@.str8210 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
|
|
@.str8211 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str8212 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
|
|
@.str8213 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00"
|
|
@.str8214 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str8215 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8216 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
|
|
@.str8217 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str8218 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str8219 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str8220 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
|
|
@.str8221 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00"
|
|
@.str8222 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
|
|
@.str8223 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str8224 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00"
|
|
@.str8225 = private unnamed_addr constant [94 x i8] c"@.fmt_test_sum = private unnamed_addr constant [28 x i8] c\22== %d passed, %d failed ==\5C0A\5C00\22\0A\00"
|
|
@.str8226 = private unnamed_addr constant [86 x i8] c"@.fmt_expect = private unnamed_addr constant [22 x i8] c\22%s (got %d, want %d)\5C0A\5C00\22\0A\00"
|
|
@.str8227 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
|
|
@.str8228 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
|
|
@.str8229 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
|
|
@.str8230 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00"
|
|
@.str8231 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00"
|
|
@.str8232 = private unnamed_addr constant [8 x i8] c"ok - \00"
|
|
@.str8233 = private unnamed_addr constant [8 x i8] c"FAIL - \00"
|
|
@.str8234 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00"
|
|
@.str8235 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00"
|
|
@.str8236 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str8237 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00"
|
|
@.str8238 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str8239 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str8240 = private unnamed_addr constant [6 x i8] c"tpass\00"
|
|
@.str8241 = private unnamed_addr constant [6 x i8] c"tfail\00"
|
|
@.str8242 = private unnamed_addr constant [6 x i8] c"tdone\00"
|
|
@.str8243 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str8244 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str8245 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str8246 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8247 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str8248 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
|
|
@.str8249 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8250 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str8251 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8252 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str8253 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00"
|
|
@.str8254 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str8255 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str8256 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str8257 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00"
|
|
@.str8258 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
|
|
@.str8259 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8260 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str8261 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8262 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str8263 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00"
|
|
@.str8264 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str8265 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str8266 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00"
|
|
@.str8267 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str8268 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8269 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str8270 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str8271 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str8272 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
|
|
@.str8273 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str8274 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00"
|
|
@.str8275 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00"
|
|
@.str8276 = private unnamed_addr constant [68 x i8] c"@.fmt_panic = private unnamed_addr constant [6 x i8] c\22%s%s\5C0A\5C00\22\0A\00"
|
|
@.str8277 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00"
|
|
@.str8278 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00"
|
|
@.str8279 = private unnamed_addr constant [10 x i8] c" x i32] [\00"
|
|
@.str8280 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str8281 = private unnamed_addr constant [5 x i8] c"i32 \00"
|
|
@.str8282 = private unnamed_addr constant [3 x i8] c"]\0A\00"
|
|
@.str8283 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00"
|
|
@.str8284 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str8285 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00"
|
|
@.str8286 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8287 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00"
|
|
@.str8288 = private unnamed_addr constant [10 x i8] c"ludic.cov\00"
|
|
@.str8289 = private unnamed_addr constant [2 x i8] c"w\00"
|
|
@.str8290 = private unnamed_addr constant [73 x i8] c"@.cov_filefmt = private unnamed_addr constant [9 x i8] c\22FILE %s\5C0A\5C00\22\0A\00"
|
|
@.str8291 = private unnamed_addr constant [70 x i8] c"@.cov_rowfmt = private unnamed_addr constant [7 x i8] c\22%d %d\5C0A\5C00\22\0A\00"
|
|
@.str8292 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00"
|
|
@.str8293 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00"
|
|
@.str8294 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00"
|
|
@.str8295 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00"
|
|
@.str8296 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8297 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00"
|
|
@.str8298 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00"
|
|
@.str8299 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00"
|
|
@.str8300 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00"
|
|
@.str8301 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8302 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
|
|
@.str8303 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00"
|
|
@.str8304 = private unnamed_addr constant [8 x i8] c"write:\0A\00"
|
|
@.str8305 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00"
|
|
@.str8306 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str8307 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str8308 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
|
|
@.str8309 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00"
|
|
@.str8310 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00"
|
|
@.str8311 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8312 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00"
|
|
@.str8313 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str8314 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00"
|
|
@.str8315 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00"
|
|
@.str8316 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00"
|
|
@.str8317 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00"
|
|
@.str8318 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00"
|
|
@.str8319 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00"
|
|
@.str8320 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00"
|
|
@.str8321 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00"
|
|
@.str8322 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str8323 = private unnamed_addr constant [8 x i8] c"close:\0A\00"
|
|
@.str8324 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00"
|
|
@.str8325 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
|
|
@.str8326 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00"
|
|
@.str8327 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00"
|
|
@.str8328 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00"
|
|
@.str8329 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str8330 = private unnamed_addr constant [122 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @cov_init, ptr null }]\0A\00"
|
|
@.str8331 = private unnamed_addr constant [3 x i8] c"wb\00"
|
|
@.str8332 = private unnamed_addr constant [7 x i8] c".ludic\00"
|
|
@.str8333 = private unnamed_addr constant [2 x i8] c"/\00"
|
|
@.str8334 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
|
|
@.str8335 = private unnamed_addr constant [8 x i8] c"VERSION\00"
|
|
@.str8336 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00"
|
|
@.str8337 = private unnamed_addr constant [7 x i8] c"ludic \00"
|
|
@.str8338 = private unnamed_addr constant [6 x i8] c"ludic\00"
|
|
@.str8339 = private unnamed_addr constant [10 x i8] c"--version\00"
|
|
@.str8340 = private unnamed_addr constant [11 x i8] c"--windowed\00"
|
|
@.str8341 = private unnamed_addr constant [11 x i8] c"--headless\00"
|
|
@.str8342 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00"
|
|
@.str8343 = private unnamed_addr constant [6 x i8] c"--fmt\00"
|
|
@.str8344 = private unnamed_addr constant [13 x i8] c"--save-temps\00"
|
|
@.str8345 = private unnamed_addr constant [6 x i8] c"--run\00"
|
|
@.str8346 = private unnamed_addr constant [11 x i8] c"--coverage\00"
|
|
@.str8347 = private unnamed_addr constant [3 x i8] c"-o\00"
|
|
@.str8348 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00"
|
|
@.str8349 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str8350 = private unnamed_addr constant [90 x i8] c"usage: ludicc <file.ludic> [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00"
|
|
@.str8351 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00"
|
|
@.str8352 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00"
|
|
@.str8353 = private unnamed_addr constant [10 x i8] c"mkdir -p \00"
|
|
@.str8354 = private unnamed_addr constant [4 x i8] c".ll\00"
|
|
@.str8355 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00"
|
|
@.str8356 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00"
|
|
@.str8357 = private unnamed_addr constant [6 x i8] c"clang\00"
|
|
@.str8358 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
|
|
@.str8359 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00"
|
|
@.str8360 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00"
|
|
@.str8361 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str8362 = private unnamed_addr constant [42 x i8] c" -framework Cocoa -Wl,-rpath,@loader_path\00"
|
|
@.str8363 = private unnamed_addr constant [5 x i8] c" -o \00"
|
|
@.str8364 = private unnamed_addr constant [7 x i8] c"rm -f \00"
|
|
@.str8365 = 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
|
|
%t165 = alloca ptr
|
|
%t185 = alloca ptr
|
|
%t199 = 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 = call i32 @fn_is_op(ptr @.str24)
|
|
%t152 = icmp ne i32 %t151, 0
|
|
br i1 %t152, label %then34, label %ifend36
|
|
then34:
|
|
%t153 = load ptr, ptr %t147
|
|
%t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 4
|
|
%t155 = call ptr @fn_record()
|
|
store ptr %t155, ptr %t154
|
|
br label %ifend36
|
|
ifend36:
|
|
%t156 = load ptr, ptr %t147
|
|
store ptr %t156, ptr %retval
|
|
br label %ret
|
|
ifend33:
|
|
%t157 = load ptr, ptr %t6
|
|
%t158 = getelementptr inbounds %Cmp_Tok, ptr %t157, i32 0, i32 1
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = call i32 @fn_str_eq(ptr %t159, ptr @.str25)
|
|
%t161 = icmp ne i32 %t160, 0
|
|
br i1 %t161, label %then37, label %ifend39
|
|
then37:
|
|
%t162 = load i32, ptr @g_pi
|
|
%t163 = add i32 %t162, 1
|
|
store i32 %t163, ptr @g_pi
|
|
%t164 = call ptr @fn_node(i32 52)
|
|
store ptr %t164, ptr %t165
|
|
%t166 = load ptr, ptr %t165
|
|
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 8
|
|
%t168 = load ptr, ptr %t6
|
|
%t169 = getelementptr inbounds %Cmp_Tok, ptr %t168, i32 0, i32 3
|
|
%t170 = load i32, ptr %t169
|
|
store i32 %t170, ptr %t167
|
|
%t171 = load ptr, ptr %t165
|
|
%t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 4
|
|
%t173 = call ptr @fn_expr()
|
|
store ptr %t173, ptr %t172
|
|
call void @fn_skipnl()
|
|
%t174 = call i32 @fn_is_id(ptr @.str26)
|
|
%t175 = icmp eq i32 %t174, 0
|
|
%t176 = zext i1 %t175 to i32
|
|
%t177 = icmp ne i32 %t176, 0
|
|
br i1 %t177, label %then40, label %ifend42
|
|
then40:
|
|
call void @fn_perr(ptr @.str27)
|
|
br label %ifend42
|
|
ifend42:
|
|
%t178 = load i32, ptr @g_pi
|
|
%t179 = add i32 %t178, 1
|
|
store i32 %t179, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
%t180 = load ptr, ptr %t165
|
|
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 5
|
|
%t182 = call ptr @fn_block()
|
|
store ptr %t182, ptr %t181
|
|
%t183 = load ptr, ptr %t165
|
|
store ptr %t183, ptr %retval
|
|
br label %ret
|
|
ifend39:
|
|
%t184 = call ptr @fn_node(i32 33)
|
|
store ptr %t184, ptr %t185
|
|
%t186 = load ptr, ptr %t185
|
|
%t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1
|
|
%t188 = load ptr, ptr %t6
|
|
%t189 = getelementptr inbounds %Cmp_Tok, ptr %t188, i32 0, i32 1
|
|
%t190 = load ptr, ptr %t189
|
|
store ptr %t190, ptr %t187
|
|
%t191 = load i32, ptr @g_pi
|
|
%t192 = add i32 %t191, 1
|
|
store i32 %t192, ptr @g_pi
|
|
%t193 = load ptr, ptr %t185
|
|
store ptr %t193, ptr %retval
|
|
br label %ret
|
|
ifend21:
|
|
%t194 = call i32 @fn_is_op(ptr @.str28)
|
|
%t195 = icmp ne i32 %t194, 0
|
|
br i1 %t195, label %then43, label %ifend45
|
|
then43:
|
|
%t196 = load i32, ptr @g_pi
|
|
%t197 = add i32 %t196, 1
|
|
store i32 %t197, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
%t198 = call ptr @fn_expr()
|
|
store ptr %t198, ptr %t199
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str29)
|
|
%t200 = load ptr, ptr %t199
|
|
store ptr %t200, ptr %retval
|
|
br label %ret
|
|
ifend45:
|
|
call void @fn_perr(ptr @.str30)
|
|
%t201 = call ptr @fn_node(i32 30)
|
|
store ptr %t201, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t202 = load ptr, ptr %retval
|
|
ret ptr %t202
|
|
}
|
|
|
|
define ptr @fn_p_postfix() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t8 = alloca ptr
|
|
%t16 = alloca i32
|
|
%t36 = alloca i32
|
|
%t56 = alloca i32
|
|
%t76 = alloca i32
|
|
%t96 = alloca i32
|
|
%t106 = alloca i32
|
|
%t128 = alloca i32
|
|
%t129 = alloca i32
|
|
%t150 = alloca i32
|
|
%t168 = alloca i32
|
|
%t169 = alloca i32
|
|
%t190 = alloca i32
|
|
%t191 = alloca i32
|
|
%t192 = alloca i32
|
|
%t193 = alloca i32
|
|
%t194 = alloca i32
|
|
%t195 = alloca i32
|
|
%t263 = alloca ptr
|
|
%t269 = alloca ptr
|
|
%t281 = alloca ptr
|
|
%t292 = 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 @.str31)
|
|
%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
|
|
%t17 = load ptr, ptr %t1
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 4
|
|
%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 %t16
|
|
br i1 %t24, label %sc6, label %scend7
|
|
sc6:
|
|
%t26 = load ptr, ptr %t1
|
|
%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 = call i32 @fn_str_eq(ptr %t30, ptr @.str32)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t16
|
|
br label %scend7
|
|
scend7:
|
|
%t34 = load i32, ptr %t16
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then8, label %ifend10
|
|
then8:
|
|
store i32 1, ptr @g_g_uses_regex
|
|
br label %ifend10
|
|
ifend10:
|
|
%t37 = load ptr, ptr %t1
|
|
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4
|
|
%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, 33
|
|
%t43 = zext i1 %t42 to i32
|
|
%t44 = icmp ne i32 %t43, 0
|
|
%t45 = zext i1 %t44 to i32
|
|
store i32 %t45, ptr %t36
|
|
br i1 %t44, label %sc11, label %scend12
|
|
sc11:
|
|
%t46 = load ptr, ptr %t1
|
|
%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 1
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str33)
|
|
%t52 = icmp ne i32 %t51, 0
|
|
%t53 = zext i1 %t52 to i32
|
|
store i32 %t53, ptr %t36
|
|
br label %scend12
|
|
scend12:
|
|
%t54 = load i32, ptr %t36
|
|
%t55 = icmp ne i32 %t54, 0
|
|
br i1 %t55, label %then13, label %ifend15
|
|
then13:
|
|
store i32 1, ptr @g_g_uses_query
|
|
br label %ifend15
|
|
ifend15:
|
|
%t57 = load ptr, ptr %t1
|
|
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 0
|
|
%t61 = load i32, ptr %t60
|
|
%t62 = icmp eq i32 %t61, 33
|
|
%t63 = zext i1 %t62 to i32
|
|
%t64 = icmp ne i32 %t63, 0
|
|
%t65 = zext i1 %t64 to i32
|
|
store i32 %t65, ptr %t56
|
|
br i1 %t64, label %sc16, label %scend17
|
|
sc16:
|
|
%t66 = load ptr, ptr %t1
|
|
%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 %t69
|
|
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str34)
|
|
%t72 = icmp ne i32 %t71, 0
|
|
%t73 = zext i1 %t72 to i32
|
|
store i32 %t73, ptr %t56
|
|
br label %scend17
|
|
scend17:
|
|
%t74 = load i32, ptr %t56
|
|
%t75 = icmp ne i32 %t74, 0
|
|
br i1 %t75, label %then18, label %ifend20
|
|
then18:
|
|
store i32 1, ptr @g_g_uses_reflect
|
|
br label %ifend20
|
|
ifend20:
|
|
%t77 = load ptr, ptr %t1
|
|
%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 0
|
|
%t81 = load i32, ptr %t80
|
|
%t82 = icmp eq i32 %t81, 33
|
|
%t83 = zext i1 %t82 to i32
|
|
%t84 = icmp ne i32 %t83, 0
|
|
%t85 = zext i1 %t84 to i32
|
|
store i32 %t85, ptr %t76
|
|
br i1 %t84, label %sc21, label %scend22
|
|
sc21:
|
|
%t86 = load ptr, ptr %t1
|
|
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4
|
|
%t88 = load ptr, ptr %t87
|
|
%t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str35)
|
|
%t92 = icmp ne i32 %t91, 0
|
|
%t93 = zext i1 %t92 to i32
|
|
store i32 %t93, ptr %t76
|
|
br label %scend22
|
|
scend22:
|
|
%t94 = load i32, ptr %t76
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %then23, label %ifend25
|
|
then23:
|
|
store i32 1, ptr @g_g_uses_light
|
|
br label %ifend25
|
|
ifend25:
|
|
%t97 = load ptr, ptr %t1
|
|
%t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4
|
|
%t99 = load ptr, ptr %t98
|
|
%t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 0
|
|
%t101 = load i32, ptr %t100
|
|
%t102 = icmp eq i32 %t101, 33
|
|
%t103 = zext i1 %t102 to i32
|
|
%t104 = icmp ne i32 %t103, 0
|
|
%t105 = zext i1 %t104 to i32
|
|
store i32 %t105, ptr %t96
|
|
br i1 %t104, label %sc26, label %scend27
|
|
sc26:
|
|
%t107 = load ptr, ptr %t1
|
|
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1
|
|
%t111 = load ptr, ptr %t110
|
|
%t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str36)
|
|
%t113 = icmp ne i32 %t112, 0
|
|
%t114 = zext i1 %t113 to i32
|
|
store i32 %t114, ptr %t106
|
|
br i1 %t113, label %scend29, label %sc28
|
|
sc28:
|
|
%t115 = load ptr, ptr %t1
|
|
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 4
|
|
%t117 = load ptr, ptr %t116
|
|
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 1
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = call i32 @fn_str_eq(ptr %t119, ptr @.str37)
|
|
%t121 = icmp ne i32 %t120, 0
|
|
%t122 = zext i1 %t121 to i32
|
|
store i32 %t122, ptr %t106
|
|
br label %scend29
|
|
scend29:
|
|
%t123 = load i32, ptr %t106
|
|
%t124 = icmp ne i32 %t123, 0
|
|
%t125 = zext i1 %t124 to i32
|
|
store i32 %t125, ptr %t96
|
|
br label %scend27
|
|
scend27:
|
|
%t126 = load i32, ptr %t96
|
|
%t127 = icmp ne i32 %t126, 0
|
|
br i1 %t127, label %then30, label %ifend32
|
|
then30:
|
|
store i32 1, ptr @g_g_uses_value
|
|
br label %ifend32
|
|
ifend32:
|
|
%t130 = load ptr, ptr %t1
|
|
%t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 4
|
|
%t132 = load ptr, ptr %t131
|
|
%t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 0
|
|
%t134 = load i32, ptr %t133
|
|
%t135 = icmp eq i32 %t134, 33
|
|
%t136 = zext i1 %t135 to i32
|
|
%t137 = icmp ne i32 %t136, 0
|
|
%t138 = zext i1 %t137 to i32
|
|
store i32 %t138, ptr %t129
|
|
br i1 %t137, label %sc33, label %scend34
|
|
sc33:
|
|
%t139 = load ptr, ptr %t1
|
|
%t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 4
|
|
%t141 = load ptr, ptr %t140
|
|
%t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 1
|
|
%t143 = load ptr, ptr %t142
|
|
%t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str38)
|
|
%t145 = icmp ne i32 %t144, 0
|
|
%t146 = zext i1 %t145 to i32
|
|
store i32 %t146, ptr %t129
|
|
br label %scend34
|
|
scend34:
|
|
%t147 = load i32, ptr %t129
|
|
%t148 = icmp ne i32 %t147, 0
|
|
%t149 = zext i1 %t148 to i32
|
|
store i32 %t149, ptr %t128
|
|
br i1 %t148, label %sc35, label %scend36
|
|
sc35:
|
|
%t151 = load ptr, ptr %t1
|
|
%t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1
|
|
%t153 = load ptr, ptr %t152
|
|
%t154 = call i32 @fn_str_eq(ptr %t153, ptr @.str39)
|
|
%t155 = icmp ne i32 %t154, 0
|
|
%t156 = zext i1 %t155 to i32
|
|
store i32 %t156, ptr %t150
|
|
br i1 %t155, label %scend38, label %sc37
|
|
sc37:
|
|
%t157 = load ptr, ptr %t1
|
|
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = call i32 @fn_str_eq(ptr %t159, ptr @.str40)
|
|
%t161 = icmp ne i32 %t160, 0
|
|
%t162 = zext i1 %t161 to i32
|
|
store i32 %t162, ptr %t150
|
|
br label %scend38
|
|
scend38:
|
|
%t163 = load i32, ptr %t150
|
|
%t164 = icmp ne i32 %t163, 0
|
|
%t165 = zext i1 %t164 to i32
|
|
store i32 %t165, ptr %t128
|
|
br label %scend36
|
|
scend36:
|
|
%t166 = load i32, ptr %t128
|
|
%t167 = icmp ne i32 %t166, 0
|
|
br i1 %t167, label %then39, label %ifend41
|
|
then39:
|
|
store i32 1, ptr @g_g_uses_value
|
|
store i32 1, ptr @g_g_uses_reflect_io
|
|
br label %ifend41
|
|
ifend41:
|
|
%t170 = load ptr, ptr %t1
|
|
%t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 4
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 0
|
|
%t174 = load i32, ptr %t173
|
|
%t175 = icmp eq i32 %t174, 33
|
|
%t176 = zext i1 %t175 to i32
|
|
%t177 = icmp ne i32 %t176, 0
|
|
%t178 = zext i1 %t177 to i32
|
|
store i32 %t178, ptr %t169
|
|
br i1 %t177, label %sc42, label %scend43
|
|
sc42:
|
|
%t179 = load ptr, ptr %t1
|
|
%t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 4
|
|
%t181 = load ptr, ptr %t180
|
|
%t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 1
|
|
%t183 = load ptr, ptr %t182
|
|
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str41)
|
|
%t185 = icmp ne i32 %t184, 0
|
|
%t186 = zext i1 %t185 to i32
|
|
store i32 %t186, ptr %t169
|
|
br label %scend43
|
|
scend43:
|
|
%t187 = load i32, ptr %t169
|
|
%t188 = icmp ne i32 %t187, 0
|
|
%t189 = zext i1 %t188 to i32
|
|
store i32 %t189, ptr %t168
|
|
br i1 %t188, label %sc44, label %scend45
|
|
sc44:
|
|
%t196 = load ptr, ptr %t1
|
|
%t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 1
|
|
%t198 = load ptr, ptr %t197
|
|
%t199 = call i32 @fn_str_eq(ptr %t198, ptr @.str42)
|
|
%t200 = icmp ne i32 %t199, 0
|
|
%t201 = zext i1 %t200 to i32
|
|
store i32 %t201, ptr %t195
|
|
br i1 %t200, label %scend47, label %sc46
|
|
sc46:
|
|
%t202 = load ptr, ptr %t1
|
|
%t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1
|
|
%t204 = load ptr, ptr %t203
|
|
%t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str43)
|
|
%t206 = icmp ne i32 %t205, 0
|
|
%t207 = zext i1 %t206 to i32
|
|
store i32 %t207, ptr %t195
|
|
br label %scend47
|
|
scend47:
|
|
%t208 = load i32, ptr %t195
|
|
%t209 = icmp ne i32 %t208, 0
|
|
%t210 = zext i1 %t209 to i32
|
|
store i32 %t210, ptr %t194
|
|
br i1 %t209, label %scend49, label %sc48
|
|
sc48:
|
|
%t211 = load ptr, ptr %t1
|
|
%t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1
|
|
%t213 = load ptr, ptr %t212
|
|
%t214 = call i32 @fn_str_eq(ptr %t213, ptr @.str44)
|
|
%t215 = icmp ne i32 %t214, 0
|
|
%t216 = zext i1 %t215 to i32
|
|
store i32 %t216, ptr %t194
|
|
br label %scend49
|
|
scend49:
|
|
%t217 = load i32, ptr %t194
|
|
%t218 = icmp ne i32 %t217, 0
|
|
%t219 = zext i1 %t218 to i32
|
|
store i32 %t219, ptr %t193
|
|
br i1 %t218, label %scend51, label %sc50
|
|
sc50:
|
|
%t220 = load ptr, ptr %t1
|
|
%t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1
|
|
%t222 = load ptr, ptr %t221
|
|
%t223 = call i32 @fn_str_eq(ptr %t222, ptr @.str45)
|
|
%t224 = icmp ne i32 %t223, 0
|
|
%t225 = zext i1 %t224 to i32
|
|
store i32 %t225, ptr %t193
|
|
br label %scend51
|
|
scend51:
|
|
%t226 = load i32, ptr %t193
|
|
%t227 = icmp ne i32 %t226, 0
|
|
%t228 = zext i1 %t227 to i32
|
|
store i32 %t228, ptr %t192
|
|
br i1 %t227, label %scend53, label %sc52
|
|
sc52:
|
|
%t229 = load ptr, ptr %t1
|
|
%t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 1
|
|
%t231 = load ptr, ptr %t230
|
|
%t232 = call i32 @fn_str_eq(ptr %t231, ptr @.str46)
|
|
%t233 = icmp ne i32 %t232, 0
|
|
%t234 = zext i1 %t233 to i32
|
|
store i32 %t234, ptr %t192
|
|
br label %scend53
|
|
scend53:
|
|
%t235 = load i32, ptr %t192
|
|
%t236 = icmp ne i32 %t235, 0
|
|
%t237 = zext i1 %t236 to i32
|
|
store i32 %t237, ptr %t191
|
|
br i1 %t236, label %scend55, label %sc54
|
|
sc54:
|
|
%t238 = load ptr, ptr %t1
|
|
%t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1
|
|
%t240 = load ptr, ptr %t239
|
|
%t241 = call i32 @fn_str_eq(ptr %t240, ptr @.str47)
|
|
%t242 = icmp ne i32 %t241, 0
|
|
%t243 = zext i1 %t242 to i32
|
|
store i32 %t243, ptr %t191
|
|
br label %scend55
|
|
scend55:
|
|
%t244 = load i32, ptr %t191
|
|
%t245 = icmp ne i32 %t244, 0
|
|
%t246 = zext i1 %t245 to i32
|
|
store i32 %t246, ptr %t190
|
|
br i1 %t245, label %scend57, label %sc56
|
|
sc56:
|
|
%t247 = load ptr, ptr %t1
|
|
%t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 1
|
|
%t249 = load ptr, ptr %t248
|
|
%t250 = call i32 @fn_str_eq(ptr %t249, ptr @.str48)
|
|
%t251 = icmp ne i32 %t250, 0
|
|
%t252 = zext i1 %t251 to i32
|
|
store i32 %t252, ptr %t190
|
|
br label %scend57
|
|
scend57:
|
|
%t253 = load i32, ptr %t190
|
|
%t254 = icmp ne i32 %t253, 0
|
|
%t255 = zext i1 %t254 to i32
|
|
store i32 %t255, ptr %t168
|
|
br label %scend45
|
|
scend45:
|
|
%t256 = load i32, ptr %t168
|
|
%t257 = icmp ne i32 %t256, 0
|
|
br i1 %t257, label %then58, label %ifend60
|
|
then58:
|
|
store i32 1, ptr @g_g_uses_input
|
|
br label %ifend60
|
|
ifend60:
|
|
br label %ifend5
|
|
else4:
|
|
%t258 = call i32 @fn_is_op(ptr @.str49)
|
|
%t259 = icmp ne i32 %t258, 0
|
|
br i1 %t259, label %then61, label %else62
|
|
then61:
|
|
%t260 = load i32, ptr @g_pi
|
|
%t261 = add i32 %t260, 1
|
|
store i32 %t261, ptr @g_pi
|
|
%t262 = call ptr @fn_expr()
|
|
store ptr %t262, ptr %t263
|
|
%t264 = call i32 @fn_is_op(ptr @.str50)
|
|
%t265 = icmp ne i32 %t264, 0
|
|
br i1 %t265, label %then64, label %else65
|
|
then64:
|
|
%t266 = load i32, ptr @g_pi
|
|
%t267 = add i32 %t266, 1
|
|
store i32 %t267, ptr @g_pi
|
|
%t268 = call ptr @fn_node(i32 44)
|
|
store ptr %t268, ptr %t269
|
|
%t270 = load ptr, ptr %t269
|
|
%t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 4
|
|
%t272 = load ptr, ptr %t1
|
|
store ptr %t272, ptr %t271
|
|
%t273 = load ptr, ptr %t269
|
|
%t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 5
|
|
%t275 = load ptr, ptr %t263
|
|
store ptr %t275, ptr %t274
|
|
%t276 = load ptr, ptr %t269
|
|
%t277 = getelementptr inbounds %Cmp_Node, ptr %t276, i32 0, i32 6
|
|
%t278 = call ptr @fn_expr()
|
|
store ptr %t278, ptr %t277
|
|
call void @fn_eat_op(ptr @.str51)
|
|
%t279 = load ptr, ptr %t269
|
|
store ptr %t279, ptr %t1
|
|
br label %ifend66
|
|
else65:
|
|
%t280 = call ptr @fn_node(i32 36)
|
|
store ptr %t280, ptr %t281
|
|
%t282 = load ptr, ptr %t281
|
|
%t283 = getelementptr inbounds %Cmp_Node, ptr %t282, i32 0, i32 4
|
|
%t284 = load ptr, ptr %t1
|
|
store ptr %t284, ptr %t283
|
|
%t285 = load ptr, ptr %t281
|
|
%t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 5
|
|
%t287 = load ptr, ptr %t263
|
|
store ptr %t287, ptr %t286
|
|
call void @fn_eat_op(ptr @.str52)
|
|
%t288 = load ptr, ptr %t281
|
|
store ptr %t288, ptr %t1
|
|
br label %ifend66
|
|
ifend66:
|
|
br label %ifend63
|
|
else62:
|
|
%t289 = call i32 @fn_is_op(ptr @.str53)
|
|
%t290 = icmp ne i32 %t289, 0
|
|
br i1 %t290, label %then67, label %else68
|
|
then67:
|
|
%t291 = call ptr @fn_node(i32 34)
|
|
store ptr %t291, ptr %t292
|
|
%t293 = load ptr, ptr %t292
|
|
%t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 4
|
|
%t295 = load ptr, ptr %t1
|
|
store ptr %t295, ptr %t294
|
|
%t296 = load ptr, ptr %t292
|
|
%t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 8
|
|
%t298 = load ptr, ptr @g_toks
|
|
%t299 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0
|
|
%t300 = load ptr, ptr %t299
|
|
%t301 = load i32, ptr @g_pi
|
|
%t302 = getelementptr inbounds ptr, ptr %t300, i32 %t301
|
|
%t303 = load ptr, ptr %t302
|
|
%t304 = getelementptr inbounds %Cmp_Tok, ptr %t303, i32 0, i32 3
|
|
%t305 = load i32, ptr %t304
|
|
store i32 %t305, ptr %t297
|
|
%t306 = load ptr, ptr %t292
|
|
call void @fn_args_call(ptr %t306)
|
|
%t307 = load ptr, ptr %t292
|
|
store ptr %t307, ptr %t1
|
|
br label %ifend69
|
|
else68:
|
|
br label %wend2
|
|
ifend69:
|
|
br label %ifend63
|
|
ifend63:
|
|
br label %ifend5
|
|
ifend5:
|
|
br label %wcond0
|
|
wend2:
|
|
%t308 = load ptr, ptr %t1
|
|
store ptr %t308, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t309 = load ptr, ptr %retval
|
|
ret ptr %t309
|
|
}
|
|
|
|
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 @.str54)
|
|
%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 @.str55, 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 @.str56)
|
|
%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 @.str57, 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 @.str58)
|
|
%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 @.str59, 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 @.str60)
|
|
%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 @.str61)
|
|
%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 @.str62)
|
|
%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 @.str63)
|
|
%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 @.str64)
|
|
%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 @.str65)
|
|
%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 @.str66)
|
|
%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 @.str67)
|
|
%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 @.str68)
|
|
%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 @.str69)
|
|
%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 @.str70)
|
|
%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 @.str71)
|
|
%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 @.str72)
|
|
%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 @.str73)
|
|
%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 @.str74)
|
|
%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 @.str75)
|
|
%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 @.str76)
|
|
%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 @.str77, 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 @.str78)
|
|
%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 @.str79, 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 @.str80)
|
|
%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 @.str81)
|
|
%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 @.str82)
|
|
%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 @.str83)
|
|
%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 @.str84)
|
|
%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 @.str85)
|
|
%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 @.str86)
|
|
%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 @.str87)
|
|
%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 @.str88)
|
|
br label %ifend13
|
|
ifend13:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str89)
|
|
%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
|
|
%t8 = alloca i32
|
|
%t10 = 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
|
|
%t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3
|
|
%t7 = load i32, ptr %t6
|
|
store i32 %t7, ptr %t8
|
|
%t9 = call ptr @fn_stmt_body()
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 8
|
|
%t13 = load i32, ptr %t12
|
|
%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:
|
|
%t17 = load ptr, ptr %t10
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 8
|
|
%t19 = load i32, ptr %t8
|
|
store i32 %t19, ptr %t18
|
|
br label %ifend2
|
|
ifend2:
|
|
%t20 = load ptr, ptr %t10
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t21 = load ptr, ptr %retval
|
|
ret ptr %t21
|
|
}
|
|
|
|
define ptr @fn_stmt_body() {
|
|
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 @.str90)
|
|
%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 @.str91)
|
|
%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 @.str92)
|
|
%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 @.str93)
|
|
%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 @.str94)
|
|
%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 @.str95)
|
|
%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 @.str96)
|
|
%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 @.str97)
|
|
%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 @.str98)
|
|
%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 @.str99)
|
|
%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 @.str100)
|
|
%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 @.str101)
|
|
%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 @.str102)
|
|
%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 @.str103)
|
|
%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 @.str104)
|
|
%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 @.str105)
|
|
%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 @.str106)
|
|
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 @.str107)
|
|
%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 @.str108)
|
|
%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 @.str109)
|
|
%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 @.str110)
|
|
%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 @.str111)
|
|
%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 @.str112)
|
|
%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 @.str113)
|
|
%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 @.str114)
|
|
%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 @.str115)
|
|
%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 @.str116)
|
|
%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 @.str117, 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 @.str118)
|
|
%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 @.str119)
|
|
%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 @.str120)
|
|
%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 @.str121)
|
|
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 @.str122)
|
|
%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 @.str123)
|
|
%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 @.str124)
|
|
%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 @.str125)
|
|
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 @.str126)
|
|
%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 @.str127)
|
|
%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 @.str128)
|
|
%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 @.str129)
|
|
%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 @.str130)
|
|
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 @.str131)
|
|
%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 @.str132)
|
|
%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 @.str133)
|
|
call void @fn_skipnl()
|
|
%t466 = call i32 @fn_is_op(ptr @.str134)
|
|
%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 @.str135)
|
|
%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 @.str136)
|
|
%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 @.str137)
|
|
%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 @.str138)
|
|
%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 @.str139)
|
|
%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 @.str140)
|
|
%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 @.str141)
|
|
%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 @.str142)
|
|
%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 @.str143)
|
|
%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 @.str144)
|
|
%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 @.str145)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = call i32 @fn_is_op(ptr @.str146)
|
|
%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 @.str147)
|
|
%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 @.str148)
|
|
%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 @.str149)
|
|
%t45 = load ptr, ptr %t3
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3
|
|
store ptr @.str150, ptr %t46
|
|
%t47 = call i32 @fn_is_op(ptr @.str151)
|
|
%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 @.str152, 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 @.str153)
|
|
%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 @.str154)
|
|
%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 @.str155)
|
|
%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 @.str156)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then9, label %else10
|
|
then9:
|
|
call void @fn_eat_op(ptr @.str157)
|
|
%t31 = call ptr @fn_eat_id()
|
|
store ptr %t31, ptr %t9
|
|
call void @fn_eat_op(ptr @.str158)
|
|
br label %ifend11
|
|
else10:
|
|
%t32 = load ptr, ptr %t21
|
|
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str159)
|
|
%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 @.str160)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then15, label %else16
|
|
then15:
|
|
call void @fn_eat_op(ptr @.str161)
|
|
%t39 = call ptr @fn_eat_id()
|
|
store ptr %t39, ptr %t2
|
|
call void @fn_eat_op(ptr @.str162)
|
|
br label %ifend17
|
|
else16:
|
|
%t40 = load ptr, ptr %t21
|
|
%t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str163)
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then18, label %else19
|
|
then18:
|
|
call void @fn_eat_op(ptr @.str164)
|
|
%t43 = call ptr @fn_eat_id()
|
|
store ptr %t43, ptr %t3
|
|
%t44 = call i32 @fn_is_op(ptr @.str165)
|
|
%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 @.str166)
|
|
%t49 = call ptr @fn_eat_id()
|
|
store ptr %t49, ptr %t4
|
|
br label %ifend23
|
|
ifend23:
|
|
call void @fn_eat_op(ptr @.str167)
|
|
br label %ifend20
|
|
else19:
|
|
%t50 = load ptr, ptr %t21
|
|
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str168)
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then24, label %else25
|
|
then24:
|
|
call void @fn_eat_op(ptr @.str169)
|
|
%t53 = call ptr @fn_eat_id()
|
|
store ptr %t53, ptr %t5
|
|
call void @fn_eat_op(ptr @.str170)
|
|
br label %ifend26
|
|
else25:
|
|
%t54 = load ptr, ptr %t21
|
|
%t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str171)
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then27, label %else28
|
|
then27:
|
|
call void @fn_eat_op(ptr @.str172)
|
|
%t57 = call ptr @fn_eat_id()
|
|
store ptr %t57, ptr %t6
|
|
call void @fn_eat_op(ptr @.str173)
|
|
br label %ifend29
|
|
else28:
|
|
%t58 = load ptr, ptr %t21
|
|
%t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str174)
|
|
%t60 = icmp ne i32 %t59, 0
|
|
br i1 %t60, label %then30, label %else31
|
|
then30:
|
|
call void @fn_eat_op(ptr @.str175)
|
|
%t61 = call ptr @fn_eat_id()
|
|
store ptr %t61, ptr %t7
|
|
call void @fn_eat_op(ptr @.str176)
|
|
br label %ifend32
|
|
else31:
|
|
%t62 = load ptr, ptr %t21
|
|
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str177)
|
|
%t64 = icmp ne i32 %t63, 0
|
|
br i1 %t64, label %then33, label %else34
|
|
then33:
|
|
call void @fn_eat_op(ptr @.str178)
|
|
%t65 = call ptr @fn_eat_id()
|
|
store ptr %t65, ptr %t8
|
|
call void @fn_eat_op(ptr @.str179)
|
|
br label %ifend35
|
|
else34:
|
|
%t66 = load ptr, ptr %t21
|
|
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str180)
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then36, label %else37
|
|
then36:
|
|
store ptr @.str181, ptr %t11
|
|
br label %ifend38
|
|
else37:
|
|
%t69 = load ptr, ptr %t21
|
|
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str182)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then39, label %else40
|
|
then39:
|
|
store ptr @.str183, ptr %t11
|
|
br label %ifend41
|
|
else40:
|
|
%t72 = load ptr, ptr %t21
|
|
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str184)
|
|
%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 @.str185)
|
|
%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 @.str186)
|
|
%t80 = icmp ne i32 %t79, 0
|
|
br i1 %t80, label %then48, label %else49
|
|
then48:
|
|
store ptr @.str187, ptr %t14
|
|
br label %ifend50
|
|
else49:
|
|
%t81 = load ptr, ptr %t21
|
|
%t82 = call i32 @fn_str_eq(ptr %t81, ptr @.str188)
|
|
%t83 = icmp ne i32 %t82, 0
|
|
br i1 %t83, label %then51, label %else52
|
|
then51:
|
|
store ptr @.str189, ptr %t14
|
|
br label %ifend53
|
|
else52:
|
|
%t84 = load ptr, ptr %t21
|
|
%t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str190)
|
|
%t86 = icmp ne i32 %t85, 0
|
|
br i1 %t86, label %then54, label %else55
|
|
then54:
|
|
store ptr @.str191, ptr %t15
|
|
br label %ifend56
|
|
else55:
|
|
%t87 = load ptr, ptr %t21
|
|
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str192)
|
|
%t89 = icmp ne i32 %t88, 0
|
|
br i1 %t89, label %then57, label %else58
|
|
then57:
|
|
store ptr @.str193, ptr %t15
|
|
br label %ifend59
|
|
else58:
|
|
%t90 = call i32 @fn_is_op(ptr @.str194)
|
|
%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 @.str195)
|
|
%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 @.str196)
|
|
%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 @.str197)
|
|
%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 @.str198)
|
|
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 @.str199)
|
|
%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 @.str200)
|
|
%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 @.str201)
|
|
%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 @.str202)
|
|
%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 @.str203)
|
|
%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 @.str204)
|
|
%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 @.str205)
|
|
%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 @.str206, ptr %t276)
|
|
%t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str207)
|
|
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 @.str208, ptr %t290)
|
|
%t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str209)
|
|
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 @.str210, ptr %t303)
|
|
%t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str211)
|
|
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 @.str212, ptr %t316)
|
|
%t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str213)
|
|
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 @.str214, ptr %t329)
|
|
%t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str215)
|
|
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 @.str216, ptr %t342)
|
|
%t344 = call ptr @fn_str_concat(ptr %t343, ptr @.str217)
|
|
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 @.str218)
|
|
%t356 = icmp ne i32 %t355, 0
|
|
br i1 %t356, label %then168, label %else169
|
|
then168:
|
|
call void @fn_ensure_event_empty(ptr @.str219)
|
|
br label %ifend170
|
|
else169:
|
|
call void @fn_ensure_event_empty(ptr @.str220)
|
|
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 @.str221)
|
|
%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 @.str222)
|
|
%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 @.str223)
|
|
%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 @.str224)
|
|
%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 @.str225)
|
|
%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 @.str226)
|
|
%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:
|
|
%t551 = call i32 @fn_is_id(ptr @.str227)
|
|
%t552 = icmp ne i32 %t551, 0
|
|
br i1 %t552, label %then211, label %ifend213
|
|
then211:
|
|
%t553 = load ptr, ptr @g_g_tests
|
|
%t554 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 1
|
|
%t555 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 2
|
|
%t556 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 0
|
|
%t557 = load i32, ptr %t554
|
|
%t558 = load i32, ptr %t555
|
|
%t559 = icmp sge i32 %t557, %t558
|
|
br i1 %t559, label %grow214, label %put215
|
|
grow214:
|
|
%t560 = mul i32 %t558, 2
|
|
%t561 = icmp eq i32 %t558, 0
|
|
%t562 = select i1 %t561, i32 8, i32 %t560
|
|
%t563 = getelementptr ptr, ptr null, i32 1
|
|
%t564 = ptrtoint ptr %t563 to i64
|
|
%t565 = zext i32 %t562 to i64
|
|
%t566 = mul i64 %t565, %t564
|
|
%t567 = load ptr, ptr %t556
|
|
%t568 = call ptr @realloc(ptr %t567, i64 %t566)
|
|
store ptr %t568, ptr %t556
|
|
store i32 %t562, ptr %t555
|
|
br label %put215
|
|
put215:
|
|
%t569 = call ptr @fn_parse_test()
|
|
%t570 = load ptr, ptr %t556
|
|
%t571 = getelementptr inbounds ptr, ptr %t570, i32 %t557
|
|
store ptr %t569, ptr %t571
|
|
%t572 = add i32 %t557, 1
|
|
store i32 %t572, ptr %t554
|
|
br label %ret
|
|
ifend213:
|
|
call void @fn_perr(ptr @.str228)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_parse_test() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t8 = alloca i32
|
|
%t23 = 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
|
|
%t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3
|
|
%t7 = load i32, ptr %t6
|
|
store i32 %t7, ptr %t8
|
|
%t9 = load i32, ptr @g_pi
|
|
%t10 = add i32 %t9, 1
|
|
store i32 %t10, ptr @g_pi
|
|
%t11 = load ptr, ptr @g_toks
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = load i32, ptr @g_pi
|
|
%t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 0
|
|
%t18 = load i32, ptr %t17
|
|
%t19 = icmp ne i32 %t18, 2
|
|
%t20 = zext i1 %t19 to i32
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_perr(ptr @.str229)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t22 = call ptr @fn_node(i32 51)
|
|
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 @g_toks
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = load i32, ptr @g_pi
|
|
%t30 = getelementptr inbounds ptr, ptr %t28, i32 %t29
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = getelementptr inbounds %Cmp_Tok, ptr %t31, i32 0, i32 1
|
|
%t33 = load ptr, ptr %t32
|
|
store ptr %t33, ptr %t25
|
|
%t34 = load ptr, ptr %t23
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 8
|
|
%t36 = load i32, ptr %t8
|
|
store i32 %t36, ptr %t35
|
|
%t37 = load i32, ptr @g_pi
|
|
%t38 = add i32 %t37, 1
|
|
store i32 %t38, ptr @g_pi
|
|
%t39 = load ptr, ptr %t23
|
|
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4
|
|
%t41 = call ptr @fn_block()
|
|
store ptr %t41, ptr %t40
|
|
%t42 = load ptr, ptr %t23
|
|
store ptr %t42, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t43 = load ptr, ptr %retval
|
|
ret ptr %t43
|
|
}
|
|
|
|
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 @.str230, 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:
|
|
%t1 = alloca ptr
|
|
%t25 = alloca i32
|
|
%t38 = alloca i32
|
|
%t0 = load ptr, ptr @g_cur_dir
|
|
store ptr %t0, ptr %t1
|
|
%t2 = call i32 @fn_has_ecs()
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store ptr @.str231, ptr @g_cur_dir
|
|
call void @fn_do_import(ptr @.str232)
|
|
%t4 = load ptr, ptr %t1
|
|
store ptr %t4, ptr @g_cur_dir
|
|
br label %ifend2
|
|
ifend2:
|
|
%t5 = load i32, ptr @g_g_uses_regex
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then3, label %ifend5
|
|
then3:
|
|
store ptr @.str233, ptr @g_cur_dir
|
|
call void @fn_do_import(ptr @.str234)
|
|
call void @fn_do_import(ptr @.str235)
|
|
%t7 = load ptr, ptr %t1
|
|
store ptr %t7, ptr @g_cur_dir
|
|
br label %ifend5
|
|
ifend5:
|
|
%t8 = load i32, ptr @g_g_uses_query
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str236, ptr @g_cur_dir
|
|
call void @fn_do_import(ptr @.str237)
|
|
%t10 = load ptr, ptr %t1
|
|
store ptr %t10, ptr @g_cur_dir
|
|
br label %ifend8
|
|
ifend8:
|
|
%t11 = load i32, ptr @g_g_uses_light
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str238, ptr @g_cur_dir
|
|
call void @fn_do_import(ptr @.str239)
|
|
%t13 = load ptr, ptr %t1
|
|
store ptr %t13, ptr @g_cur_dir
|
|
br label %ifend11
|
|
ifend11:
|
|
%t14 = load i32, ptr @g_g_uses_value
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str240, ptr @g_cur_dir
|
|
call void @fn_do_import(ptr @.str241)
|
|
%t16 = load ptr, ptr %t1
|
|
store ptr %t16, ptr @g_cur_dir
|
|
br label %ifend14
|
|
ifend14:
|
|
%t17 = load i32, ptr @g_g_uses_reflect_io
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then15, label %ifend17
|
|
then15:
|
|
store ptr @.str242, ptr @g_cur_dir
|
|
call void @fn_do_import(ptr @.str243)
|
|
%t19 = load ptr, ptr %t1
|
|
store ptr %t19, ptr @g_cur_dir
|
|
br label %ifend17
|
|
ifend17:
|
|
%t20 = load i32, ptr @g_g_uses_input
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then18, label %ifend20
|
|
then18:
|
|
store ptr @.str244, ptr @g_cur_dir
|
|
call void @fn_do_import(ptr @.str245)
|
|
call void @fn_do_import(ptr @.str246)
|
|
%t22 = load ptr, ptr %t1
|
|
store ptr %t22, ptr @g_cur_dir
|
|
br label %ifend20
|
|
ifend20:
|
|
%t23 = call i32 @fn_uses_engine_systems()
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then21, label %ifend23
|
|
then21:
|
|
store i32 1, ptr @g_g_uses_esys
|
|
store ptr @.str247, ptr @g_cur_dir
|
|
%t26 = call ptr @fn_find_comp(ptr @.str248)
|
|
%t27 = icmp ne ptr %t26, null
|
|
%t28 = zext i1 %t27 to i32
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t25
|
|
br i1 %t29, label %scend25, label %sc24
|
|
sc24:
|
|
%t31 = call ptr @fn_find_comp(ptr @.str249)
|
|
%t32 = icmp ne ptr %t31, null
|
|
%t33 = zext i1 %t32 to i32
|
|
%t34 = icmp ne i32 %t33, 0
|
|
%t35 = zext i1 %t34 to i32
|
|
store i32 %t35, ptr %t25
|
|
br label %scend25
|
|
scend25:
|
|
%t36 = load i32, ptr %t25
|
|
%t37 = icmp ne i32 %t36, 0
|
|
br i1 %t37, label %then26, label %ifend28
|
|
then26:
|
|
call void @fn_do_import(ptr @.str250)
|
|
br label %ifend28
|
|
ifend28:
|
|
%t39 = call ptr @fn_find_comp(ptr @.str251)
|
|
%t40 = icmp ne ptr %t39, null
|
|
%t41 = zext i1 %t40 to i32
|
|
%t42 = icmp ne i32 %t41, 0
|
|
%t43 = zext i1 %t42 to i32
|
|
store i32 %t43, ptr %t38
|
|
br i1 %t42, label %scend30, label %sc29
|
|
sc29:
|
|
%t44 = call ptr @fn_find_comp(ptr @.str252)
|
|
%t45 = icmp ne ptr %t44, null
|
|
%t46 = zext i1 %t45 to i32
|
|
%t47 = icmp ne i32 %t46, 0
|
|
%t48 = zext i1 %t47 to i32
|
|
store i32 %t48, ptr %t38
|
|
br label %scend30
|
|
scend30:
|
|
%t49 = load i32, ptr %t38
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %then31, label %ifend33
|
|
then31:
|
|
call void @fn_do_import(ptr @.str253)
|
|
call void @fn_do_import(ptr @.str254)
|
|
store i32 1, ptr @g_g_uses_light
|
|
br label %ifend33
|
|
ifend33:
|
|
%t51 = load ptr, ptr %t1
|
|
store ptr %t51, ptr @g_cur_dir
|
|
br label %ifend23
|
|
ifend23:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_parse_program() {
|
|
entry:
|
|
%t94 = alloca ptr
|
|
%t98 = alloca ptr
|
|
%t107 = alloca ptr
|
|
%t110 = 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
|
|
store i32 0, ptr @g_g_uses_regex
|
|
store i32 0, ptr @g_g_uses_query
|
|
store i32 0, ptr @g_g_uses_reflect
|
|
store i32 0, ptr @g_g_uses_esys
|
|
store i32 0, ptr @g_g_uses_input
|
|
store i32 0, ptr @g_g_uses_light
|
|
store i32 0, ptr @g_g_uses_value
|
|
store i32 0, ptr @g_g_uses_reflect_io
|
|
%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_g_tests
|
|
%t78 = getelementptr %LSlice, ptr null, i32 1
|
|
%t79 = ptrtoint ptr %t78 to i64
|
|
%t80 = call ptr @malloc(i64 %t79)
|
|
%t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0
|
|
store ptr null, ptr %t81
|
|
%t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1
|
|
store i32 0, ptr %t82
|
|
%t83 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 2
|
|
store i32 0, ptr %t83
|
|
store ptr %t80, ptr @g_loaded_paths
|
|
call void @fn_skipnl()
|
|
store ptr @.str255, ptr @g_g_game_name
|
|
br label %wcond0
|
|
wcond0:
|
|
%t84 = call i32 @fn_is_id(ptr @.str256)
|
|
%t85 = icmp ne i32 %t84, 0
|
|
br i1 %t85, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t86 = load i32, ptr @g_pi
|
|
%t87 = add i32 %t86, 1
|
|
store i32 %t87, ptr @g_pi
|
|
%t88 = load ptr, ptr @g_toks
|
|
%t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = load i32, ptr @g_pi
|
|
%t92 = getelementptr inbounds ptr, ptr %t90, i32 %t91
|
|
%t93 = load ptr, ptr %t92
|
|
store ptr %t93, ptr %t94
|
|
%t95 = load ptr, ptr %t94
|
|
%t96 = getelementptr inbounds %Cmp_Tok, ptr %t95, i32 0, i32 1
|
|
%t97 = load ptr, ptr %t96
|
|
store ptr %t97, ptr %t98
|
|
%t99 = load i32, ptr @g_pi
|
|
%t100 = add i32 %t99, 1
|
|
store i32 %t100, ptr @g_pi
|
|
%t101 = load ptr, ptr %t98
|
|
call void @fn_do_import(ptr %t101)
|
|
call void @fn_skipnl()
|
|
br label %wcond0
|
|
wend2:
|
|
br label %wcond3
|
|
wcond3:
|
|
%t102 = call i32 @fn_is_op(ptr @.str257)
|
|
%t103 = icmp ne i32 %t102, 0
|
|
br i1 %t103, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t104 = load i32, ptr @g_pi
|
|
%t105 = add i32 %t104, 1
|
|
store i32 %t105, ptr @g_pi
|
|
%t106 = call ptr @fn_eat_id()
|
|
store ptr %t106, ptr %t107
|
|
%t108 = call i32 @fn_is_op(ptr @.str258)
|
|
%t109 = icmp ne i32 %t108, 0
|
|
br i1 %t109, label %then6, label %ifend8
|
|
then6:
|
|
store i32 0, ptr %t110
|
|
br label %wcond9
|
|
wcond9:
|
|
%t111 = icmp ne i32 1, 0
|
|
br i1 %t111, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t112 = call i32 @fn_is_op(ptr @.str259)
|
|
%t113 = icmp ne i32 %t112, 0
|
|
br i1 %t113, label %then12, label %ifend14
|
|
then12:
|
|
%t114 = load i32, ptr %t110
|
|
%t115 = add i32 %t114, 1
|
|
store i32 %t115, ptr %t110
|
|
br label %ifend14
|
|
ifend14:
|
|
%t116 = call i32 @fn_is_op(ptr @.str260)
|
|
%t117 = icmp ne i32 %t116, 0
|
|
br i1 %t117, label %then15, label %ifend17
|
|
then15:
|
|
%t118 = load i32, ptr %t110
|
|
%t119 = sub i32 %t118, 1
|
|
store i32 %t119, ptr %t110
|
|
br label %ifend17
|
|
ifend17:
|
|
%t120 = load i32, ptr @g_pi
|
|
%t121 = add i32 %t120, 1
|
|
store i32 %t121, ptr @g_pi
|
|
%t122 = load i32, ptr %t110
|
|
%t123 = icmp eq i32 %t122, 0
|
|
%t124 = zext i1 %t123 to i32
|
|
%t125 = icmp ne i32 %t124, 0
|
|
br i1 %t125, 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:
|
|
%t126 = call i32 @fn_is_id(ptr @.str261)
|
|
%t127 = icmp ne i32 %t126, 0
|
|
br i1 %t127, label %then21, label %ifend23
|
|
then21:
|
|
%t128 = load i32, ptr @g_pi
|
|
%t129 = add i32 %t128, 1
|
|
store i32 %t129, ptr @g_pi
|
|
%t130 = call ptr @fn_eat_id()
|
|
store ptr %t130, ptr @g_g_game_name
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str262)
|
|
br label %ifend23
|
|
ifend23:
|
|
br label %wcond24
|
|
wcond24:
|
|
%t131 = icmp ne i32 1, 0
|
|
br i1 %t131, label %wbody25, label %wend26
|
|
wbody25:
|
|
call void @fn_skipnl()
|
|
%t132 = load ptr, ptr @g_toks
|
|
%t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0
|
|
%t134 = load ptr, ptr %t133
|
|
%t135 = load i32, ptr @g_pi
|
|
%t136 = getelementptr inbounds ptr, ptr %t134, i32 %t135
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = getelementptr inbounds %Cmp_Tok, ptr %t137, i32 0, i32 0
|
|
%t139 = load i32, ptr %t138
|
|
%t140 = icmp eq i32 %t139, 5
|
|
%t141 = zext i1 %t140 to i32
|
|
%t142 = icmp ne i32 %t141, 0
|
|
br i1 %t142, label %then27, label %ifend29
|
|
then27:
|
|
br label %wend26
|
|
ifend29:
|
|
%t143 = call i32 @fn_is_op(ptr @.str263)
|
|
%t144 = icmp ne i32 %t143, 0
|
|
br i1 %t144, 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 @.str264)
|
|
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 @.str265)
|
|
%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 @.str266)
|
|
%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 @.str267)
|
|
%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 @.str268)
|
|
%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 @.str269)
|
|
%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 @.str270)
|
|
%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 @.str271)
|
|
%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 @.str272)
|
|
%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 @.str273)
|
|
%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 @.str274)
|
|
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 @.str275)
|
|
%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 @.str276)
|
|
%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 @.str277)
|
|
%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 @.str278)
|
|
%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 @.str279)
|
|
%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 @.str280, 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 @.str281)
|
|
%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 @.str282)
|
|
%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 @.str283)
|
|
%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 @.str284)
|
|
%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 @.str285)
|
|
%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 @.str286)
|
|
%t0 = call ptr @fn_node(i32 7)
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = call i32 @fn_is_op(ptr @.str287)
|
|
%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 @.str288)
|
|
%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 @.str289)
|
|
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 @.str290)
|
|
%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 @.str291)
|
|
%t72 = call i32 @fn_is_id(ptr @.str292)
|
|
%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 @.str293)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = call i32 @fn_is_op(ptr @.str294)
|
|
%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 @.str295)
|
|
%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 @.str296)
|
|
%t37 = call ptr @fn_eat_id()
|
|
store ptr %t37, ptr %t38
|
|
%t39 = call i32 @fn_is_id(ptr @.str297)
|
|
%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 @.str298)
|
|
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 @.str299, 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 @.str300)
|
|
%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 @.str301)
|
|
%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 @.str302)
|
|
%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 @.str303)
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str304)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then6, label %else7
|
|
then6:
|
|
call void @fn_eat_op(ptr @.str305)
|
|
call void @fn_skipnl()
|
|
br label %wcond9
|
|
wcond9:
|
|
%t16 = call i32 @fn_is_op(ptr @.str306)
|
|
%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 @.str307)
|
|
%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 @.str308)
|
|
%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 @.str309)
|
|
%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 @.str310)
|
|
br label %ifend8
|
|
else7:
|
|
%t98 = load ptr, ptr %t12
|
|
%t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str311)
|
|
%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 @.str312)
|
|
%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 @.str313)
|
|
%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 @.str314)
|
|
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 @.str315)
|
|
%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 @.str316)
|
|
%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 @.str317)
|
|
%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 @.str318)
|
|
%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 @.str319)
|
|
%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 @.str320)
|
|
%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 @.str321, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str322)
|
|
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 @.str323, ptr %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str324)
|
|
call void @fn_ensure_event_empty(ptr %t40)
|
|
br label %ifend10
|
|
ifend10:
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str325)
|
|
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 @.str326)
|
|
%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 @.str327)
|
|
%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 @.str328)
|
|
%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 @.str329)
|
|
%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 @.str330)
|
|
br label %ifend25
|
|
ifend25:
|
|
br label %ifend22
|
|
ifend22:
|
|
br label %wcond11
|
|
ifend19:
|
|
%t62 = call i32 @fn_is_id(ptr @.str331)
|
|
%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 @.str332)
|
|
%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 @.str333, ptr %t72)
|
|
%t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str334)
|
|
call void @fn_ensure_event_empty(ptr %t74)
|
|
%t75 = load ptr, ptr %t67
|
|
%t76 = call ptr @fn_str_concat(ptr @.str335, ptr %t75)
|
|
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str336)
|
|
call void @fn_ensure_event_empty(ptr %t77)
|
|
br label %ifend31
|
|
ifend31:
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str337)
|
|
%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 @.str338)
|
|
%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 @.str339)
|
|
%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 @.str340)
|
|
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 @.str341)
|
|
br label %wcond11
|
|
ifend28:
|
|
call void @fn_perr(ptr @.str342)
|
|
br label %wcond11
|
|
wend13:
|
|
call void @fn_eat_op(ptr @.str343)
|
|
%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 @.str344)
|
|
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 @.str345)
|
|
%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 @.str346)
|
|
%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 @.str347)
|
|
%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 @.str348)
|
|
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 @.str349)
|
|
%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 @.str350)
|
|
%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 @.str351)
|
|
%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 @.str352)
|
|
%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 @.str353)
|
|
%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 @.str354)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t9 = call i32 @fn_is_op(ptr @.str355)
|
|
%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 @.str356)
|
|
%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 @.str357)
|
|
%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 @.str358)
|
|
%t47 = load ptr, ptr %t5
|
|
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3
|
|
store ptr @.str359, ptr %t48
|
|
%t49 = call i32 @fn_is_op(ptr @.str360)
|
|
%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 @.str361)
|
|
%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 @.str362)
|
|
%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 @.str363)
|
|
%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 @.str364)
|
|
%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 @.str365)
|
|
%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 @.str366)
|
|
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 @.str367)
|
|
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 @.str368)
|
|
%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 i32 @fn_cov_slot(i32 %arg_line) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t1 = alloca i32
|
|
store i32 %arg_line, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_cov_lines
|
|
%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_cov_lines
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds i32, ptr %t11, i32 %t12
|
|
%t14 = load i32, ptr %t13
|
|
%t15 = load i32, ptr %t0
|
|
%t16 = icmp eq i32 %t14, %t15
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
%t19 = load i32, ptr %t1
|
|
store i32 %t19, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t20 = load i32, ptr %t1
|
|
%t21 = add i32 %t20, 1
|
|
store i32 %t21, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t22 = load ptr, ptr @g_g_cov_lines
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2
|
|
%t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
|
|
%t26 = load i32, ptr %t23
|
|
%t27 = load i32, ptr %t24
|
|
%t28 = icmp sge i32 %t26, %t27
|
|
br i1 %t28, label %grow6, label %put7
|
|
grow6:
|
|
%t29 = mul i32 %t27, 2
|
|
%t30 = icmp eq i32 %t27, 0
|
|
%t31 = select i1 %t30, i32 8, i32 %t29
|
|
%t32 = getelementptr i32, ptr null, i32 1
|
|
%t33 = ptrtoint ptr %t32 to i64
|
|
%t34 = zext i32 %t31 to i64
|
|
%t35 = mul i64 %t34, %t33
|
|
%t36 = load ptr, ptr %t25
|
|
%t37 = call ptr @realloc(ptr %t36, i64 %t35)
|
|
store ptr %t37, ptr %t25
|
|
store i32 %t31, ptr %t24
|
|
br label %put7
|
|
put7:
|
|
%t38 = load i32, ptr %t0
|
|
%t39 = load ptr, ptr %t25
|
|
%t40 = getelementptr inbounds i32, ptr %t39, i32 %t26
|
|
store i32 %t38, ptr %t40
|
|
%t41 = add i32 %t26, 1
|
|
store i32 %t41, ptr %t23
|
|
%t42 = load ptr, ptr @g_g_cov_lines
|
|
%t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1
|
|
%t44 = load i32, ptr %t43
|
|
%t45 = sub i32 %t44, 1
|
|
store i32 %t45, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t46 = load i32, ptr %retval
|
|
ret i32 %t46
|
|
}
|
|
|
|
define void @fn_emit_cov_hit(i32 %arg_line) {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t15 = alloca i32
|
|
%t17 = alloca ptr
|
|
%t24 = alloca ptr
|
|
%t29 = alloca ptr
|
|
store i32 %arg_line, ptr %t0
|
|
%t1 = load i32, ptr @g_g_coverage
|
|
%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:
|
|
br label %ret
|
|
ifend2:
|
|
%t5 = load i32, ptr @g_g_cov_active
|
|
%t6 = icmp eq i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then3, label %ifend5
|
|
then3:
|
|
br label %ret
|
|
ifend5:
|
|
%t9 = load i32, ptr %t0
|
|
%t10 = icmp sle i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then6, label %ifend8
|
|
then6:
|
|
br label %ret
|
|
ifend8:
|
|
%t13 = load i32, ptr %t0
|
|
%t14 = call i32 @fn_cov_slot(i32 %t13)
|
|
store i32 %t14, ptr %t15
|
|
%t16 = call ptr @fn_nreg()
|
|
store ptr %t16, ptr %t17
|
|
call void @fn_emit(ptr @.str369)
|
|
%t18 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t18)
|
|
call void @fn_emit(ptr @.str370)
|
|
%t19 = load i32, ptr %t15
|
|
%t20 = call ptr @fn_itoa(i32 %t19)
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str371)
|
|
%t21 = load ptr, ptr %t17
|
|
%t22 = call ptr @fn_str_concat(ptr @.str372, ptr %t21)
|
|
%t23 = call ptr @fn_emit_bind(ptr %t22)
|
|
store ptr %t23, ptr %t24
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_str_concat(ptr @.str373, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str374)
|
|
%t28 = call ptr @fn_emit_bind(ptr %t27)
|
|
store ptr %t28, ptr %t29
|
|
call void @fn_emit(ptr @.str375)
|
|
%t30 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str376)
|
|
%t31 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str377)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
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 @.str378, 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 @.str379)
|
|
%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 @.str380)
|
|
%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 @.str381)
|
|
%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 @.str382, 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 @.str383)
|
|
%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 @.str384)
|
|
%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 @.str385)
|
|
%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 @.str386)
|
|
%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 @.str387, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str388)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str389, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str390)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str391, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str392)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
br i1 %t36, label %then15, label %ifend17
|
|
then15:
|
|
store ptr @.str393, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t39 = load ptr, ptr %t0
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str394)
|
|
%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 @.str395)
|
|
%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 @.str396)
|
|
%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 @.str397, ptr %retval
|
|
br label %ret
|
|
ifend24:
|
|
%t56 = load ptr, ptr %t0
|
|
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str398)
|
|
%t58 = icmp ne i32 %t57, 0
|
|
br i1 %t58, label %then25, label %ifend27
|
|
then25:
|
|
store ptr @.str399, ptr %retval
|
|
br label %ret
|
|
ifend27:
|
|
store ptr @.str400, 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 @.str401, 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 @.str402, 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 @.str403)
|
|
%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 @.str404)
|
|
%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 @.str405)
|
|
%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 @.str406)
|
|
%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 @.str407)
|
|
%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 @.str408)
|
|
%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 @.str409, ptr %t15
|
|
%t16 = load ptr, ptr %t13
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3
|
|
store ptr @.str410, 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 @.str411, ptr %t45
|
|
%t46 = load ptr, ptr %t43
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3
|
|
store ptr @.str412, 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 @.str413, 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 @.str414)
|
|
%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 @.str415)
|
|
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 @.str416)
|
|
%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 @.str417)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then3, label %ifend5
|
|
then3:
|
|
store ptr @.str418, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
store ptr @.str419, 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 @.str420)
|
|
%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 @.str421, 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 @.str422)
|
|
%t90 = icmp ne i32 %t89, 0
|
|
br i1 %t90, label %then20, label %ifend22
|
|
then20:
|
|
store ptr @.str423, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
store ptr @.str424, 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 @.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)
|
|
call void @fn_emith(ptr @.str459)
|
|
call void @fn_emith(ptr @.str460)
|
|
call void @fn_emith(ptr @.str461)
|
|
%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 @.str462)
|
|
%t5 = load ptr, ptr @g_g_game_name
|
|
call void @fn_emith(ptr %t5)
|
|
call void @fn_emith(ptr @.str463)
|
|
call void @fn_emith(ptr @.str464)
|
|
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 @.str465)
|
|
%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 @.str466)
|
|
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 @.str467)
|
|
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 @.str468)
|
|
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 @.str469)
|
|
%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 @.str470)
|
|
%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 @.str471)
|
|
%t95 = load ptr, ptr %t81
|
|
%t96 = call ptr @fn_global_init(ptr %t95)
|
|
call void @fn_emith(ptr %t96)
|
|
call void @fn_emith(ptr @.str472)
|
|
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 @.str473)
|
|
%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 @.str474)
|
|
%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 @.str475)
|
|
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 @.str476)
|
|
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 @.str477)
|
|
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 @.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)
|
|
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)
|
|
call void @fn_emith(ptr @.str501)
|
|
call void @fn_emith(ptr @.str502)
|
|
call void @fn_emith(ptr @.str503)
|
|
call void @fn_emith(ptr @.str504)
|
|
call void @fn_emith(ptr @.str505)
|
|
call void @fn_emith(ptr @.str506)
|
|
call void @fn_emith(ptr @.str507)
|
|
call void @fn_emith(ptr @.str508)
|
|
call void @fn_emith(ptr @.str509)
|
|
call void @fn_emith(ptr @.str510)
|
|
call void @fn_emith(ptr @.str511)
|
|
call void @fn_emith(ptr @.str512)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_int_str() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str513)
|
|
call void @fn_emith(ptr @.str514)
|
|
call void @fn_emith(ptr @.str515)
|
|
call void @fn_emith(ptr @.str516)
|
|
call void @fn_emith(ptr @.str517)
|
|
call void @fn_emith(ptr @.str518)
|
|
call void @fn_emith(ptr @.str519)
|
|
call void @fn_emith(ptr @.str520)
|
|
call void @fn_emith(ptr @.str521)
|
|
call void @fn_emith(ptr @.str522)
|
|
call void @fn_emith(ptr @.str523)
|
|
call void @fn_emith(ptr @.str524)
|
|
call void @fn_emith(ptr @.str525)
|
|
call void @fn_emith(ptr @.str526)
|
|
call void @fn_emith(ptr @.str527)
|
|
call void @fn_emith(ptr @.str528)
|
|
call void @fn_emith(ptr @.str529)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_long_str() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str530)
|
|
call void @fn_emith(ptr @.str531)
|
|
call void @fn_emith(ptr @.str532)
|
|
call void @fn_emith(ptr @.str533)
|
|
call void @fn_emith(ptr @.str534)
|
|
call void @fn_emith(ptr @.str535)
|
|
call void @fn_emith(ptr @.str536)
|
|
call void @fn_emith(ptr @.str537)
|
|
call void @fn_emith(ptr @.str538)
|
|
call void @fn_emith(ptr @.str539)
|
|
call void @fn_emith(ptr @.str540)
|
|
call void @fn_emith(ptr @.str541)
|
|
call void @fn_emith(ptr @.str542)
|
|
call void @fn_emith(ptr @.str543)
|
|
call void @fn_emith(ptr @.str544)
|
|
call void @fn_emith(ptr @.str545)
|
|
call void @fn_emith(ptr @.str546)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_str_slice() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str547)
|
|
call void @fn_emith(ptr @.str548)
|
|
call void @fn_emith(ptr @.str549)
|
|
call void @fn_emith(ptr @.str550)
|
|
call void @fn_emith(ptr @.str551)
|
|
call void @fn_emith(ptr @.str552)
|
|
call void @fn_emith(ptr @.str553)
|
|
call void @fn_emith(ptr @.str554)
|
|
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 @.str555, 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 @.str556, 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 @.str557)
|
|
%t40 = load ptr, ptr %t39
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str558)
|
|
%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 @.str559)
|
|
%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 @.str560)
|
|
%t48 = load i32, ptr %t24
|
|
%t49 = call ptr @fn_itoa(i32 %t48)
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str561)
|
|
%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 @.str562)
|
|
%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 @.str563, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str564)
|
|
%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 @.str565, 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 @.str566)
|
|
%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 @.str567, ptr %t42)
|
|
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str568)
|
|
%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 @.str569, 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 @.str570)
|
|
%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 @.str571, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str572)
|
|
%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 @.str573, 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 @.str574, ptr %t71)
|
|
%t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str575)
|
|
%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 @.str576, 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 @.str577)
|
|
%t89 = load ptr, ptr %t88
|
|
call void @fn_emit(ptr %t89)
|
|
call void @fn_emit(ptr @.str578)
|
|
%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 @.str579)
|
|
%t93 = call ptr @fn_nreg()
|
|
store ptr %t93, ptr %t94
|
|
call void @fn_emit(ptr @.str580)
|
|
%t95 = load ptr, ptr %t94
|
|
call void @fn_emit(ptr %t95)
|
|
call void @fn_emit(ptr @.str581)
|
|
%t96 = load ptr, ptr %t88
|
|
call void @fn_emit(ptr %t96)
|
|
call void @fn_emit(ptr @.str582)
|
|
%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 @.str583)
|
|
%t104 = load ptr, ptr %t103
|
|
call void @fn_emit(ptr %t104)
|
|
call void @fn_emit(ptr @.str584)
|
|
%t105 = load ptr, ptr %t85
|
|
%t106 = call ptr @fn_llty(ptr %t105)
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str585)
|
|
%t107 = load ptr, ptr %t94
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str586)
|
|
%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 @.str587)
|
|
%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 @.str588)
|
|
%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 @.str589)
|
|
%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 @.str590)
|
|
%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 @.str591)
|
|
%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 @.str592)
|
|
%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 @.str593)
|
|
%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 @.str594)
|
|
%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 @.str595)
|
|
%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 @.str596)
|
|
%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 @.str597)
|
|
%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 @.str598)
|
|
%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 @.str599)
|
|
%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 @.str600)
|
|
%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 @.str601)
|
|
%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 @.str602)
|
|
%t3 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t3)
|
|
call void @fn_emit(ptr @.str603)
|
|
%t4 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str604)
|
|
%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 @.str605)
|
|
%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 @.str606, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str607)
|
|
%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 @.str608, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str609)
|
|
%t19 = load ptr, ptr %t15
|
|
%t20 = call ptr @fn_str_concat(ptr %t18, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str610)
|
|
%t22 = call ptr @fn_emit_bind(ptr %t21)
|
|
%t23 = call ptr @fn_val(ptr %t22, ptr @.str611)
|
|
store ptr %t23, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t24 = load ptr, ptr %t0
|
|
%t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str612)
|
|
%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 @.str613, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str614)
|
|
%t36 = load ptr, ptr %t32
|
|
%t37 = call ptr @fn_str_concat(ptr %t35, ptr %t36)
|
|
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str615)
|
|
%t39 = call ptr @fn_emit_bind(ptr %t38)
|
|
%t40 = call ptr @fn_val(ptr %t39, ptr @.str616)
|
|
store ptr %t40, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t42 = load ptr, ptr %t0
|
|
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str617)
|
|
%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 @.str618)
|
|
%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 @.str619, ptr %t61)
|
|
%t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str620)
|
|
%t64 = call ptr @fn_emit_bind(ptr %t63)
|
|
store ptr %t64, ptr %t65
|
|
store ptr @.str621, ptr %t66
|
|
%t67 = load ptr, ptr %t0
|
|
%t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str622)
|
|
%t69 = icmp ne i32 %t68, 0
|
|
br i1 %t69, label %then11, label %ifend13
|
|
then11:
|
|
store ptr @.str623, ptr %t66
|
|
br label %ifend13
|
|
ifend13:
|
|
%t70 = load ptr, ptr %t66
|
|
%t71 = call ptr @fn_str_concat(ptr @.str624, ptr %t70)
|
|
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str625)
|
|
%t73 = load ptr, ptr %t57
|
|
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str626)
|
|
%t76 = load ptr, ptr %t65
|
|
%t77 = call ptr @fn_str_concat(ptr %t75, ptr %t76)
|
|
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str627)
|
|
%t79 = load ptr, ptr %t54
|
|
%t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str628)
|
|
%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 @.str629, ptr %t84)
|
|
%t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str630)
|
|
%t87 = call ptr @fn_emit_bind(ptr %t86)
|
|
%t88 = call ptr @fn_val(ptr %t87, ptr @.str631)
|
|
store ptr %t88, ptr %retval
|
|
br label %ret
|
|
ifend10:
|
|
%t89 = load ptr, ptr %t0
|
|
%t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str632)
|
|
%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 @.str633, ptr %t101)
|
|
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str634)
|
|
%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 @.str635, ptr %t106)
|
|
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str636)
|
|
%t109 = load ptr, ptr %t105
|
|
%t110 = call ptr @fn_str_concat(ptr %t108, ptr %t109)
|
|
%t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str637)
|
|
%t112 = load ptr, ptr %t100
|
|
%t113 = call ptr @fn_str_concat(ptr %t111, ptr %t112)
|
|
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str638)
|
|
%t115 = call ptr @fn_emit_bind(ptr %t114)
|
|
%t116 = call ptr @fn_val(ptr %t115, ptr @.str639)
|
|
store ptr %t116, ptr %retval
|
|
br label %ret
|
|
ifend16:
|
|
%t117 = load ptr, ptr %t0
|
|
%t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str640)
|
|
%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 @.str641, ptr %t123)
|
|
%t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str642)
|
|
%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 @.str643, ptr %t128)
|
|
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str644)
|
|
%t131 = call ptr @fn_emit_bind(ptr %t130)
|
|
%t132 = call ptr @fn_val(ptr %t131, ptr @.str645)
|
|
store ptr %t132, ptr %retval
|
|
br label %ret
|
|
ifend19:
|
|
%t133 = load ptr, ptr %t0
|
|
%t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str646)
|
|
%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 @.str647)
|
|
%t139 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str648)
|
|
%t140 = call ptr @fn_val(ptr @.str649, ptr @.str650)
|
|
store ptr %t140, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
%t141 = load ptr, ptr %t0
|
|
%t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str651)
|
|
%t143 = icmp ne i32 %t142, 0
|
|
br i1 %t143, label %then23, label %ifend25
|
|
then23:
|
|
%t144 = call ptr @fn_emit_bind(ptr @.str652)
|
|
%t145 = call ptr @fn_val(ptr %t144, ptr @.str653)
|
|
store ptr %t145, ptr %retval
|
|
br label %ret
|
|
ifend25:
|
|
%t146 = load ptr, ptr %t0
|
|
%t147 = call i32 @fn_str_eq(ptr %t146, ptr @.str654)
|
|
%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 @.str655)
|
|
store ptr %t152, ptr %t153
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = call ptr @fn_str_concat(ptr @.str656, ptr %t154)
|
|
%t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str657)
|
|
%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 @.str658, ptr %t161)
|
|
%t163 = call ptr @fn_emit_bind(ptr %t162)
|
|
%t164 = call ptr @fn_val(ptr %t163, ptr @.str659)
|
|
store ptr %t164, ptr %retval
|
|
br label %ret
|
|
ifend28:
|
|
%t165 = load ptr, ptr %t0
|
|
%t166 = call i32 @fn_str_eq(ptr %t165, ptr @.str660)
|
|
%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 @.str661)
|
|
%t171 = load ptr, ptr %t170
|
|
call void @fn_emit(ptr %t171)
|
|
call void @fn_emit(ptr @.str662)
|
|
call void @fn_emit(ptr @.str663)
|
|
store i32 1, ptr @g_g_term
|
|
%t172 = call ptr @fn_val(ptr @.str664, ptr @.str665)
|
|
store ptr %t172, ptr %retval
|
|
br label %ret
|
|
ifend31:
|
|
%t173 = load ptr, ptr %t0
|
|
%t174 = call i32 @fn_str_eq(ptr %t173, ptr @.str666)
|
|
%t175 = icmp ne i32 %t174, 0
|
|
br i1 %t175, label %then32, label %ifend34
|
|
then32:
|
|
%t176 = call ptr @fn_emit_bind(ptr @.str667)
|
|
%t177 = call ptr @fn_val(ptr %t176, ptr @.str668)
|
|
store ptr %t177, ptr %retval
|
|
br label %ret
|
|
ifend34:
|
|
%t178 = load ptr, ptr %t0
|
|
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str669)
|
|
%t180 = icmp ne i32 %t179, 0
|
|
br i1 %t180, label %then35, label %ifend37
|
|
then35:
|
|
%t181 = call ptr @fn_emit_bind(ptr @.str670)
|
|
%t182 = call ptr @fn_val(ptr %t181, ptr @.str671)
|
|
store ptr %t182, ptr %retval
|
|
br label %ret
|
|
ifend37:
|
|
%t183 = load ptr, ptr %t0
|
|
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str672)
|
|
%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 @.str673, ptr %t189)
|
|
%t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str674)
|
|
%t192 = call ptr @fn_emit_bind(ptr %t191)
|
|
%t193 = call ptr @fn_val(ptr %t192, ptr @.str675)
|
|
store ptr %t193, ptr %retval
|
|
br label %ret
|
|
ifend40:
|
|
%t194 = load ptr, ptr %t0
|
|
%t195 = call i32 @fn_str_eq(ptr %t194, ptr @.str676)
|
|
%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 @.str677, ptr %t200)
|
|
%t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str678)
|
|
%t203 = call ptr @fn_emit_bind(ptr %t202)
|
|
%t204 = call ptr @fn_val(ptr %t203, ptr @.str679)
|
|
store ptr %t204, ptr %retval
|
|
br label %ret
|
|
ifend43:
|
|
store i32 0, ptr @g_g_intrin_ok
|
|
%t205 = call ptr @fn_val(ptr @.str680, ptr @.str681)
|
|
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 @.str682)
|
|
%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 @.str683)
|
|
%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 @.str684)
|
|
%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 @.str685)
|
|
%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 @.str686)
|
|
%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 @.str687)
|
|
%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 @.str688)
|
|
%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 @.str689)
|
|
%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 @.str690)
|
|
%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 @.str691)
|
|
%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 @.str692)
|
|
%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 @.str693)
|
|
%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 @.str694)
|
|
%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 @.str695)
|
|
%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 @.str696)
|
|
%t8 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t8)
|
|
call void @fn_emit(ptr @.str697)
|
|
%t9 = call ptr @fn_val(ptr @.str698, ptr @.str699)
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str700)
|
|
%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 @.str701, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str702)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
call void @fn_emit(ptr @.str703)
|
|
%t27 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str704)
|
|
%t28 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t28)
|
|
call void @fn_emit(ptr @.str705)
|
|
%t29 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t29)
|
|
call void @fn_emit(ptr @.str706)
|
|
%t30 = call ptr @fn_val(ptr @.str707, ptr @.str708)
|
|
store ptr %t30, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str709)
|
|
%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 @.str710)
|
|
%t42 = load ptr, ptr %t41
|
|
call void @fn_emit(ptr %t42)
|
|
call void @fn_emit(ptr @.str711)
|
|
%t43 = load ptr, ptr %t36
|
|
call void @fn_emit(ptr %t43)
|
|
call void @fn_emit(ptr @.str712)
|
|
%t44 = load ptr, ptr %t39
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str713)
|
|
%t45 = load ptr, ptr %t41
|
|
%t46 = call ptr @fn_val(ptr %t45, ptr @.str714)
|
|
store ptr %t46, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t47 = load ptr, ptr %t0
|
|
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str715)
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then9, label %ifend11
|
|
then9:
|
|
%t50 = call ptr @fn_emit_bind(ptr @.str716)
|
|
%t51 = call ptr @fn_val(ptr %t50, ptr @.str717)
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str718)
|
|
%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 @.str719)
|
|
store ptr %t67, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str720)
|
|
%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 @.str721)
|
|
store ptr %t83, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t84 = load ptr, ptr %t0
|
|
%t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str722)
|
|
%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 @.str723, ptr @.str724)
|
|
store ptr %t89, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t90 = call ptr @fn_val(ptr @.str725, ptr @.str726)
|
|
store ptr %t90, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t91 = load ptr, ptr %t0
|
|
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str727)
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then24, label %ifend26
|
|
then24:
|
|
%t94 = call ptr @fn_val(ptr @.str728, ptr @.str729)
|
|
store ptr %t94, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t95 = load ptr, ptr %t0
|
|
%t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str730)
|
|
%t97 = icmp ne i32 %t96, 0
|
|
br i1 %t97, label %then27, label %ifend29
|
|
then27:
|
|
%t98 = call ptr @fn_emit_bind(ptr @.str731)
|
|
%t99 = call ptr @fn_val(ptr %t98, ptr @.str732)
|
|
store ptr %t99, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str733)
|
|
%t102 = icmp ne i32 %t101, 0
|
|
br i1 %t102, label %then30, label %ifend32
|
|
then30:
|
|
%t103 = call ptr @fn_emit_bind(ptr @.str734)
|
|
%t104 = call ptr @fn_val(ptr %t103, ptr @.str735)
|
|
store ptr %t104, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t105 = load ptr, ptr %t0
|
|
%t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str736)
|
|
%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 @.str737)
|
|
%t120 = load ptr, ptr %t110
|
|
call void @fn_emit(ptr %t120)
|
|
call void @fn_emit(ptr @.str738)
|
|
%t121 = load ptr, ptr %t113
|
|
call void @fn_emit(ptr %t121)
|
|
call void @fn_emit(ptr @.str739)
|
|
%t122 = load ptr, ptr %t116
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str740)
|
|
%t123 = load ptr, ptr %t119
|
|
call void @fn_emit(ptr %t123)
|
|
call void @fn_emit(ptr @.str741)
|
|
%t124 = call ptr @fn_val(ptr @.str742, ptr @.str743)
|
|
store ptr %t124, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t125 = load ptr, ptr %t0
|
|
%t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str744)
|
|
%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 @.str745)
|
|
%t137 = load ptr, ptr %t130
|
|
call void @fn_emit(ptr %t137)
|
|
call void @fn_emit(ptr @.str746)
|
|
%t138 = load ptr, ptr %t133
|
|
call void @fn_emit(ptr %t138)
|
|
call void @fn_emit(ptr @.str747)
|
|
%t139 = load ptr, ptr %t136
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str748)
|
|
%t140 = call ptr @fn_val(ptr @.str749, ptr @.str750)
|
|
store ptr %t140, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t141 = load ptr, ptr %t0
|
|
%t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str751)
|
|
%t143 = icmp ne i32 %t142, 0
|
|
br i1 %t143, label %then39, label %ifend41
|
|
then39:
|
|
call void @fn_emit(ptr @.str752)
|
|
%t144 = call ptr @fn_val(ptr @.str753, ptr @.str754)
|
|
store ptr %t144, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t145 = call ptr @fn_val(ptr @.str755, ptr @.str756)
|
|
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 @.str757)
|
|
%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 @.str758)
|
|
%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 @.str759)
|
|
%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 @.str760)
|
|
%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 @.str761)
|
|
%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 @.str762, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str763)
|
|
%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 @.str764, 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 @.str765, ptr %t27)
|
|
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str766)
|
|
%t30 = load ptr, ptr %t26
|
|
%t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str767)
|
|
%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 @.str768)
|
|
%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 @.str769)
|
|
%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 @.str770, ptr %t71
|
|
%t72 = load ptr, ptr %t0
|
|
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str771)
|
|
%t74 = icmp ne i32 %t73, 0
|
|
br i1 %t74, label %then8, label %ifend10
|
|
then8:
|
|
store ptr @.str772, ptr %t71
|
|
br label %ifend10
|
|
ifend10:
|
|
%t75 = load ptr, ptr %t71
|
|
%t76 = call ptr @fn_str_concat(ptr @.str773, ptr %t75)
|
|
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str774)
|
|
%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 @.str775)
|
|
%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 @.str776, ptr %t89)
|
|
%t91 = call ptr @fn_str_concat(ptr %t90, ptr @.str777)
|
|
%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 @.str778)
|
|
%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 @.str779, ptr %t135)
|
|
%t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str780)
|
|
%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 @.str781, ptr %t144)
|
|
%t146 = call ptr @fn_str_concat(ptr %t145, ptr @.str782)
|
|
%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 @.str783)
|
|
%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 @.str784, ptr %t160)
|
|
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str785)
|
|
%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 @.str786, ptr %t167)
|
|
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str787)
|
|
%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 @.str788)
|
|
%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 @.str789, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str790)
|
|
%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 @.str791, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str792)
|
|
%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 @.str793, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str794)
|
|
%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 @.str795, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str796)
|
|
%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 @.str797, ptr %t24)
|
|
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str798)
|
|
%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 @.str799, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str800)
|
|
%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 @.str801, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str802)
|
|
%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 @.str803, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str804)
|
|
%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 @.str805, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str806)
|
|
%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 @.str807, ptr %t24)
|
|
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str808)
|
|
%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 @.str809, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str810)
|
|
%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 @.str811, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str812)
|
|
%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 @.str813, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str814)
|
|
%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 @.str815, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str816)
|
|
%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 @.str817)
|
|
%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 @.str818)
|
|
%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 @.str819)
|
|
%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 @.str820)
|
|
%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 @.str821)
|
|
%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 @.str822)
|
|
%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 @.str823)
|
|
%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 @.str824)
|
|
%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 @.str825)
|
|
%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 @.str826)
|
|
%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 @.str827)
|
|
%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 @.str828)
|
|
%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 @.str829)
|
|
%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 @.str830)
|
|
%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 @.str831)
|
|
%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 @.str832)
|
|
%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 @.str833)
|
|
%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 @.str834)
|
|
%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 @.str835)
|
|
%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 @.str836)
|
|
%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 @.str837)
|
|
%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 @.str838)
|
|
%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 @.str839)
|
|
%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 @.str840)
|
|
%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 @.str841)
|
|
%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 @.str842)
|
|
%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 @.str843)
|
|
%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 @.str844)
|
|
%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 @.str845)
|
|
%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 @.str846)
|
|
%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 @.str847)
|
|
%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 @.str848)
|
|
%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 @.str849)
|
|
%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 @.str850)
|
|
%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 @.str851)
|
|
%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 @.str852)
|
|
%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 @.str853)
|
|
%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 @.str854, ptr %t46)
|
|
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str855)
|
|
%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 @.str856, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str857)
|
|
%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 @.str858, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str859)
|
|
%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 @.str860, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str861)
|
|
%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 @.str862)
|
|
store ptr %t69, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t70 = load ptr, ptr %t0
|
|
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str863)
|
|
%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 @.str864, ptr %t84)
|
|
%t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str865)
|
|
%t87 = call ptr @fn_emit_bind(ptr %t86)
|
|
%t88 = call ptr @fn_val(ptr %t87, ptr @.str866)
|
|
store ptr %t88, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t89 = load ptr, ptr %t0
|
|
%t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str867)
|
|
%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 @.str868, ptr %t103)
|
|
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str869)
|
|
%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 @.str870, ptr %t108)
|
|
%t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str871)
|
|
%t111 = call ptr @fn_emit_bind(ptr %t110)
|
|
%t112 = call ptr @fn_val(ptr %t111, ptr @.str872)
|
|
store ptr %t112, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t113 = load ptr, ptr %t0
|
|
%t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str873)
|
|
%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 @.str874, ptr %t127)
|
|
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str875)
|
|
%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 @.str876, ptr %t132)
|
|
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str877)
|
|
%t135 = call ptr @fn_emit_bind(ptr %t134)
|
|
%t136 = call ptr @fn_val(ptr %t135, ptr @.str878)
|
|
store ptr %t136, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t137 = load ptr, ptr %t0
|
|
%t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str879)
|
|
%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 @.str880)
|
|
store ptr %t177, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t178 = load ptr, ptr %t0
|
|
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str881)
|
|
%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 @.str882)
|
|
store ptr %t218, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t219 = load ptr, ptr %t0
|
|
%t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str883)
|
|
%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 @.str884, ptr %t233)
|
|
%t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str885)
|
|
%t236 = call ptr @fn_emit_bind(ptr %t235)
|
|
%t237 = call ptr @fn_val(ptr %t236, ptr @.str886)
|
|
store ptr %t237, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t238 = load ptr, ptr %t0
|
|
%t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str887)
|
|
%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 @.str888, ptr %t252)
|
|
%t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str889)
|
|
%t255 = call ptr @fn_emit_bind(ptr %t254)
|
|
%t256 = call ptr @fn_val(ptr %t255, ptr @.str890)
|
|
store ptr %t256, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t257 = load ptr, ptr %t0
|
|
%t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str891)
|
|
%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 @.str892, ptr %t271)
|
|
%t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str893)
|
|
%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 @.str894, ptr %t276)
|
|
%t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str895)
|
|
%t279 = call ptr @fn_emit_bind(ptr %t278)
|
|
%t280 = call ptr @fn_val(ptr %t279, ptr @.str896)
|
|
store ptr %t280, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t281 = load ptr, ptr %t0
|
|
%t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str897)
|
|
%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 @.str898, ptr %t295)
|
|
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str899)
|
|
%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 @.str900, ptr %t302)
|
|
%t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str901)
|
|
%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 @.str902, ptr %t307)
|
|
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str903)
|
|
%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 @.str904)
|
|
store ptr %t315, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t316 = load ptr, ptr %t0
|
|
%t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str905)
|
|
%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 @.str906, ptr %t339)
|
|
%t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str907)
|
|
%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 @.str908)
|
|
%t347 = call ptr @fn_emit_bind(ptr %t346)
|
|
%t348 = call ptr @fn_val(ptr %t347, ptr @.str909)
|
|
store ptr %t348, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t349 = load ptr, ptr %t0
|
|
%t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str910)
|
|
%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 @.str911, 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 @.str912, ptr %t373)
|
|
%t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str913)
|
|
%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 @.str914, ptr %t380)
|
|
%t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str915)
|
|
%t383 = load ptr, ptr %t377
|
|
%t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383)
|
|
%t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str916)
|
|
%t386 = call ptr @fn_emit_bind(ptr %t385)
|
|
%t387 = call ptr @fn_val(ptr %t386, ptr @.str917)
|
|
store ptr %t387, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t388 = load ptr, ptr %t0
|
|
%t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str918)
|
|
%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 @.str919, 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 @.str920, ptr %t412)
|
|
%t414 = call ptr @fn_str_concat(ptr %t413, ptr @.str921)
|
|
%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 @.str922, ptr %t417)
|
|
%t419 = call ptr @fn_str_concat(ptr %t418, ptr @.str923)
|
|
%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 @.str924)
|
|
%t425 = call ptr @fn_emit_bind(ptr %t424)
|
|
%t426 = call ptr @fn_val(ptr %t425, ptr @.str925)
|
|
store ptr %t426, ptr %retval
|
|
br label %ret
|
|
ifend47:
|
|
%t427 = load ptr, ptr %t0
|
|
%t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str926)
|
|
%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 @.str927, ptr %t464)
|
|
%t466 = call ptr @fn_str_concat(ptr %t465, ptr @.str928)
|
|
%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 @.str929, ptr %t471)
|
|
%t473 = call ptr @fn_str_concat(ptr %t472, ptr @.str930)
|
|
%t474 = call ptr @fn_emit_bind(ptr %t473)
|
|
%t475 = call ptr @fn_val(ptr %t474, ptr @.str931)
|
|
store ptr %t475, ptr %retval
|
|
br label %ret
|
|
ifend50:
|
|
%t476 = load ptr, ptr %t0
|
|
%t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str932)
|
|
%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 @.str933, ptr %t517)
|
|
%t519 = call ptr @fn_str_concat(ptr %t518, ptr @.str934)
|
|
%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 @.str935, ptr %t528)
|
|
%t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str936)
|
|
%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 @.str937, ptr %t545)
|
|
%t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str938)
|
|
%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 @.str939)
|
|
store ptr %t551, ptr %retval
|
|
br label %ret
|
|
ifend53:
|
|
%t552 = load ptr, ptr %t0
|
|
%t553 = call i32 @fn_str_eq(ptr %t552, ptr @.str940)
|
|
%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 @.str941, ptr %t593)
|
|
%t595 = call ptr @fn_str_concat(ptr %t594, ptr @.str942)
|
|
%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 @.str943, ptr %t604)
|
|
%t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str944)
|
|
%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 @.str945, ptr %t621)
|
|
%t623 = call ptr @fn_str_concat(ptr %t622, ptr @.str946)
|
|
%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 @.str947, ptr %t628)
|
|
%t630 = call ptr @fn_str_concat(ptr %t629, ptr @.str948)
|
|
%t631 = call ptr @fn_emit_bind(ptr %t630)
|
|
%t632 = call ptr @fn_val(ptr %t631, ptr @.str949)
|
|
store ptr %t632, ptr %retval
|
|
br label %ret
|
|
ifend56:
|
|
%t633 = load ptr, ptr %t0
|
|
%t634 = call i32 @fn_str_eq(ptr %t633, ptr @.str950)
|
|
%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 @.str951)
|
|
store ptr %t648, ptr %t649
|
|
%t650 = load ptr, ptr %t649
|
|
%t651 = call ptr @fn_str_concat(ptr @.str952, ptr %t650)
|
|
%t652 = call ptr @fn_str_concat(ptr %t651, ptr @.str953)
|
|
%t653 = call ptr @fn_emit_bind(ptr %t652)
|
|
%t654 = call ptr @fn_val(ptr %t653, ptr @.str954)
|
|
store ptr %t654, ptr %retval
|
|
br label %ret
|
|
ifend59:
|
|
%t655 = load ptr, ptr %t0
|
|
%t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str955)
|
|
%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 @.str956, ptr %t669)
|
|
%t671 = call ptr @fn_str_concat(ptr %t670, ptr @.str957)
|
|
%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 @.str958)
|
|
%t676 = call ptr @fn_val(ptr %t675, ptr @.str959)
|
|
store ptr %t676, ptr %retval
|
|
br label %ret
|
|
ifend62:
|
|
%t677 = load ptr, ptr %t0
|
|
%t678 = call i32 @fn_str_eq(ptr %t677, ptr @.str960)
|
|
%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 @.str961, ptr %t700)
|
|
%t702 = call ptr @fn_str_concat(ptr %t701, ptr @.str962)
|
|
%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 @.str963, ptr %t711)
|
|
%t713 = call ptr @fn_str_concat(ptr %t712, ptr @.str964)
|
|
%t714 = call ptr @fn_emit_bind(ptr %t713)
|
|
%t715 = call ptr @fn_val(ptr %t714, ptr @.str965)
|
|
store ptr %t715, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t716 = load ptr, ptr %t0
|
|
%t717 = call i32 @fn_str_eq(ptr %t716, ptr @.str966)
|
|
%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 @.str967)
|
|
%t732 = call ptr @fn_val(ptr %t731, ptr @.str968)
|
|
store ptr %t732, ptr %retval
|
|
br label %ret
|
|
ifend68:
|
|
%t733 = load ptr, ptr %t0
|
|
%t734 = call i32 @fn_str_eq(ptr %t733, ptr @.str969)
|
|
%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 @.str970)
|
|
%t749 = call ptr @fn_val(ptr %t748, ptr @.str971)
|
|
store ptr %t749, ptr %retval
|
|
br label %ret
|
|
ifend71:
|
|
%t750 = load ptr, ptr %t0
|
|
%t751 = call i32 @fn_str_eq(ptr %t750, ptr @.str972)
|
|
%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 @.str973, ptr %t773)
|
|
%t775 = call ptr @fn_str_concat(ptr %t774, ptr @.str974)
|
|
%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 @.str975, ptr %t782)
|
|
%t784 = call ptr @fn_str_concat(ptr %t783, ptr @.str976)
|
|
%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 @.str977, ptr %t791)
|
|
%t793 = call ptr @fn_str_concat(ptr %t792, ptr @.str978)
|
|
%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 @.str979)
|
|
store ptr %t799, ptr %retval
|
|
br label %ret
|
|
ifend74:
|
|
%t800 = load ptr, ptr %t0
|
|
%t801 = call i32 @fn_str_eq(ptr %t800, ptr @.str980)
|
|
%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 @.str981, ptr %t832)
|
|
%t834 = call ptr @fn_str_concat(ptr %t833, ptr @.str982)
|
|
%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 @.str983, ptr %t843)
|
|
%t845 = call ptr @fn_str_concat(ptr %t844, ptr @.str984)
|
|
%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 @.str985, ptr %t852)
|
|
%t854 = call ptr @fn_str_concat(ptr %t853, ptr @.str986)
|
|
%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 @.str987, ptr %t859)
|
|
%t861 = call ptr @fn_str_concat(ptr %t860, ptr @.str988)
|
|
%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 @.str989, ptr %t866)
|
|
%t868 = call ptr @fn_str_concat(ptr %t867, ptr @.str990)
|
|
%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 @.str991, ptr %t875)
|
|
%t877 = call ptr @fn_str_concat(ptr %t876, ptr @.str992)
|
|
%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 @.str993)
|
|
store ptr %t881, ptr %retval
|
|
br label %ret
|
|
ifend77:
|
|
%t882 = load ptr, ptr %t0
|
|
%t883 = call i32 @fn_str_eq(ptr %t882, ptr @.str994)
|
|
%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 @.str995, ptr %t905)
|
|
%t907 = call ptr @fn_str_concat(ptr %t906, ptr @.str996)
|
|
%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 @.str997, ptr %t912)
|
|
%t914 = call ptr @fn_str_concat(ptr %t913, ptr @.str998)
|
|
%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 @.str999, ptr %t919)
|
|
%t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str1000)
|
|
%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 @.str1001, ptr %t926)
|
|
%t928 = call ptr @fn_str_concat(ptr %t927, ptr @.str1002)
|
|
%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 @.str1003, ptr %t933)
|
|
%t935 = call ptr @fn_str_concat(ptr %t934, ptr @.str1004)
|
|
%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 @.str1005, 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 @.str1006, ptr %t946)
|
|
%t948 = call ptr @fn_str_concat(ptr %t947, ptr @.str1007)
|
|
%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 @.str1008, ptr %t951)
|
|
%t953 = call ptr @fn_str_concat(ptr %t952, ptr @.str1009)
|
|
%t954 = load ptr, ptr %t945
|
|
%t955 = call ptr @fn_str_concat(ptr %t953, ptr %t954)
|
|
%t956 = call ptr @fn_str_concat(ptr %t955, ptr @.str1010)
|
|
%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 @.str1011, ptr %t963)
|
|
%t965 = call ptr @fn_str_concat(ptr %t964, ptr @.str1012)
|
|
%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 @.str1013)
|
|
store ptr %t969, ptr %retval
|
|
br label %ret
|
|
ifend80:
|
|
%t970 = load ptr, ptr %t0
|
|
%t971 = call i32 @fn_str_eq(ptr %t970, ptr @.str1014)
|
|
%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 @.str1015, ptr %t999)
|
|
%t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str1016)
|
|
%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 @.str1017, ptr %t1004)
|
|
%t1006 = call ptr @fn_str_concat(ptr %t1005, ptr @.str1018)
|
|
%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 @.str1019, ptr %t1009)
|
|
%t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str1020)
|
|
%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 @.str1021)
|
|
store ptr %t1017, ptr %retval
|
|
br label %ret
|
|
ifend83:
|
|
%t1018 = load ptr, ptr %t0
|
|
%t1019 = call i32 @fn_str_eq(ptr %t1018, ptr @.str1022)
|
|
%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 @.str1023, ptr %t1050)
|
|
%t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str1024)
|
|
%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 @.str1025, 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 @.str1026, ptr %t1063)
|
|
%t1065 = call ptr @fn_str_concat(ptr %t1064, ptr @.str1027)
|
|
%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 @.str1028, ptr %t1068)
|
|
%t1070 = call ptr @fn_str_concat(ptr %t1069, ptr @.str1029)
|
|
%t1071 = load ptr, ptr %t1062
|
|
%t1072 = call ptr @fn_str_concat(ptr %t1070, ptr %t1071)
|
|
%t1073 = call ptr @fn_str_concat(ptr %t1072, ptr @.str1030)
|
|
%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 @.str1031, ptr %t1078)
|
|
%t1080 = call ptr @fn_str_concat(ptr %t1079, ptr @.str1032)
|
|
%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 @.str1033, ptr %t1083)
|
|
%t1085 = call ptr @fn_str_concat(ptr %t1084, ptr @.str1034)
|
|
%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 @.str1035, ptr %t1088)
|
|
%t1090 = call ptr @fn_str_concat(ptr %t1089, ptr @.str1036)
|
|
%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 @.str1037, ptr %t1093)
|
|
%t1095 = call ptr @fn_str_concat(ptr %t1094, ptr @.str1038)
|
|
%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 @.str1039, ptr %t1100)
|
|
%t1102 = call ptr @fn_str_concat(ptr %t1101, ptr @.str1040)
|
|
%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 @.str1041, ptr %t1111)
|
|
%t1113 = call ptr @fn_str_concat(ptr %t1112, ptr @.str1042)
|
|
%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 @.str1043, ptr %t1118)
|
|
%t1120 = call ptr @fn_str_concat(ptr %t1119, ptr @.str1044)
|
|
%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 @.str1045, ptr %t1127)
|
|
%t1129 = call ptr @fn_str_concat(ptr %t1128, ptr @.str1046)
|
|
%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 @.str1047)
|
|
%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 @.str1048)
|
|
store ptr %t1138, ptr %retval
|
|
br label %ret
|
|
ifend86:
|
|
%t1139 = load ptr, ptr %t0
|
|
%t1140 = call i32 @fn_str_eq(ptr %t1139, ptr @.str1049)
|
|
%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 @.str1050, ptr %t1180)
|
|
%t1182 = call ptr @fn_str_concat(ptr %t1181, ptr @.str1051)
|
|
%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 @.str1052, ptr %t1185)
|
|
%t1187 = call ptr @fn_str_concat(ptr %t1186, ptr @.str1053)
|
|
%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 @.str1054, ptr %t1192)
|
|
%t1194 = call ptr @fn_str_concat(ptr %t1193, ptr @.str1055)
|
|
%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 @.str1056, ptr %t1197)
|
|
%t1199 = call ptr @fn_str_concat(ptr %t1198, ptr @.str1057)
|
|
%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 @.str1058, ptr %t1204)
|
|
%t1206 = call ptr @fn_str_concat(ptr %t1205, ptr @.str1059)
|
|
%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 @.str1060, 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 @.str1061)
|
|
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 @.str1062)
|
|
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 @.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)
|
|
call void @fn_emith(ptr @.str1118)
|
|
call void @fn_emith(ptr @.str1119)
|
|
call void @fn_emith(ptr @.str1120)
|
|
call void @fn_emith(ptr @.str1121)
|
|
call void @fn_emith(ptr @.str1122)
|
|
call void @fn_emith(ptr @.str1123)
|
|
call void @fn_emith(ptr @.str1124)
|
|
call void @fn_emith(ptr @.str1125)
|
|
call void @fn_emith(ptr @.str1126)
|
|
call void @fn_emith(ptr @.str1127)
|
|
call void @fn_emith(ptr @.str1128)
|
|
call void @fn_emith(ptr @.str1129)
|
|
call void @fn_emith(ptr @.str1130)
|
|
call void @fn_emith(ptr @.str1131)
|
|
call void @fn_emith(ptr @.str1132)
|
|
call void @fn_emith(ptr @.str1133)
|
|
call void @fn_emith(ptr @.str1134)
|
|
call void @fn_emith(ptr @.str1135)
|
|
call void @fn_emith(ptr @.str1136)
|
|
call void @fn_emith(ptr @.str1137)
|
|
call void @fn_emith(ptr @.str1138)
|
|
call void @fn_emith(ptr @.str1139)
|
|
call void @fn_emith(ptr @.str1140)
|
|
call void @fn_emith(ptr @.str1141)
|
|
call void @fn_emith(ptr @.str1142)
|
|
call void @fn_emith(ptr @.str1143)
|
|
call void @fn_emith(ptr @.str1144)
|
|
call void @fn_emith(ptr @.str1145)
|
|
call void @fn_emith(ptr @.str1146)
|
|
call void @fn_emith(ptr @.str1147)
|
|
call void @fn_emith(ptr @.str1148)
|
|
call void @fn_emith(ptr @.str1149)
|
|
call void @fn_emith(ptr @.str1150)
|
|
call void @fn_emith(ptr @.str1151)
|
|
call void @fn_emith(ptr @.str1152)
|
|
call void @fn_emith(ptr @.str1153)
|
|
call void @fn_emith(ptr @.str1154)
|
|
call void @fn_emith(ptr @.str1155)
|
|
call void @fn_emith(ptr @.str1156)
|
|
call void @fn_emith(ptr @.str1157)
|
|
call void @fn_emith(ptr @.str1158)
|
|
call void @fn_emith(ptr @.str1159)
|
|
call void @fn_emith(ptr @.str1160)
|
|
call void @fn_emith(ptr @.str1161)
|
|
call void @fn_emith(ptr @.str1162)
|
|
call void @fn_emith(ptr @.str1163)
|
|
call void @fn_emith(ptr @.str1164)
|
|
call void @fn_emith(ptr @.str1165)
|
|
call void @fn_emith(ptr @.str1166)
|
|
call void @fn_emith(ptr @.str1167)
|
|
call void @fn_emith(ptr @.str1168)
|
|
call void @fn_emith(ptr @.str1169)
|
|
call void @fn_emith(ptr @.str1170)
|
|
call void @fn_emith(ptr @.str1171)
|
|
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 @.str1172, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1173)
|
|
%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 @.str1174, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1175)
|
|
%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 @.str1176, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1177)
|
|
%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 @.str1178, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1179)
|
|
%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 @.str1180, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1181)
|
|
%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 @.str1182, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1183)
|
|
%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 @.str1184, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1185)
|
|
%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 @.str1186)
|
|
%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 @.str1187)
|
|
%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 @.str1188)
|
|
%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 @.str1189)
|
|
%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 @.str1190)
|
|
%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 @.str1191)
|
|
%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 @.str1192)
|
|
%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 @.str1193)
|
|
%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 @.str1194)
|
|
%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 @.str1195)
|
|
%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 @.str1196)
|
|
%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 @.str1197)
|
|
%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 @.str1198)
|
|
%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 @.str1199)
|
|
%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 @.str1200)
|
|
%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 @.str1201)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = call ptr @fn_val(ptr @.str1202, ptr @.str1203)
|
|
store ptr %t5, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1204)
|
|
%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 @.str1205)
|
|
store ptr %t34, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t35 = load ptr, ptr %t0
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1206)
|
|
%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 @.str1207)
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1208)
|
|
%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 @.str1209)
|
|
store ptr %t68, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t69 = load ptr, ptr %t0
|
|
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1210)
|
|
%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 @.str1211, ptr %t110)
|
|
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1212)
|
|
%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 @.str1213, ptr %t117)
|
|
%t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str1214)
|
|
%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 @.str1215)
|
|
store ptr %t127, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t128 = load ptr, ptr %t0
|
|
%t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str1216)
|
|
%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 @.str1217, ptr %t169)
|
|
%t171 = call ptr @fn_str_concat(ptr %t170, ptr @.str1218)
|
|
%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 @.str1219, ptr %t176)
|
|
%t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str1220)
|
|
%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 @.str1221)
|
|
store ptr %t186, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t187 = load ptr, ptr %t0
|
|
%t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1222)
|
|
%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 @.str1223)
|
|
store ptr %t233, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t234 = load ptr, ptr %t0
|
|
%t235 = call i32 @fn_str_eq(ptr %t234, ptr @.str1224)
|
|
%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 @.str1225, ptr %t283)
|
|
%t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str1226)
|
|
%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 @.str1227)
|
|
store ptr %t289, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t290 = load ptr, ptr %t0
|
|
%t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str1228)
|
|
%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 @.str1229, ptr %t320)
|
|
%t322 = call ptr @fn_str_concat(ptr %t321, ptr @.str1230)
|
|
%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 @.str1231, ptr %t327)
|
|
%t329 = call ptr @fn_str_concat(ptr %t328, ptr @.str1232)
|
|
%t330 = call ptr @fn_emit_bind(ptr %t329)
|
|
%t331 = call ptr @fn_val(ptr %t330, ptr @.str1233)
|
|
store ptr %t331, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t332 = load ptr, ptr %t0
|
|
%t333 = call i32 @fn_str_eq(ptr %t332, ptr @.str1234)
|
|
%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 @.str1235, ptr %t373)
|
|
%t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1236)
|
|
%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 @.str1237, ptr %t380)
|
|
%t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1238)
|
|
%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 @.str1239, ptr %t395)
|
|
%t397 = call ptr @fn_str_concat(ptr %t396, ptr @.str1240)
|
|
%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 @.str1241, ptr %t402)
|
|
%t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str1242)
|
|
%t405 = call ptr @fn_emit_bind(ptr %t404)
|
|
%t406 = call ptr @fn_val(ptr %t405, ptr @.str1243)
|
|
store ptr %t406, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t407 = load ptr, ptr %t0
|
|
%t408 = call i32 @fn_str_eq(ptr %t407, ptr @.str1244)
|
|
%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 @.str1245, ptr %t437)
|
|
%t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str1246)
|
|
%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 @.str1247, ptr %t444)
|
|
%t446 = call ptr @fn_str_concat(ptr %t445, ptr @.str1248)
|
|
%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 @.str1249, ptr %t449)
|
|
%t451 = call ptr @fn_str_concat(ptr %t450, ptr @.str1250)
|
|
%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 @.str1251, ptr %t454)
|
|
%t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str1252)
|
|
%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 @.str1253, 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 @.str1254)
|
|
store ptr %t475, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t476 = load ptr, ptr %t0
|
|
%t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1255)
|
|
%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 @.str1256, ptr %t499)
|
|
%t501 = call ptr @fn_str_concat(ptr %t500, ptr @.str1257)
|
|
%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 @.str1258, ptr %t506)
|
|
%t508 = call ptr @fn_str_concat(ptr %t507, ptr @.str1259)
|
|
%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 @.str1260, ptr %t511)
|
|
%t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str1261)
|
|
%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 @.str1262, ptr %t542)
|
|
%t544 = call ptr @fn_str_concat(ptr %t543, ptr @.str1263)
|
|
%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 @.str1264, ptr %t549)
|
|
%t551 = call ptr @fn_str_concat(ptr %t550, ptr @.str1265)
|
|
%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 @.str1266)
|
|
store ptr %t559, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t560 = load ptr, ptr %t0
|
|
%t561 = call i32 @fn_str_eq(ptr %t560, ptr @.str1267)
|
|
%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 @.str1268, ptr %t582)
|
|
%t584 = call ptr @fn_str_concat(ptr %t583, ptr @.str1269)
|
|
%t585 = load ptr, ptr %t576
|
|
%t586 = call ptr @fn_str_concat(ptr %t584, ptr %t585)
|
|
%t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str1270)
|
|
%t588 = call ptr @fn_emit_bind(ptr %t587)
|
|
%t589 = call ptr @fn_val(ptr %t588, ptr @.str1271)
|
|
store ptr %t589, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t590 = load ptr, ptr %t0
|
|
%t591 = call i32 @fn_str_eq(ptr %t590, ptr @.str1272)
|
|
%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 @.str1273, ptr %t604)
|
|
%t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1274)
|
|
%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 @.str1275, ptr %t611)
|
|
%t613 = call ptr @fn_str_concat(ptr %t612, ptr @.str1276)
|
|
%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 @.str1277, ptr %t616)
|
|
%t618 = call ptr @fn_str_concat(ptr %t617, ptr @.str1278)
|
|
%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 @.str1279)
|
|
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 @.str1280)
|
|
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 @.str1281)
|
|
%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 @.str1282)
|
|
%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 @.str1283)
|
|
%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 @.str1284)
|
|
%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 @.str1285)
|
|
%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 @.str1286)
|
|
%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 @.str1287)
|
|
%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 @.str1288)
|
|
%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 @.str1289)
|
|
%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 @.str1290)
|
|
%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 @.str1291)
|
|
%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 @.str1292)
|
|
%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 @.str1293)
|
|
%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 @.str1294)
|
|
%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 @.str1295)
|
|
%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 @.str1296)
|
|
%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 @.str1297)
|
|
%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 @.str1298)
|
|
%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 @.str1299)
|
|
%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 @.str1300)
|
|
%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 @.str1301)
|
|
%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 @.str1302, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1303)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str1304)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str1305)
|
|
%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 @.str1306, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1307)
|
|
%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 @.str1308)
|
|
%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 @.str1309)
|
|
%t66 = call ptr @fn_emit_bind(ptr %t65)
|
|
%t67 = call ptr @fn_val(ptr %t66, ptr @.str1310)
|
|
store ptr %t67, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1311)
|
|
%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 @.str1312, ptr %t91)
|
|
%t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str1313)
|
|
%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 @.str1314)
|
|
%t99 = call ptr @fn_emit_bind(ptr %t98)
|
|
%t100 = call ptr @fn_val(ptr %t99, ptr @.str1315)
|
|
store ptr %t100, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1316)
|
|
%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 @.str1317, ptr %t124)
|
|
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str1318)
|
|
%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 @.str1319)
|
|
%t132 = call ptr @fn_emit_bind(ptr %t131)
|
|
%t133 = call ptr @fn_val(ptr %t132, ptr @.str1320)
|
|
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 @.str1321)
|
|
%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 @.str1322, ptr %t148)
|
|
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str1323)
|
|
%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 @.str1324, ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str1325)
|
|
%t156 = call ptr @fn_emit_bind(ptr %t155)
|
|
%t157 = call ptr @fn_val(ptr %t156, ptr @.str1326)
|
|
store ptr %t157, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t158 = load ptr, ptr %t0
|
|
%t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str1327)
|
|
%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 @.str1328, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str1329)
|
|
%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 @.str1330, 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 @.str1331, ptr %t185)
|
|
%t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str1332)
|
|
%t188 = call ptr @fn_emit_bind(ptr %t187)
|
|
%t189 = call ptr @fn_val(ptr %t188, ptr @.str1333)
|
|
store ptr %t189, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t190 = load ptr, ptr %t0
|
|
%t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str1334)
|
|
%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 @.str1335, ptr %t195)
|
|
%t197 = call ptr @fn_str_concat(ptr %t196, ptr @.str1336)
|
|
%t198 = call ptr @fn_emit_bind(ptr %t197)
|
|
%t199 = call ptr @fn_val(ptr %t198, ptr @.str1337)
|
|
store ptr %t199, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t200 = load ptr, ptr %t0
|
|
%t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str1338)
|
|
%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 @.str1339, ptr %t205)
|
|
%t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str1340)
|
|
%t208 = call ptr @fn_emit_bind(ptr %t207)
|
|
%t209 = call ptr @fn_val(ptr %t208, ptr @.str1341)
|
|
store ptr %t209, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t210 = load ptr, ptr %t0
|
|
%t211 = call i32 @fn_str_eq(ptr %t210, ptr @.str1342)
|
|
%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 @.str1343, ptr %t215)
|
|
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str1344)
|
|
%t218 = call ptr @fn_emit_bind(ptr %t217)
|
|
%t219 = call ptr @fn_val(ptr %t218, ptr @.str1345)
|
|
store ptr %t219, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t220 = load ptr, ptr %t0
|
|
%t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str1346)
|
|
%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 @.str1347, ptr %t225)
|
|
%t227 = call ptr @fn_str_concat(ptr %t226, ptr @.str1348)
|
|
%t228 = call ptr @fn_emit_bind(ptr %t227)
|
|
%t229 = call ptr @fn_val(ptr %t228, ptr @.str1349)
|
|
store ptr %t229, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t230 = load ptr, ptr %t0
|
|
%t231 = call i32 @fn_str_eq(ptr %t230, ptr @.str1350)
|
|
%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 @.str1351, ptr %t244)
|
|
%t246 = call ptr @fn_str_concat(ptr %t245, ptr @.str1352)
|
|
%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 @.str1353)
|
|
%t252 = call ptr @fn_emit_bind(ptr %t251)
|
|
%t253 = call ptr @fn_val(ptr %t252, ptr @.str1354)
|
|
store ptr %t253, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t254 = load ptr, ptr %t0
|
|
%t255 = call i32 @fn_str_eq(ptr %t254, ptr @.str1355)
|
|
%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 @.str1356, ptr %t268)
|
|
%t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str1357)
|
|
%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 @.str1358)
|
|
%t276 = call ptr @fn_emit_bind(ptr %t275)
|
|
%t277 = call ptr @fn_val(ptr %t276, ptr @.str1359)
|
|
store ptr %t277, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t278 = load ptr, ptr %t0
|
|
%t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str1360)
|
|
%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 @.str1361, ptr %t292)
|
|
%t294 = call ptr @fn_str_concat(ptr %t293, ptr @.str1362)
|
|
%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 @.str1363)
|
|
%t300 = call ptr @fn_emit_bind(ptr %t299)
|
|
%t301 = call ptr @fn_val(ptr %t300, ptr @.str1364)
|
|
store ptr %t301, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t302 = load ptr, ptr %t0
|
|
%t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str1365)
|
|
%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 @.str1366, ptr %t325)
|
|
%t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str1367)
|
|
%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 @.str1368)
|
|
%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 @.str1369)
|
|
%t338 = call ptr @fn_emit_bind(ptr %t337)
|
|
%t339 = call ptr @fn_val(ptr %t338, ptr @.str1370)
|
|
store ptr %t339, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t340 = load ptr, ptr %t0
|
|
%t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str1371)
|
|
%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 @.str1372, ptr %t354)
|
|
%t356 = call ptr @fn_str_concat(ptr %t355, ptr @.str1373)
|
|
%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 @.str1374)
|
|
%t362 = call ptr @fn_emit_bind(ptr %t361)
|
|
%t363 = call ptr @fn_val(ptr %t362, ptr @.str1375)
|
|
store ptr %t363, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t364 = load ptr, ptr %t0
|
|
%t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str1376)
|
|
%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 @.str1377, ptr %t378)
|
|
%t380 = call ptr @fn_str_concat(ptr %t379, ptr @.str1378)
|
|
%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 @.str1379)
|
|
%t386 = call ptr @fn_emit_bind(ptr %t385)
|
|
%t387 = call ptr @fn_val(ptr %t386, ptr @.str1380)
|
|
store ptr %t387, ptr %retval
|
|
br label %ret
|
|
ifend47:
|
|
%t389 = load ptr, ptr %t0
|
|
%t390 = call i32 @fn_str_eq(ptr %t389, ptr @.str1381)
|
|
%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 @.str1382)
|
|
%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 @.str1383, ptr %t410)
|
|
%t412 = call ptr @fn_str_concat(ptr %t411, ptr @.str1384)
|
|
%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 @.str1385)
|
|
%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 @.str1386)
|
|
%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 @.str1387, ptr %t423)
|
|
%t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str1388)
|
|
%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 @.str1389, ptr %t428)
|
|
%t430 = call ptr @fn_str_concat(ptr %t429, ptr @.str1390)
|
|
%t431 = call ptr @fn_emit_bind(ptr %t430)
|
|
%t432 = call ptr @fn_val(ptr %t431, ptr @.str1391)
|
|
store ptr %t432, ptr %retval
|
|
br label %ret
|
|
ifend55:
|
|
%t433 = load ptr, ptr %t419
|
|
%t434 = call ptr @fn_str_concat(ptr @.str1392, ptr %t433)
|
|
%t435 = call ptr @fn_str_concat(ptr %t434, ptr @.str1393)
|
|
%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 @.str1394, ptr %t438)
|
|
%t440 = call ptr @fn_str_concat(ptr %t439, ptr @.str1395)
|
|
%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 @.str1396, ptr %t445)
|
|
%t447 = call ptr @fn_str_concat(ptr %t446, ptr @.str1397)
|
|
%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 @.str1398, ptr %t450)
|
|
%t452 = call ptr @fn_str_concat(ptr %t451, ptr @.str1399)
|
|
%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 @.str1400, ptr %t457)
|
|
%t459 = call ptr @fn_str_concat(ptr %t458, ptr @.str1401)
|
|
%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 @.str1402, ptr %t462)
|
|
%t464 = call ptr @fn_str_concat(ptr %t463, ptr @.str1403)
|
|
%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 @.str1404)
|
|
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 @.str1405, ptr %t480)
|
|
%t482 = call ptr @fn_str_concat(ptr %t481, ptr @.str1406)
|
|
%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 @.str1407)
|
|
%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 @.str1408, ptr %t490)
|
|
%t492 = call ptr @fn_str_concat(ptr %t491, ptr @.str1409)
|
|
%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 @.str1410)
|
|
%t498 = load ptr, ptr %t484
|
|
%t499 = call ptr @fn_str_concat(ptr %t497, ptr %t498)
|
|
%t500 = call ptr @fn_str_concat(ptr %t499, ptr @.str1411)
|
|
%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 @.str1412, ptr %t503)
|
|
%t505 = call ptr @fn_str_concat(ptr %t504, ptr @.str1413)
|
|
%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 @.str1414, ptr %t508)
|
|
%t510 = call ptr @fn_str_concat(ptr %t509, ptr @.str1415)
|
|
%t511 = call ptr @fn_emit_bind(ptr %t510)
|
|
%t512 = call ptr @fn_val(ptr %t511, ptr @.str1416)
|
|
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 @.str1417, ptr %t515)
|
|
%t517 = call ptr @fn_str_concat(ptr %t516, ptr @.str1418)
|
|
%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 @.str1419, ptr %t520)
|
|
%t522 = call ptr @fn_str_concat(ptr %t521, ptr @.str1420)
|
|
%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 @.str1421)
|
|
store ptr %t527, ptr %t528
|
|
%t529 = load ptr, ptr %t528
|
|
call void @fn_store_at(ptr @.str1422, ptr @.str1423, ptr %t529)
|
|
%t530 = load ptr, ptr %t526
|
|
%t531 = call ptr @fn_str_concat(ptr @.str1424, ptr %t530)
|
|
%t532 = call ptr @fn_str_concat(ptr %t531, ptr @.str1425)
|
|
%t533 = call ptr @fn_emit_bind(ptr %t532)
|
|
store ptr %t533, ptr %t534
|
|
%t535 = call ptr @fn_lbl(ptr @.str1426)
|
|
store ptr %t535, ptr %t536
|
|
%t537 = call ptr @fn_lbl(ptr @.str1427)
|
|
store ptr %t537, ptr %t538
|
|
call void @fn_emit(ptr @.str1428)
|
|
%t539 = load ptr, ptr %t534
|
|
call void @fn_emit(ptr %t539)
|
|
call void @fn_emit(ptr @.str1429)
|
|
%t540 = load ptr, ptr %t538
|
|
call void @fn_emit(ptr %t540)
|
|
call void @fn_emit(ptr @.str1430)
|
|
%t541 = load ptr, ptr %t536
|
|
call void @fn_emit(ptr %t541)
|
|
call void @fn_emit(ptr @.str1431)
|
|
%t542 = load ptr, ptr %t536
|
|
call void @fn_emit(ptr %t542)
|
|
call void @fn_emit(ptr @.str1432)
|
|
%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 @.str1433, ptr %t545)
|
|
%t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str1434)
|
|
%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 @.str1435, ptr %t552)
|
|
%t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str1436)
|
|
%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 @.str1437)
|
|
%t560 = load ptr, ptr %t484
|
|
%t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560)
|
|
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str1438)
|
|
%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 @.str1439, ptr %t565)
|
|
%t567 = call ptr @fn_str_concat(ptr %t566, ptr @.str1440)
|
|
%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 @.str1441, ptr %t570)
|
|
%t572 = call ptr @fn_str_concat(ptr %t571, ptr @.str1442)
|
|
%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 @.str1443, ptr %t575, ptr %t576)
|
|
call void @fn_emit(ptr @.str1444)
|
|
%t577 = load ptr, ptr %t538
|
|
call void @fn_emit(ptr %t577)
|
|
call void @fn_emit(ptr @.str1445)
|
|
%t578 = load ptr, ptr %t538
|
|
call void @fn_emit(ptr %t578)
|
|
call void @fn_emit(ptr @.str1446)
|
|
%t579 = load ptr, ptr %t528
|
|
%t580 = call ptr @fn_str_concat(ptr @.str1447, ptr %t579)
|
|
%t581 = call ptr @fn_emit_bind(ptr %t580)
|
|
%t582 = call ptr @fn_val(ptr %t581, ptr @.str1448)
|
|
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 @.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)
|
|
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)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_text2_prelude() {
|
|
entry:
|
|
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)
|
|
call void @fn_emith(ptr @.str1804)
|
|
call void @fn_emith(ptr @.str1805)
|
|
call void @fn_emith(ptr @.str1806)
|
|
call void @fn_emith(ptr @.str1807)
|
|
call void @fn_emith(ptr @.str1808)
|
|
call void @fn_emith(ptr @.str1809)
|
|
call void @fn_emith(ptr @.str1810)
|
|
call void @fn_emith(ptr @.str1811)
|
|
call void @fn_emith(ptr @.str1812)
|
|
call void @fn_emith(ptr @.str1813)
|
|
call void @fn_emith(ptr @.str1814)
|
|
call void @fn_emith(ptr @.str1815)
|
|
call void @fn_emith(ptr @.str1816)
|
|
call void @fn_emith(ptr @.str1817)
|
|
call void @fn_emith(ptr @.str1818)
|
|
call void @fn_emith(ptr @.str1819)
|
|
call void @fn_emith(ptr @.str1820)
|
|
call void @fn_emith(ptr @.str1821)
|
|
call void @fn_emith(ptr @.str1822)
|
|
call void @fn_emith(ptr @.str1823)
|
|
call void @fn_emith(ptr @.str1824)
|
|
call void @fn_emith(ptr @.str1825)
|
|
call void @fn_emith(ptr @.str1826)
|
|
call void @fn_emith(ptr @.str1827)
|
|
call void @fn_emith(ptr @.str1828)
|
|
call void @fn_emith(ptr @.str1829)
|
|
call void @fn_emith(ptr @.str1830)
|
|
call void @fn_emith(ptr @.str1831)
|
|
call void @fn_emith(ptr @.str1832)
|
|
call void @fn_emith(ptr @.str1833)
|
|
call void @fn_emith(ptr @.str1834)
|
|
call void @fn_emith(ptr @.str1835)
|
|
call void @fn_emith(ptr @.str1836)
|
|
call void @fn_emith(ptr @.str1837)
|
|
call void @fn_emith(ptr @.str1838)
|
|
call void @fn_emith(ptr @.str1839)
|
|
call void @fn_emith(ptr @.str1840)
|
|
call void @fn_emith(ptr @.str1841)
|
|
call void @fn_emith(ptr @.str1842)
|
|
call void @fn_emith(ptr @.str1843)
|
|
call void @fn_emith(ptr @.str1844)
|
|
call void @fn_emith(ptr @.str1845)
|
|
call void @fn_emith(ptr @.str1846)
|
|
call void @fn_emith(ptr @.str1847)
|
|
call void @fn_emith(ptr @.str1848)
|
|
call void @fn_emith(ptr @.str1849)
|
|
call void @fn_emith(ptr @.str1850)
|
|
call void @fn_emith(ptr @.str1851)
|
|
call void @fn_emith(ptr @.str1852)
|
|
call void @fn_emith(ptr @.str1853)
|
|
call void @fn_emith(ptr @.str1854)
|
|
call void @fn_emith(ptr @.str1855)
|
|
call void @fn_emith(ptr @.str1856)
|
|
call void @fn_emith(ptr @.str1857)
|
|
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 @.str1858)
|
|
%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 @.str1859)
|
|
%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 @.str1860)
|
|
%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 @.str1861)
|
|
%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 @.str1862)
|
|
%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 @.str1863)
|
|
%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 @.str1864)
|
|
%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 @.str1865)
|
|
%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 @.str1866, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1867)
|
|
%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 @.str1868, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1869)
|
|
%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 @.str1870, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1871)
|
|
%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 @.str1872, ptr %t18)
|
|
%t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str1873)
|
|
%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 @.str1874, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str1875)
|
|
%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 @.str1876, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1877)
|
|
%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 @.str1878, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str1879)
|
|
%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 @.str1880, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str1881)
|
|
%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 @.str1882, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1883)
|
|
%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 @.str1884, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1885)
|
|
%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 @.str1886, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1887)
|
|
%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 @.str1888, ptr %t18)
|
|
%t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str1889)
|
|
%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 @.str1890, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str1891)
|
|
%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 @.str1892, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1893)
|
|
%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 @.str1894, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str1895)
|
|
%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 @.str1896, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str1897)
|
|
%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 @.str1898)
|
|
%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 @.str1899)
|
|
%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 @.str1900, ptr %t24)
|
|
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1901)
|
|
%t27 = call ptr @fn_emit_bind(ptr %t26)
|
|
%t28 = call ptr @fn_val(ptr %t27, ptr @.str1902)
|
|
store ptr %t28, ptr %retval
|
|
br label %ret
|
|
ifend4:
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str1903)
|
|
%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 @.str1904)
|
|
%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 @.str1905, ptr %t51)
|
|
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str1906)
|
|
%t54 = call ptr @fn_emit_bind(ptr %t53)
|
|
%t55 = call ptr @fn_val(ptr %t54, ptr @.str1907)
|
|
store ptr %t55, ptr %retval
|
|
br label %ret
|
|
ifend9:
|
|
%t56 = load ptr, ptr %t0
|
|
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str1908)
|
|
%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 @.str1909)
|
|
store ptr %t71, ptr %retval
|
|
br label %ret
|
|
ifend12:
|
|
%t72 = load ptr, ptr %t0
|
|
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1910)
|
|
%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 @.str1911, ptr %t86)
|
|
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str1912)
|
|
%t89 = call ptr @fn_emit_bind(ptr %t88)
|
|
%t90 = call ptr @fn_val(ptr %t89, ptr @.str1913)
|
|
store ptr %t90, ptr %retval
|
|
br label %ret
|
|
ifend15:
|
|
%t91 = load ptr, ptr %t0
|
|
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str1914)
|
|
%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 @.str1915)
|
|
store ptr %t107, ptr %retval
|
|
br label %ret
|
|
ifend18:
|
|
store ptr @.str1916, 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 @.str1917, ptr %t131)
|
|
%t133 = call ptr @fn_str_concat(ptr %t132, ptr @.str1918)
|
|
%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 @.str1919, ptr %t136)
|
|
%t138 = call ptr @fn_str_concat(ptr %t137, ptr @.str1920)
|
|
%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 @.str1921, ptr %t141)
|
|
%t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str1922)
|
|
%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 @.str1923, ptr %t146)
|
|
%t148 = call ptr @fn_str_concat(ptr %t147, ptr @.str1924)
|
|
%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 @.str1925, ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str1926)
|
|
%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 @.str1927, ptr %t160)
|
|
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str1928)
|
|
%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 @.str1929)
|
|
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 @.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)
|
|
call void @fn_emith(ptr @.str1973)
|
|
call void @fn_emith(ptr @.str1974)
|
|
call void @fn_emith(ptr @.str1975)
|
|
call void @fn_emith(ptr @.str1976)
|
|
call void @fn_emith(ptr @.str1977)
|
|
call void @fn_emith(ptr @.str1978)
|
|
call void @fn_emith(ptr @.str1979)
|
|
call void @fn_emith(ptr @.str1980)
|
|
call void @fn_emith(ptr @.str1981)
|
|
call void @fn_emith(ptr @.str1982)
|
|
call void @fn_emith(ptr @.str1983)
|
|
call void @fn_emith(ptr @.str1984)
|
|
call void @fn_emith(ptr @.str1985)
|
|
call void @fn_emith(ptr @.str1986)
|
|
call void @fn_emith(ptr @.str1987)
|
|
call void @fn_emith(ptr @.str1988)
|
|
call void @fn_emith(ptr @.str1989)
|
|
call void @fn_emith(ptr @.str1990)
|
|
call void @fn_emith(ptr @.str1991)
|
|
call void @fn_emith(ptr @.str1992)
|
|
call void @fn_emith(ptr @.str1993)
|
|
call void @fn_emith(ptr @.str1994)
|
|
call void @fn_emith(ptr @.str1995)
|
|
call void @fn_emith(ptr @.str1996)
|
|
call void @fn_emith(ptr @.str1997)
|
|
call void @fn_emith(ptr @.str1998)
|
|
call void @fn_emith(ptr @.str1999)
|
|
call void @fn_emith(ptr @.str2000)
|
|
call void @fn_emith(ptr @.str2001)
|
|
call void @fn_emith(ptr @.str2002)
|
|
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)
|
|
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
|
|
%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 @.str2027)
|
|
%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 @.str2028)
|
|
%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 @.str2029)
|
|
%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 @.str2030)
|
|
%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 @.str2031)
|
|
%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 @.str2032)
|
|
%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 @.str2033)
|
|
%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 @.str2034)
|
|
%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:
|
|
%t50 = load ptr, ptr %t0
|
|
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str2035)
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then19, label %ifend21
|
|
then19:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend21:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t53 = load i32, ptr %retval
|
|
ret i32 %t53
|
|
}
|
|
|
|
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
|
|
%t106 = alloca i32
|
|
%t125 = alloca ptr
|
|
%t132 = alloca ptr
|
|
%t154 = alloca ptr
|
|
%t170 = alloca ptr
|
|
%t179 = alloca ptr
|
|
%t188 = alloca ptr
|
|
%t200 = 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 @.str2036)
|
|
%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 @.str2037, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2038)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str2039)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2040)
|
|
%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 @.str2041, ptr %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2042)
|
|
%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 @.str2043)
|
|
%t52 = call ptr @fn_emit_bind(ptr %t51)
|
|
%t53 = call ptr @fn_val(ptr %t52, ptr @.str2044)
|
|
store ptr %t53, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t54 = load ptr, ptr %t0
|
|
%t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str2045)
|
|
%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 @.str2046, ptr %t68)
|
|
%t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str2047)
|
|
%t71 = call ptr @fn_emit_bind(ptr %t70)
|
|
%t72 = call ptr @fn_val(ptr %t71, ptr @.str2048)
|
|
store ptr %t72, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2049)
|
|
%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 @.str2050, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2051)
|
|
%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 @.str2052)
|
|
%t104 = call ptr @fn_emit_bind(ptr %t103)
|
|
%t105 = call ptr @fn_val(ptr %t104, ptr @.str2053)
|
|
store ptr %t105, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t107 = load ptr, ptr %t0
|
|
%t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str2054)
|
|
%t109 = icmp ne i32 %t108, 0
|
|
%t110 = zext i1 %t109 to i32
|
|
store i32 %t110, ptr %t106
|
|
br i1 %t109, label %scend13, label %sc12
|
|
sc12:
|
|
%t111 = load ptr, ptr %t0
|
|
%t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str2055)
|
|
%t113 = icmp ne i32 %t112, 0
|
|
%t114 = zext i1 %t113 to i32
|
|
store i32 %t114, ptr %t106
|
|
br label %scend13
|
|
scend13:
|
|
%t115 = load i32, ptr %t106
|
|
%t116 = icmp ne i32 %t115, 0
|
|
br i1 %t116, label %then14, label %ifend16
|
|
then14:
|
|
%t117 = load ptr, ptr %t1
|
|
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = getelementptr inbounds ptr, ptr %t121, i32 0
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = call ptr @fn_emit_expr(ptr %t123)
|
|
store ptr %t124, ptr %t125
|
|
%t126 = load ptr, ptr %t125
|
|
%t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = call ptr @fn_str_concat(ptr @.str2056, ptr %t128)
|
|
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str2057)
|
|
%t131 = call ptr @fn_emit_bind(ptr %t130)
|
|
store ptr %t131, ptr %t132
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = call ptr @fn_str_concat(ptr @.str2058, ptr %t133)
|
|
%t135 = call ptr @fn_str_concat(ptr %t134, ptr @.str2059)
|
|
%t136 = call ptr @fn_emit_bind(ptr %t135)
|
|
%t137 = call ptr @fn_val(ptr %t136, ptr @.str2060)
|
|
store ptr %t137, ptr %retval
|
|
br label %ret
|
|
ifend16:
|
|
%t138 = load ptr, ptr %t0
|
|
%t139 = call i32 @fn_str_eq(ptr %t138, ptr @.str2061)
|
|
%t140 = icmp ne i32 %t139, 0
|
|
br i1 %t140, label %then17, label %ifend19
|
|
then17:
|
|
%t141 = call ptr @fn_emit_bind(ptr @.str2062)
|
|
%t142 = call ptr @fn_val(ptr %t141, ptr @.str2063)
|
|
store ptr %t142, ptr %retval
|
|
br label %ret
|
|
ifend19:
|
|
%t143 = load ptr, ptr %t0
|
|
%t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str2064)
|
|
%t145 = icmp ne i32 %t144, 0
|
|
br i1 %t145, label %then20, label %ifend22
|
|
then20:
|
|
%t146 = load ptr, ptr %t1
|
|
%t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7
|
|
%t148 = load ptr, ptr %t147
|
|
%t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0
|
|
%t150 = load ptr, ptr %t149
|
|
%t151 = getelementptr inbounds ptr, ptr %t150, i32 0
|
|
%t152 = load ptr, ptr %t151
|
|
%t153 = call ptr @fn_emit_expr(ptr %t152)
|
|
store ptr %t153, ptr %t154
|
|
%t155 = load ptr, ptr %t154
|
|
%t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0
|
|
%t157 = load ptr, ptr %t156
|
|
%t158 = call ptr @fn_str_concat(ptr @.str2065, ptr %t157)
|
|
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2066)
|
|
%t160 = call ptr @fn_emit_bind(ptr %t159)
|
|
%t161 = call ptr @fn_val(ptr %t160, ptr @.str2067)
|
|
store ptr %t161, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
%t162 = load ptr, ptr %t1
|
|
%t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 7
|
|
%t164 = load ptr, ptr %t163
|
|
%t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0
|
|
%t166 = load ptr, ptr %t165
|
|
%t167 = getelementptr inbounds ptr, ptr %t166, i32 0
|
|
%t168 = load ptr, ptr %t167
|
|
%t169 = call ptr @fn_emit_expr(ptr %t168)
|
|
store ptr %t169, ptr %t170
|
|
%t171 = load ptr, ptr %t1
|
|
%t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7
|
|
%t173 = load ptr, ptr %t172
|
|
%t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0
|
|
%t175 = load ptr, ptr %t174
|
|
%t176 = getelementptr inbounds ptr, ptr %t175, i32 1
|
|
%t177 = load ptr, ptr %t176
|
|
%t178 = call ptr @fn_emit_expr(ptr %t177)
|
|
store ptr %t178, ptr %t179
|
|
%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 2
|
|
%t186 = load ptr, ptr %t185
|
|
%t187 = call ptr @fn_emit_expr(ptr %t186)
|
|
store ptr %t187, ptr %t188
|
|
%t189 = load ptr, ptr %t170
|
|
%t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0
|
|
%t191 = load ptr, ptr %t190
|
|
%t192 = call ptr @fn_str_concat(ptr @.str2068, ptr %t191)
|
|
%t193 = call ptr @fn_str_concat(ptr %t192, ptr @.str2069)
|
|
%t194 = load ptr, ptr %t179
|
|
%t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0
|
|
%t196 = load ptr, ptr %t195
|
|
%t197 = call ptr @fn_str_concat(ptr %t193, ptr %t196)
|
|
%t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str2070)
|
|
%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 @.str2071, ptr %t201)
|
|
%t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str2072)
|
|
%t204 = load ptr, ptr %t188
|
|
%t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0
|
|
%t206 = load ptr, ptr %t205
|
|
%t207 = call ptr @fn_str_concat(ptr %t203, ptr %t206)
|
|
%t208 = call ptr @fn_str_concat(ptr %t207, ptr @.str2073)
|
|
%t209 = call ptr @fn_emit_bind(ptr %t208)
|
|
%t210 = call ptr @fn_val(ptr %t209, ptr @.str2074)
|
|
store ptr %t210, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t211 = load ptr, ptr %retval
|
|
ret ptr %t211
|
|
}
|
|
|
|
define void @fn_emit_crypto_prelude() {
|
|
entry:
|
|
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)
|
|
call void @fn_emith(ptr @.str2155)
|
|
call void @fn_emith(ptr @.str2156)
|
|
call void @fn_emith(ptr @.str2157)
|
|
call void @fn_emith(ptr @.str2158)
|
|
call void @fn_emith(ptr @.str2159)
|
|
call void @fn_emith(ptr @.str2160)
|
|
call void @fn_emith(ptr @.str2161)
|
|
call void @fn_emith(ptr @.str2162)
|
|
call void @fn_emith(ptr @.str2163)
|
|
call void @fn_emith(ptr @.str2164)
|
|
call void @fn_emith(ptr @.str2165)
|
|
call void @fn_emith(ptr @.str2166)
|
|
call void @fn_emith(ptr @.str2167)
|
|
call void @fn_emith(ptr @.str2168)
|
|
call void @fn_emith(ptr @.str2169)
|
|
call void @fn_emith(ptr @.str2170)
|
|
call void @fn_emith(ptr @.str2171)
|
|
call void @fn_emith(ptr @.str2172)
|
|
call void @fn_emith(ptr @.str2173)
|
|
call void @fn_emith(ptr @.str2174)
|
|
call void @fn_emith(ptr @.str2175)
|
|
call void @fn_emith(ptr @.str2176)
|
|
call void @fn_emith(ptr @.str2177)
|
|
call void @fn_emith(ptr @.str2178)
|
|
call void @fn_emith(ptr @.str2179)
|
|
call void @fn_emith(ptr @.str2180)
|
|
call void @fn_emith(ptr @.str2181)
|
|
call void @fn_emith(ptr @.str2182)
|
|
call void @fn_emith(ptr @.str2183)
|
|
call void @fn_emith(ptr @.str2184)
|
|
call void @fn_emith(ptr @.str2185)
|
|
call void @fn_emith(ptr @.str2186)
|
|
call void @fn_emith(ptr @.str2187)
|
|
call void @fn_emith(ptr @.str2188)
|
|
call void @fn_emith(ptr @.str2189)
|
|
call void @fn_emith(ptr @.str2190)
|
|
call void @fn_emith(ptr @.str2191)
|
|
call void @fn_emith(ptr @.str2192)
|
|
call void @fn_emith(ptr @.str2193)
|
|
call void @fn_emith(ptr @.str2194)
|
|
call void @fn_emith(ptr @.str2195)
|
|
call void @fn_emith(ptr @.str2196)
|
|
call void @fn_emith(ptr @.str2197)
|
|
call void @fn_emith(ptr @.str2198)
|
|
call void @fn_emith(ptr @.str2199)
|
|
call void @fn_emith(ptr @.str2200)
|
|
call void @fn_emith(ptr @.str2201)
|
|
call void @fn_emith(ptr @.str2202)
|
|
call void @fn_emith(ptr @.str2203)
|
|
call void @fn_emith(ptr @.str2204)
|
|
call void @fn_emith(ptr @.str2205)
|
|
call void @fn_emith(ptr @.str2206)
|
|
call void @fn_emith(ptr @.str2207)
|
|
call void @fn_emith(ptr @.str2208)
|
|
call void @fn_emith(ptr @.str2209)
|
|
call void @fn_emith(ptr @.str2210)
|
|
call void @fn_emith(ptr @.str2211)
|
|
call void @fn_emith(ptr @.str2212)
|
|
call void @fn_emith(ptr @.str2213)
|
|
call void @fn_emith(ptr @.str2214)
|
|
call void @fn_emith(ptr @.str2215)
|
|
call void @fn_emith(ptr @.str2216)
|
|
call void @fn_emith(ptr @.str2217)
|
|
call void @fn_emith(ptr @.str2218)
|
|
call void @fn_emith(ptr @.str2219)
|
|
call void @fn_emith(ptr @.str2220)
|
|
call void @fn_emith(ptr @.str2221)
|
|
call void @fn_emith(ptr @.str2222)
|
|
call void @fn_emith(ptr @.str2223)
|
|
call void @fn_emith(ptr @.str2224)
|
|
call void @fn_emith(ptr @.str2225)
|
|
call void @fn_emith(ptr @.str2226)
|
|
call void @fn_emit_secure_rand_prelude()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_secure_rand_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2227)
|
|
call void @fn_emith(ptr @.str2228)
|
|
call void @fn_emith(ptr @.str2229)
|
|
call void @fn_emith(ptr @.str2230)
|
|
call void @fn_emith(ptr @.str2231)
|
|
call void @fn_emith(ptr @.str2232)
|
|
call void @fn_emith(ptr @.str2233)
|
|
call void @fn_emith(ptr @.str2234)
|
|
call void @fn_emith(ptr @.str2235)
|
|
call void @fn_emith(ptr @.str2236)
|
|
call void @fn_emith(ptr @.str2237)
|
|
call void @fn_emith(ptr @.str2238)
|
|
call void @fn_emith(ptr @.str2239)
|
|
call void @fn_emith(ptr @.str2240)
|
|
call void @fn_emith(ptr @.str2241)
|
|
call void @fn_emith(ptr @.str2242)
|
|
call void @fn_emith(ptr @.str2243)
|
|
call void @fn_emith(ptr @.str2244)
|
|
call void @fn_emith(ptr @.str2245)
|
|
call void @fn_emith(ptr @.str2246)
|
|
call void @fn_emith(ptr @.str2247)
|
|
call void @fn_emith(ptr @.str2248)
|
|
call void @fn_emith(ptr @.str2249)
|
|
call void @fn_emith(ptr @.str2250)
|
|
call void @fn_emith(ptr @.str2251)
|
|
call void @fn_emith(ptr @.str2252)
|
|
call void @fn_emith(ptr @.str2253)
|
|
call void @fn_emith(ptr @.str2254)
|
|
call void @fn_emith(ptr @.str2255)
|
|
call void @fn_emith(ptr @.str2256)
|
|
call void @fn_emith(ptr @.str2257)
|
|
call void @fn_emith(ptr @.str2258)
|
|
call void @fn_emith(ptr @.str2259)
|
|
call void @fn_emith(ptr @.str2260)
|
|
call void @fn_emith(ptr @.str2261)
|
|
call void @fn_emith(ptr @.str2262)
|
|
call void @fn_emith(ptr @.str2263)
|
|
call void @fn_emith(ptr @.str2264)
|
|
call void @fn_emith(ptr @.str2265)
|
|
call void @fn_emith(ptr @.str2266)
|
|
call void @fn_emith(ptr @.str2267)
|
|
call void @fn_emith(ptr @.str2268)
|
|
call void @fn_emith(ptr @.str2269)
|
|
call void @fn_emith(ptr @.str2270)
|
|
call void @fn_emith(ptr @.str2271)
|
|
call void @fn_emith(ptr @.str2272)
|
|
call void @fn_emith(ptr @.str2273)
|
|
call void @fn_emith(ptr @.str2274)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_uuid_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
|
|
store ptr %arg_meth, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str2275)
|
|
%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 @.str2276)
|
|
%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 @.str2277)
|
|
%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 @.str2278)
|
|
%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 @.str2279)
|
|
%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 @.str2280)
|
|
%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 @.str2281)
|
|
%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:
|
|
%t48 = load ptr, ptr %t0
|
|
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str2282)
|
|
%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 @.str2283)
|
|
%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:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t58 = load i32, ptr %retval
|
|
ret i32 %t58
|
|
}
|
|
|
|
define ptr @fn_emit_uuid_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t15 = alloca i32
|
|
%t44 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t79 = alloca ptr
|
|
%t88 = alloca ptr
|
|
%t109 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
store i32 1, ptr @g_g_uses_cryptort
|
|
store i32 1, ptr @g_g_uses_uuidrt
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2284)
|
|
%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 @.str2285)
|
|
%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:
|
|
%t13 = call ptr @fn_emit_bind(ptr @.str2286)
|
|
%t14 = call ptr @fn_val(ptr %t13, ptr @.str2287)
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ifend4:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str2288)
|
|
%t18 = icmp ne i32 %t17, 0
|
|
%t19 = zext i1 %t18 to i32
|
|
store i32 %t19, ptr %t15
|
|
br i1 %t18, label %scend6, label %sc5
|
|
sc5:
|
|
%t20 = load ptr, ptr %t0
|
|
%t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str2289)
|
|
%t22 = icmp ne i32 %t21, 0
|
|
%t23 = zext i1 %t22 to i32
|
|
store i32 %t23, ptr %t15
|
|
br label %scend6
|
|
scend6:
|
|
%t24 = load i32, ptr %t15
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %then7, label %ifend9
|
|
then7:
|
|
%t26 = call ptr @fn_emit_bind(ptr @.str2290)
|
|
%t27 = call ptr @fn_val(ptr %t26, ptr @.str2291)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend9:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str2292)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then10, label %ifend12
|
|
then10:
|
|
%t31 = call ptr @fn_emit_bind(ptr @.str2293)
|
|
%t32 = call ptr @fn_val(ptr %t31, ptr @.str2294)
|
|
store ptr %t32, ptr %retval
|
|
br label %ret
|
|
ifend12:
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2295)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then13, label %ifend15
|
|
then13:
|
|
%t36 = load ptr, ptr %t1
|
|
%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 = getelementptr inbounds ptr, ptr %t40, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = call ptr @fn_emit_expr(ptr %t42)
|
|
store ptr %t43, ptr %t44
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = call ptr @fn_str_concat(ptr @.str2296, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str2297)
|
|
%t50 = call ptr @fn_emit_bind(ptr %t49)
|
|
%t51 = call ptr @fn_val(ptr %t50, ptr @.str2298)
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend15:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2299)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then16, label %ifend18
|
|
then16:
|
|
%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 @.str2300)
|
|
store ptr %t67, ptr %retval
|
|
br label %ret
|
|
ifend18:
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str2301)
|
|
%t70 = icmp ne i32 %t69, 0
|
|
br i1 %t70, label %then19, label %ifend21
|
|
then19:
|
|
%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
|
|
%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 @.str2302, ptr %t91)
|
|
%t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str2303)
|
|
%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 @.str2304)
|
|
%t99 = call ptr @fn_emit_bind(ptr %t98)
|
|
%t100 = call ptr @fn_val(ptr %t99, ptr @.str2305)
|
|
store ptr %t100, ptr %retval
|
|
br label %ret
|
|
ifend21:
|
|
%t101 = load ptr, ptr %t1
|
|
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7
|
|
%t103 = load ptr, ptr %t102
|
|
%t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0
|
|
%t105 = load ptr, ptr %t104
|
|
%t106 = getelementptr inbounds ptr, ptr %t105, i32 0
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = call ptr @fn_emit_expr(ptr %t107)
|
|
store ptr %t108, ptr %t109
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = call ptr @fn_str_concat(ptr @.str2306, ptr %t112)
|
|
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str2307)
|
|
%t115 = call ptr @fn_emit_bind(ptr %t114)
|
|
%t116 = call ptr @fn_val(ptr %t115, ptr @.str2308)
|
|
store ptr %t116, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t117 = load ptr, ptr %retval
|
|
ret ptr %t117
|
|
}
|
|
|
|
define void @fn_emit_uuid_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2309)
|
|
call void @fn_emith(ptr @.str2310)
|
|
call void @fn_emith(ptr @.str2311)
|
|
call void @fn_emith(ptr @.str2312)
|
|
call void @fn_emith(ptr @.str2313)
|
|
call void @fn_emith(ptr @.str2314)
|
|
call void @fn_emith(ptr @.str2315)
|
|
call void @fn_emith(ptr @.str2316)
|
|
call void @fn_emith(ptr @.str2317)
|
|
call void @fn_emith(ptr @.str2318)
|
|
call void @fn_emith(ptr @.str2319)
|
|
call void @fn_emith(ptr @.str2320)
|
|
call void @fn_emith(ptr @.str2321)
|
|
call void @fn_emith(ptr @.str2322)
|
|
call void @fn_emith(ptr @.str2323)
|
|
call void @fn_emith(ptr @.str2324)
|
|
call void @fn_emith(ptr @.str2325)
|
|
call void @fn_emith(ptr @.str2326)
|
|
call void @fn_emith(ptr @.str2327)
|
|
call void @fn_emith(ptr @.str2328)
|
|
call void @fn_emith(ptr @.str2329)
|
|
call void @fn_emith(ptr @.str2330)
|
|
call void @fn_emith(ptr @.str2331)
|
|
call void @fn_emith(ptr @.str2332)
|
|
call void @fn_emith(ptr @.str2333)
|
|
call void @fn_emith(ptr @.str2334)
|
|
call void @fn_emith(ptr @.str2335)
|
|
call void @fn_emith(ptr @.str2336)
|
|
call void @fn_emith(ptr @.str2337)
|
|
call void @fn_emith(ptr @.str2338)
|
|
call void @fn_emith(ptr @.str2339)
|
|
call void @fn_emith(ptr @.str2340)
|
|
call void @fn_emith(ptr @.str2341)
|
|
call void @fn_emith(ptr @.str2342)
|
|
call void @fn_emith(ptr @.str2343)
|
|
call void @fn_emith(ptr @.str2344)
|
|
call void @fn_emith(ptr @.str2345)
|
|
call void @fn_emith(ptr @.str2346)
|
|
call void @fn_emith(ptr @.str2347)
|
|
call void @fn_emith(ptr @.str2348)
|
|
call void @fn_emith(ptr @.str2349)
|
|
call void @fn_emith(ptr @.str2350)
|
|
call void @fn_emith(ptr @.str2351)
|
|
call void @fn_emith(ptr @.str2352)
|
|
call void @fn_emith(ptr @.str2353)
|
|
call void @fn_emith(ptr @.str2354)
|
|
call void @fn_emith(ptr @.str2355)
|
|
call void @fn_emith(ptr @.str2356)
|
|
call void @fn_emith(ptr @.str2357)
|
|
call void @fn_emith(ptr @.str2358)
|
|
call void @fn_emith(ptr @.str2359)
|
|
call void @fn_emith(ptr @.str2360)
|
|
call void @fn_emith(ptr @.str2361)
|
|
call void @fn_emith(ptr @.str2362)
|
|
call void @fn_emith(ptr @.str2363)
|
|
call void @fn_emith(ptr @.str2364)
|
|
call void @fn_emith(ptr @.str2365)
|
|
call void @fn_emith(ptr @.str2366)
|
|
call void @fn_emith(ptr @.str2367)
|
|
call void @fn_emith(ptr @.str2368)
|
|
call void @fn_emith(ptr @.str2369)
|
|
call void @fn_emith(ptr @.str2370)
|
|
call void @fn_emith(ptr @.str2371)
|
|
call void @fn_emith(ptr @.str2372)
|
|
call void @fn_emith(ptr @.str2373)
|
|
call void @fn_emith(ptr @.str2374)
|
|
call void @fn_emith(ptr @.str2375)
|
|
call void @fn_emith(ptr @.str2376)
|
|
call void @fn_emith(ptr @.str2377)
|
|
call void @fn_emith(ptr @.str2378)
|
|
call void @fn_emith(ptr @.str2379)
|
|
call void @fn_emith(ptr @.str2380)
|
|
call void @fn_emith(ptr @.str2381)
|
|
call void @fn_emith(ptr @.str2382)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_noise_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 @.str2383)
|
|
%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 @.str2384)
|
|
%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 @.str2385)
|
|
%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 @.str2386)
|
|
%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 @.str2387)
|
|
%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 @.str2388)
|
|
%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:
|
|
%t39 = load ptr, ptr %t0
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str2389)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then14, label %ifend16
|
|
then14:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend16:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t42 = load i32, ptr %retval
|
|
ret i32 %t42
|
|
}
|
|
|
|
define ptr @fn_emit_noise_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
|
|
%t46 = alloca ptr
|
|
%t55 = alloca ptr
|
|
%t84 = alloca ptr
|
|
%t93 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t131 = alloca ptr
|
|
%t140 = alloca ptr
|
|
%t149 = alloca ptr
|
|
%t178 = alloca ptr
|
|
%t187 = alloca ptr
|
|
%t196 = alloca ptr
|
|
%t205 = alloca ptr
|
|
%t239 = alloca ptr
|
|
%t248 = alloca ptr
|
|
%t257 = alloca ptr
|
|
%t283 = alloca ptr
|
|
%t292 = alloca ptr
|
|
%t301 = 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 @.str2390)
|
|
%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 @.str2391, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2392)
|
|
%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 @.str2393, ptr %t21)
|
|
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str2394)
|
|
%t24 = call ptr @fn_emit_bind(ptr %t23)
|
|
%t25 = call ptr @fn_val(ptr %t24, ptr @.str2395)
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
store i32 1, ptr @g_g_uses_noisert
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str2396)
|
|
%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 %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 1
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = call ptr @fn_emit_expr(ptr %t44)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = load ptr, ptr %t1
|
|
%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 = getelementptr inbounds ptr, ptr %t51, i32 2
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = call ptr @fn_emit_expr(ptr %t53)
|
|
store ptr %t54, ptr %t55
|
|
%t56 = load ptr, ptr %t37
|
|
%t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = call ptr @fn_str_concat(ptr @.str2397, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str2398)
|
|
%t61 = load ptr, ptr %t46
|
|
%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 @.str2399)
|
|
%t66 = load ptr, ptr %t55
|
|
%t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = call ptr @fn_str_concat(ptr %t65, ptr %t68)
|
|
%t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str2400)
|
|
%t71 = call ptr @fn_emit_bind(ptr %t70)
|
|
%t72 = call ptr @fn_val(ptr %t71, ptr @.str2401)
|
|
store ptr %t72, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2402)
|
|
%t75 = icmp ne i32 %t74, 0
|
|
br i1 %t75, label %then6, label %ifend8
|
|
then6:
|
|
%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 %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 2
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = call ptr @fn_emit_expr(ptr %t100)
|
|
store ptr %t101, ptr %t102
|
|
%t103 = load ptr, ptr %t84
|
|
%t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0
|
|
%t105 = load ptr, ptr %t104
|
|
%t106 = call ptr @fn_str_concat(ptr @.str2403, ptr %t105)
|
|
%t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str2404)
|
|
%t108 = load ptr, ptr %t93
|
|
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = call ptr @fn_str_concat(ptr %t107, ptr %t110)
|
|
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str2405)
|
|
%t113 = load ptr, ptr %t102
|
|
%t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = call ptr @fn_str_concat(ptr %t112, ptr %t115)
|
|
%t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str2406)
|
|
%t118 = call ptr @fn_emit_bind(ptr %t117)
|
|
%t119 = call ptr @fn_val(ptr %t118, ptr @.str2407)
|
|
store ptr %t119, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t120 = load ptr, ptr %t0
|
|
%t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str2408)
|
|
%t122 = icmp ne i32 %t121, 0
|
|
br i1 %t122, label %then9, label %ifend11
|
|
then9:
|
|
%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 0
|
|
%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 1
|
|
%t138 = load ptr, ptr %t137
|
|
%t139 = call ptr @fn_emit_expr(ptr %t138)
|
|
store ptr %t139, ptr %t140
|
|
%t141 = load ptr, ptr %t1
|
|
%t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7
|
|
%t143 = load ptr, ptr %t142
|
|
%t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0
|
|
%t145 = load ptr, ptr %t144
|
|
%t146 = getelementptr inbounds ptr, ptr %t145, i32 2
|
|
%t147 = load ptr, ptr %t146
|
|
%t148 = call ptr @fn_emit_expr(ptr %t147)
|
|
store ptr %t148, ptr %t149
|
|
%t150 = load ptr, ptr %t131
|
|
%t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0
|
|
%t152 = load ptr, ptr %t151
|
|
%t153 = call ptr @fn_str_concat(ptr @.str2409, ptr %t152)
|
|
%t154 = call ptr @fn_str_concat(ptr %t153, ptr @.str2410)
|
|
%t155 = load ptr, ptr %t140
|
|
%t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0
|
|
%t157 = load ptr, ptr %t156
|
|
%t158 = call ptr @fn_str_concat(ptr %t154, ptr %t157)
|
|
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2411)
|
|
%t160 = load ptr, ptr %t149
|
|
%t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0
|
|
%t162 = load ptr, ptr %t161
|
|
%t163 = call ptr @fn_str_concat(ptr %t159, ptr %t162)
|
|
%t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str2412)
|
|
%t165 = call ptr @fn_emit_bind(ptr %t164)
|
|
%t166 = call ptr @fn_val(ptr %t165, ptr @.str2413)
|
|
store ptr %t166, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t167 = load ptr, ptr %t0
|
|
%t168 = call i32 @fn_str_eq(ptr %t167, ptr @.str2414)
|
|
%t169 = icmp ne i32 %t168, 0
|
|
br i1 %t169, label %then12, label %ifend14
|
|
then12:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%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 0
|
|
%t176 = load ptr, ptr %t175
|
|
%t177 = call ptr @fn_emit_expr(ptr %t176)
|
|
store ptr %t177, ptr %t178
|
|
%t179 = load ptr, ptr %t1
|
|
%t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 7
|
|
%t181 = load ptr, ptr %t180
|
|
%t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0
|
|
%t183 = load ptr, ptr %t182
|
|
%t184 = getelementptr inbounds ptr, ptr %t183, i32 1
|
|
%t185 = load ptr, ptr %t184
|
|
%t186 = call ptr @fn_emit_expr(ptr %t185)
|
|
store ptr %t186, ptr %t187
|
|
%t188 = load ptr, ptr %t1
|
|
%t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7
|
|
%t190 = load ptr, ptr %t189
|
|
%t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = getelementptr inbounds ptr, ptr %t192, i32 2
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = call ptr @fn_emit_expr(ptr %t194)
|
|
store ptr %t195, ptr %t196
|
|
%t197 = load ptr, ptr %t1
|
|
%t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 7
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = getelementptr inbounds ptr, ptr %t201, i32 3
|
|
%t203 = load ptr, ptr %t202
|
|
%t204 = call ptr @fn_emit_expr(ptr %t203)
|
|
store ptr %t204, ptr %t205
|
|
%t206 = load ptr, ptr %t178
|
|
%t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0
|
|
%t208 = load ptr, ptr %t207
|
|
%t209 = call ptr @fn_str_concat(ptr @.str2415, ptr %t208)
|
|
%t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str2416)
|
|
%t211 = load ptr, ptr %t187
|
|
%t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0
|
|
%t213 = load ptr, ptr %t212
|
|
%t214 = call ptr @fn_str_concat(ptr %t210, ptr %t213)
|
|
%t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str2417)
|
|
%t216 = load ptr, ptr %t196
|
|
%t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
|
|
%t218 = load ptr, ptr %t217
|
|
%t219 = call ptr @fn_str_concat(ptr %t215, ptr %t218)
|
|
%t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str2418)
|
|
%t221 = load ptr, ptr %t205
|
|
%t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0
|
|
%t223 = load ptr, ptr %t222
|
|
%t224 = call ptr @fn_str_concat(ptr %t220, ptr %t223)
|
|
%t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str2419)
|
|
%t226 = call ptr @fn_emit_bind(ptr %t225)
|
|
%t227 = call ptr @fn_val(ptr %t226, ptr @.str2420)
|
|
store ptr %t227, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t228 = load ptr, ptr %t0
|
|
%t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str2421)
|
|
%t230 = icmp ne i32 %t229, 0
|
|
br i1 %t230, label %then15, label %ifend17
|
|
then15:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%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 0
|
|
%t237 = load ptr, ptr %t236
|
|
%t238 = call ptr @fn_emit_expr(ptr %t237)
|
|
store ptr %t238, ptr %t239
|
|
%t240 = load ptr, ptr %t1
|
|
%t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7
|
|
%t242 = load ptr, ptr %t241
|
|
%t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0
|
|
%t244 = load ptr, ptr %t243
|
|
%t245 = getelementptr inbounds ptr, ptr %t244, i32 1
|
|
%t246 = load ptr, ptr %t245
|
|
%t247 = call ptr @fn_emit_expr(ptr %t246)
|
|
store ptr %t247, ptr %t248
|
|
%t249 = load ptr, ptr %t1
|
|
%t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 7
|
|
%t251 = load ptr, ptr %t250
|
|
%t252 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0
|
|
%t253 = load ptr, ptr %t252
|
|
%t254 = getelementptr inbounds ptr, ptr %t253, i32 2
|
|
%t255 = load ptr, ptr %t254
|
|
%t256 = call ptr @fn_emit_expr(ptr %t255)
|
|
store ptr %t256, ptr %t257
|
|
%t258 = load ptr, ptr %t239
|
|
%t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0
|
|
%t260 = load ptr, ptr %t259
|
|
%t261 = call ptr @fn_str_concat(ptr @.str2422, ptr %t260)
|
|
%t262 = call ptr @fn_str_concat(ptr %t261, ptr @.str2423)
|
|
%t263 = load ptr, ptr %t248
|
|
%t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0
|
|
%t265 = load ptr, ptr %t264
|
|
%t266 = call ptr @fn_str_concat(ptr %t262, ptr %t265)
|
|
%t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str2424)
|
|
%t268 = load ptr, ptr %t257
|
|
%t269 = getelementptr inbounds %Cmp_Val, ptr %t268, i32 0, i32 0
|
|
%t270 = load ptr, ptr %t269
|
|
%t271 = call ptr @fn_str_concat(ptr %t267, ptr %t270)
|
|
%t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str2425)
|
|
%t273 = call ptr @fn_emit_bind(ptr %t272)
|
|
%t274 = call ptr @fn_val(ptr %t273, ptr @.str2426)
|
|
store ptr %t274, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t275 = load ptr, ptr %t1
|
|
%t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 7
|
|
%t277 = load ptr, ptr %t276
|
|
%t278 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 0
|
|
%t279 = load ptr, ptr %t278
|
|
%t280 = getelementptr inbounds ptr, ptr %t279, i32 0
|
|
%t281 = load ptr, ptr %t280
|
|
%t282 = call ptr @fn_emit_expr(ptr %t281)
|
|
store ptr %t282, ptr %t283
|
|
%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 1
|
|
%t290 = load ptr, ptr %t289
|
|
%t291 = call ptr @fn_emit_expr(ptr %t290)
|
|
store ptr %t291, ptr %t292
|
|
%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 2
|
|
%t299 = load ptr, ptr %t298
|
|
%t300 = call ptr @fn_emit_expr(ptr %t299)
|
|
store ptr %t300, ptr %t301
|
|
%t302 = load ptr, ptr %t283
|
|
%t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0
|
|
%t304 = load ptr, ptr %t303
|
|
%t305 = call ptr @fn_str_concat(ptr @.str2427, ptr %t304)
|
|
%t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str2428)
|
|
%t307 = load ptr, ptr %t292
|
|
%t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0
|
|
%t309 = load ptr, ptr %t308
|
|
%t310 = call ptr @fn_str_concat(ptr %t306, ptr %t309)
|
|
%t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str2429)
|
|
%t312 = load ptr, ptr %t301
|
|
%t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0
|
|
%t314 = load ptr, ptr %t313
|
|
%t315 = call ptr @fn_str_concat(ptr %t311, ptr %t314)
|
|
%t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str2430)
|
|
%t317 = call ptr @fn_emit_bind(ptr %t316)
|
|
%t318 = call ptr @fn_val(ptr %t317, ptr @.str2431)
|
|
store ptr %t318, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t319 = load ptr, ptr %retval
|
|
ret ptr %t319
|
|
}
|
|
|
|
define void @fn_emit_noise_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2432)
|
|
call void @fn_emith(ptr @.str2433)
|
|
call void @fn_emith(ptr @.str2434)
|
|
call void @fn_emith(ptr @.str2435)
|
|
call void @fn_emith(ptr @.str2436)
|
|
call void @fn_emith(ptr @.str2437)
|
|
call void @fn_emith(ptr @.str2438)
|
|
call void @fn_emith(ptr @.str2439)
|
|
call void @fn_emith(ptr @.str2440)
|
|
call void @fn_emith(ptr @.str2441)
|
|
call void @fn_emith(ptr @.str2442)
|
|
call void @fn_emith(ptr @.str2443)
|
|
call void @fn_emith(ptr @.str2444)
|
|
call void @fn_emith(ptr @.str2445)
|
|
call void @fn_emith(ptr @.str2446)
|
|
call void @fn_emith(ptr @.str2447)
|
|
call void @fn_emith(ptr @.str2448)
|
|
call void @fn_emith(ptr @.str2449)
|
|
call void @fn_emith(ptr @.str2450)
|
|
call void @fn_emith(ptr @.str2451)
|
|
call void @fn_emith(ptr @.str2452)
|
|
call void @fn_emith(ptr @.str2453)
|
|
call void @fn_emith(ptr @.str2454)
|
|
call void @fn_emith(ptr @.str2455)
|
|
call void @fn_emith(ptr @.str2456)
|
|
call void @fn_emith(ptr @.str2457)
|
|
call void @fn_emith(ptr @.str2458)
|
|
call void @fn_emith(ptr @.str2459)
|
|
call void @fn_emith(ptr @.str2460)
|
|
call void @fn_emith(ptr @.str2461)
|
|
call void @fn_emith(ptr @.str2462)
|
|
call void @fn_emith(ptr @.str2463)
|
|
call void @fn_emith(ptr @.str2464)
|
|
call void @fn_emith(ptr @.str2465)
|
|
call void @fn_emith(ptr @.str2466)
|
|
call void @fn_emith(ptr @.str2467)
|
|
call void @fn_emith(ptr @.str2468)
|
|
call void @fn_emith(ptr @.str2469)
|
|
call void @fn_emith(ptr @.str2470)
|
|
call void @fn_emith(ptr @.str2471)
|
|
call void @fn_emith(ptr @.str2472)
|
|
call void @fn_emith(ptr @.str2473)
|
|
call void @fn_emith(ptr @.str2474)
|
|
call void @fn_emith(ptr @.str2475)
|
|
call void @fn_emith(ptr @.str2476)
|
|
call void @fn_emith(ptr @.str2477)
|
|
call void @fn_emith(ptr @.str2478)
|
|
call void @fn_emith(ptr @.str2479)
|
|
call void @fn_emith(ptr @.str2480)
|
|
call void @fn_emith(ptr @.str2481)
|
|
call void @fn_emith(ptr @.str2482)
|
|
call void @fn_emith(ptr @.str2483)
|
|
call void @fn_emith(ptr @.str2484)
|
|
call void @fn_emith(ptr @.str2485)
|
|
call void @fn_emith(ptr @.str2486)
|
|
call void @fn_emith(ptr @.str2487)
|
|
call void @fn_emith(ptr @.str2488)
|
|
call void @fn_emith(ptr @.str2489)
|
|
call void @fn_emith(ptr @.str2490)
|
|
call void @fn_emith(ptr @.str2491)
|
|
call void @fn_emith(ptr @.str2492)
|
|
call void @fn_emith(ptr @.str2493)
|
|
call void @fn_emith(ptr @.str2494)
|
|
call void @fn_emith(ptr @.str2495)
|
|
call void @fn_emith(ptr @.str2496)
|
|
call void @fn_emith(ptr @.str2497)
|
|
call void @fn_emith(ptr @.str2498)
|
|
call void @fn_emith(ptr @.str2499)
|
|
call void @fn_emith(ptr @.str2500)
|
|
call void @fn_emith(ptr @.str2501)
|
|
call void @fn_emith(ptr @.str2502)
|
|
call void @fn_emith(ptr @.str2503)
|
|
call void @fn_emith(ptr @.str2504)
|
|
call void @fn_emith(ptr @.str2505)
|
|
call void @fn_emith(ptr @.str2506)
|
|
call void @fn_emith(ptr @.str2507)
|
|
call void @fn_emith(ptr @.str2508)
|
|
call void @fn_emith(ptr @.str2509)
|
|
call void @fn_emith(ptr @.str2510)
|
|
call void @fn_emith(ptr @.str2511)
|
|
call void @fn_emith(ptr @.str2512)
|
|
call void @fn_emith(ptr @.str2513)
|
|
call void @fn_emith(ptr @.str2514)
|
|
call void @fn_emith(ptr @.str2515)
|
|
call void @fn_emit_noise_cellular()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_noise_cellular() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2516)
|
|
call void @fn_emith(ptr @.str2517)
|
|
call void @fn_emith(ptr @.str2518)
|
|
call void @fn_emith(ptr @.str2519)
|
|
call void @fn_emith(ptr @.str2520)
|
|
call void @fn_emith(ptr @.str2521)
|
|
call void @fn_emith(ptr @.str2522)
|
|
call void @fn_emith(ptr @.str2523)
|
|
call void @fn_emith(ptr @.str2524)
|
|
call void @fn_emith(ptr @.str2525)
|
|
call void @fn_emith(ptr @.str2526)
|
|
call void @fn_emith(ptr @.str2527)
|
|
call void @fn_emith(ptr @.str2528)
|
|
call void @fn_emith(ptr @.str2529)
|
|
call void @fn_emith(ptr @.str2530)
|
|
call void @fn_emith(ptr @.str2531)
|
|
call void @fn_emith(ptr @.str2532)
|
|
call void @fn_emith(ptr @.str2533)
|
|
call void @fn_emith(ptr @.str2534)
|
|
call void @fn_emith(ptr @.str2535)
|
|
call void @fn_emith(ptr @.str2536)
|
|
call void @fn_emith(ptr @.str2537)
|
|
call void @fn_emith(ptr @.str2538)
|
|
call void @fn_emith(ptr @.str2539)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_log_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t31 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2540)
|
|
%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 @.str2541)
|
|
%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 @.str2542)
|
|
%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 @.str2543)
|
|
%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 @.str2544)
|
|
%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:
|
|
%t32 = load ptr, ptr %t0
|
|
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str2545)
|
|
%t34 = icmp ne i32 %t33, 0
|
|
%t35 = zext i1 %t34 to i32
|
|
store i32 %t35, ptr %t31
|
|
br i1 %t34, label %scend13, label %sc12
|
|
sc12:
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str2546)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
%t39 = zext i1 %t38 to i32
|
|
store i32 %t39, ptr %t31
|
|
br label %scend13
|
|
scend13:
|
|
%t40 = load i32, ptr %t31
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then14, label %ifend16
|
|
then14:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend16:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t42 = load i32, ptr %retval
|
|
ret i32 %t42
|
|
}
|
|
|
|
define ptr @fn_log_stringify(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 @.str2547)
|
|
%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 1
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = call ptr @fn_llty(ptr %t12)
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str2548)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr @g_g_uses_longstr
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = call ptr @fn_str_concat(ptr @.str2549, ptr %t18)
|
|
%t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2550)
|
|
%t21 = call ptr @fn_emit_bind(ptr %t20)
|
|
store ptr %t21, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
store i32 1, ptr @g_g_uses_intstr
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call ptr @fn_str_concat(ptr @.str2551, ptr %t24)
|
|
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str2552)
|
|
%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_log_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t25 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t42 = alloca ptr
|
|
%t51 = alloca ptr
|
|
%t57 = alloca i32
|
|
%t77 = alloca ptr
|
|
%t88 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
store i32 1, ptr @g_g_uses_logrt
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2553)
|
|
%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 @.str2554, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2555)
|
|
call void @fn_emit(ptr %t18)
|
|
%t19 = call ptr @fn_val(ptr @.str2556, ptr @.str2557)
|
|
store ptr %t19, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t20 = load ptr, ptr %t0
|
|
%t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str2558)
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then3, label %ifend5
|
|
then3:
|
|
%t23 = call ptr @fn_emit_bind(ptr @.str2559)
|
|
%t24 = call ptr @fn_val(ptr %t23, ptr @.str2560)
|
|
store ptr %t24, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
store ptr @.str2561, ptr %t25
|
|
store ptr @.str2562, ptr %t26
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str2563)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str2564, ptr %t25
|
|
store ptr @.str2565, ptr %t26
|
|
br label %ifend8
|
|
ifend8:
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2566)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str2567, ptr %t25
|
|
store ptr @.str2568, ptr %t26
|
|
br label %ifend11
|
|
ifend11:
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2569)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str2570, ptr %t25
|
|
store ptr @.str2571, ptr %t26
|
|
br label %ifend14
|
|
ifend14:
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str2572)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then15, label %ifend17
|
|
then15:
|
|
store ptr @.str2573, ptr %t25
|
|
store ptr @.str2574, ptr %t26
|
|
br label %ifend17
|
|
ifend17:
|
|
store i32 1, ptr @g_g_uses_str
|
|
%t39 = load ptr, ptr %t26
|
|
%t40 = call ptr @fn_emit_str_const(ptr %t39)
|
|
%t41 = call ptr @fn_val(ptr %t40, ptr @.str2575)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = load ptr, ptr %t1
|
|
%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 0
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = getelementptr inbounds ptr, ptr %t47, i32 0
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = call ptr @fn_emit_expr(ptr %t49)
|
|
store ptr %t50, ptr %t51
|
|
%t52 = load ptr, ptr %t42
|
|
%t53 = load ptr, ptr %t51
|
|
%t54 = call ptr @fn_log_stringify(ptr %t53)
|
|
%t55 = call ptr @fn_val(ptr %t54, ptr @.str2577)
|
|
%t56 = call ptr @fn_emit_str_op(ptr @.str2576, ptr %t52, ptr %t55)
|
|
store ptr %t56, ptr %t42
|
|
store i32 1, ptr %t57
|
|
br label %wcond18
|
|
wcond18:
|
|
%t58 = load i32, ptr %t57
|
|
%t59 = add i32 %t58, 1
|
|
%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 1
|
|
%t64 = load i32, ptr %t63
|
|
%t65 = icmp slt i32 %t59, %t64
|
|
%t66 = zext i1 %t65 to i32
|
|
%t67 = icmp ne i32 %t66, 0
|
|
br i1 %t67, label %wbody19, label %wend20
|
|
wbody19:
|
|
%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 = load i32, ptr %t57
|
|
%t74 = getelementptr inbounds ptr, ptr %t72, i32 %t73
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = call ptr @fn_emit_expr(ptr %t75)
|
|
store ptr %t76, ptr %t77
|
|
%t78 = load ptr, ptr %t1
|
|
%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 %t57
|
|
%t84 = add i32 %t83, 1
|
|
%t85 = getelementptr inbounds ptr, ptr %t82, i32 %t84
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = call ptr @fn_emit_expr(ptr %t86)
|
|
store ptr %t87, ptr %t88
|
|
%t89 = load ptr, ptr %t42
|
|
%t90 = call ptr @fn_emit_str_const(ptr @.str2579)
|
|
%t91 = call ptr @fn_val(ptr %t90, ptr @.str2580)
|
|
%t92 = call ptr @fn_emit_str_op(ptr @.str2578, ptr %t89, ptr %t91)
|
|
store ptr %t92, ptr %t42
|
|
%t93 = load ptr, ptr %t42
|
|
%t94 = load ptr, ptr %t77
|
|
%t95 = call ptr @fn_log_stringify(ptr %t94)
|
|
%t96 = call ptr @fn_val(ptr %t95, ptr @.str2582)
|
|
%t97 = call ptr @fn_emit_str_op(ptr @.str2581, ptr %t93, ptr %t96)
|
|
store ptr %t97, ptr %t42
|
|
%t98 = load ptr, ptr %t42
|
|
%t99 = call ptr @fn_emit_str_const(ptr @.str2584)
|
|
%t100 = call ptr @fn_val(ptr %t99, ptr @.str2585)
|
|
%t101 = call ptr @fn_emit_str_op(ptr @.str2583, ptr %t98, ptr %t100)
|
|
store ptr %t101, ptr %t42
|
|
%t102 = load ptr, ptr %t42
|
|
%t103 = load ptr, ptr %t88
|
|
%t104 = call ptr @fn_log_stringify(ptr %t103)
|
|
%t105 = call ptr @fn_val(ptr %t104, ptr @.str2587)
|
|
%t106 = call ptr @fn_emit_str_op(ptr @.str2586, ptr %t102, ptr %t105)
|
|
store ptr %t106, ptr %t42
|
|
%t107 = load i32, ptr %t57
|
|
%t108 = add i32 %t107, 2
|
|
store i32 %t108, ptr %t57
|
|
br label %wcond18
|
|
wend20:
|
|
%t109 = load ptr, ptr %t25
|
|
%t110 = call ptr @fn_str_concat(ptr @.str2588, ptr %t109)
|
|
%t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str2589)
|
|
%t112 = load ptr, ptr %t42
|
|
%t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = call ptr @fn_str_concat(ptr %t111, ptr %t114)
|
|
%t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str2590)
|
|
call void @fn_emit(ptr %t116)
|
|
%t117 = call ptr @fn_val(ptr @.str2591, ptr @.str2592)
|
|
store ptr %t117, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t118 = load ptr, ptr %retval
|
|
ret ptr %t118
|
|
}
|
|
|
|
define void @fn_emit_log_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2593)
|
|
call void @fn_emith(ptr @.str2594)
|
|
call void @fn_emith(ptr @.str2595)
|
|
call void @fn_emith(ptr @.str2596)
|
|
call void @fn_emith(ptr @.str2597)
|
|
call void @fn_emith(ptr @.str2598)
|
|
call void @fn_emith(ptr @.str2599)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_os_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t21 = alloca i32
|
|
%t39 = alloca i32
|
|
%t50 = alloca i32
|
|
%t51 = alloca i32
|
|
%t69 = alloca i32
|
|
%t80 = alloca i32
|
|
%t81 = alloca i32
|
|
%t82 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2600)
|
|
%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 @.str2601)
|
|
%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 @.str2602)
|
|
%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 @.str2603)
|
|
%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 @.str2604)
|
|
%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 @.str2605)
|
|
%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:
|
|
%t40 = load ptr, ptr %t0
|
|
%t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str2606)
|
|
%t42 = icmp ne i32 %t41, 0
|
|
%t43 = zext i1 %t42 to i32
|
|
store i32 %t43, ptr %t39
|
|
br i1 %t42, label %scend15, label %sc14
|
|
sc14:
|
|
%t44 = load ptr, ptr %t0
|
|
%t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str2607)
|
|
%t46 = icmp ne i32 %t45, 0
|
|
%t47 = zext i1 %t46 to i32
|
|
store i32 %t47, ptr %t39
|
|
br label %scend15
|
|
scend15:
|
|
%t48 = load i32, ptr %t39
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then16, label %ifend18
|
|
then16:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend18:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2608)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
%t55 = zext i1 %t54 to i32
|
|
store i32 %t55, ptr %t51
|
|
br i1 %t54, label %scend20, label %sc19
|
|
sc19:
|
|
%t56 = load ptr, ptr %t0
|
|
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str2609)
|
|
%t58 = icmp ne i32 %t57, 0
|
|
%t59 = zext i1 %t58 to i32
|
|
store i32 %t59, ptr %t51
|
|
br label %scend20
|
|
scend20:
|
|
%t60 = load i32, ptr %t51
|
|
%t61 = icmp ne i32 %t60, 0
|
|
%t62 = zext i1 %t61 to i32
|
|
store i32 %t62, ptr %t50
|
|
br i1 %t61, label %scend22, label %sc21
|
|
sc21:
|
|
%t63 = load ptr, ptr %t0
|
|
%t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str2610)
|
|
%t65 = icmp ne i32 %t64, 0
|
|
%t66 = zext i1 %t65 to i32
|
|
store i32 %t66, ptr %t50
|
|
br label %scend22
|
|
scend22:
|
|
%t67 = load i32, ptr %t50
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then23, label %ifend25
|
|
then23:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend25:
|
|
%t70 = load ptr, ptr %t0
|
|
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str2611)
|
|
%t72 = icmp ne i32 %t71, 0
|
|
%t73 = zext i1 %t72 to i32
|
|
store i32 %t73, ptr %t69
|
|
br i1 %t72, label %scend27, label %sc26
|
|
sc26:
|
|
%t74 = load ptr, ptr %t0
|
|
%t75 = call i32 @fn_str_eq(ptr %t74, ptr @.str2612)
|
|
%t76 = icmp ne i32 %t75, 0
|
|
%t77 = zext i1 %t76 to i32
|
|
store i32 %t77, ptr %t69
|
|
br label %scend27
|
|
scend27:
|
|
%t78 = load i32, ptr %t69
|
|
%t79 = icmp ne i32 %t78, 0
|
|
br i1 %t79, label %then28, label %ifend30
|
|
then28:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend30:
|
|
%t83 = load ptr, ptr %t0
|
|
%t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str2613)
|
|
%t85 = icmp ne i32 %t84, 0
|
|
%t86 = zext i1 %t85 to i32
|
|
store i32 %t86, ptr %t82
|
|
br i1 %t85, label %scend32, label %sc31
|
|
sc31:
|
|
%t87 = load ptr, ptr %t0
|
|
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str2614)
|
|
%t89 = icmp ne i32 %t88, 0
|
|
%t90 = zext i1 %t89 to i32
|
|
store i32 %t90, ptr %t82
|
|
br label %scend32
|
|
scend32:
|
|
%t91 = load i32, ptr %t82
|
|
%t92 = icmp ne i32 %t91, 0
|
|
%t93 = zext i1 %t92 to i32
|
|
store i32 %t93, ptr %t81
|
|
br i1 %t92, label %scend34, label %sc33
|
|
sc33:
|
|
%t94 = load ptr, ptr %t0
|
|
%t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str2615)
|
|
%t96 = icmp ne i32 %t95, 0
|
|
%t97 = zext i1 %t96 to i32
|
|
store i32 %t97, ptr %t81
|
|
br label %scend34
|
|
scend34:
|
|
%t98 = load i32, ptr %t81
|
|
%t99 = icmp ne i32 %t98, 0
|
|
%t100 = zext i1 %t99 to i32
|
|
store i32 %t100, ptr %t80
|
|
br i1 %t99, label %scend36, label %sc35
|
|
sc35:
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str2616)
|
|
%t103 = icmp ne i32 %t102, 0
|
|
%t104 = zext i1 %t103 to i32
|
|
store i32 %t104, ptr %t80
|
|
br label %scend36
|
|
scend36:
|
|
%t105 = load i32, ptr %t80
|
|
%t106 = icmp ne i32 %t105, 0
|
|
br i1 %t106, label %then37, label %ifend39
|
|
then37:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend39:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t107 = load i32, ptr %retval
|
|
ret i32 %t107
|
|
}
|
|
|
|
define ptr @fn_emit_os_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t18 = alloca ptr
|
|
%t20 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t45 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t82 = alloca ptr
|
|
%t89 = alloca ptr
|
|
%t94 = alloca ptr
|
|
%t100 = alloca i32
|
|
%t111 = alloca ptr
|
|
%t123 = alloca ptr
|
|
%t127 = alloca ptr
|
|
%t134 = alloca ptr
|
|
%t163 = alloca ptr
|
|
%t172 = alloca ptr
|
|
%t196 = alloca ptr
|
|
%t205 = alloca ptr
|
|
%t217 = alloca ptr
|
|
%t222 = alloca ptr
|
|
%t239 = alloca ptr
|
|
%t246 = alloca ptr
|
|
%t251 = alloca ptr
|
|
%t278 = alloca ptr
|
|
%t297 = alloca ptr
|
|
%t316 = 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 @.str2617)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = call ptr @fn_emit_bind(ptr @.str2618)
|
|
%t6 = call ptr @fn_val(ptr %t5, ptr @.str2619)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2620)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
%t10 = load ptr, ptr %t1
|
|
%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 0
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds ptr, ptr %t14, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_emit_expr(ptr %t16)
|
|
store ptr %t17, ptr %t18
|
|
%t19 = call ptr @fn_emit_bind(ptr @.str2621)
|
|
store ptr %t19, ptr %t20
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = call ptr @fn_str_concat(ptr @.str2622, ptr %t21)
|
|
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str2623)
|
|
%t24 = load ptr, ptr %t18
|
|
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = call ptr @fn_str_concat(ptr %t23, 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 @.str2624, ptr %t30)
|
|
%t32 = call ptr @fn_emit_bind(ptr %t31)
|
|
%t33 = call ptr @fn_val(ptr %t32, ptr @.str2625)
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2626)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
br i1 %t36, label %then6, label %ifend8
|
|
then6:
|
|
%t37 = load ptr, ptr %t1
|
|
%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 = getelementptr inbounds ptr, ptr %t41, i32 0
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = call ptr @fn_emit_expr(ptr %t43)
|
|
store ptr %t44, ptr %t45
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = call ptr @fn_str_concat(ptr @.str2627, ptr %t48)
|
|
%t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str2628)
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str2629)
|
|
store i32 1, ptr @g_g_term
|
|
%t51 = call ptr @fn_val(ptr @.str2630, ptr @.str2631)
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2632)
|
|
%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_str_concat(ptr @.str2633, ptr %t66)
|
|
%t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str2634)
|
|
%t69 = call ptr @fn_emit_bind(ptr %t68)
|
|
%t70 = call ptr @fn_val(ptr %t69, ptr @.str2635)
|
|
store ptr %t70, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t71 = load ptr, ptr %t0
|
|
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str2636)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then12, label %ifend14
|
|
then12:
|
|
%t74 = load ptr, ptr %t1
|
|
%t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = getelementptr inbounds ptr, ptr %t78, i32 0
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = call ptr @fn_emit_expr(ptr %t80)
|
|
store ptr %t81, ptr %t82
|
|
%t83 = load ptr, ptr %t82
|
|
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = call ptr @fn_str_concat(ptr @.str2637, ptr %t85)
|
|
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str2638)
|
|
%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 @.str2639, ptr %t90)
|
|
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str2640)
|
|
%t93 = call ptr @fn_emit_bind(ptr %t92)
|
|
store ptr %t93, ptr %t94
|
|
%t95 = load ptr, ptr %t94
|
|
%t96 = call ptr @fn_str_concat(ptr @.str2641, ptr %t95)
|
|
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str2642)
|
|
%t98 = call ptr @fn_emit_bind(ptr %t97)
|
|
%t99 = call ptr @fn_val(ptr %t98, ptr @.str2643)
|
|
store ptr %t99, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str2644)
|
|
%t103 = icmp ne i32 %t102, 0
|
|
%t104 = zext i1 %t103 to i32
|
|
store i32 %t104, ptr %t100
|
|
br i1 %t103, label %scend16, label %sc15
|
|
sc15:
|
|
%t105 = load ptr, ptr %t0
|
|
%t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str2645)
|
|
%t107 = icmp ne i32 %t106, 0
|
|
%t108 = zext i1 %t107 to i32
|
|
store i32 %t108, ptr %t100
|
|
br label %scend16
|
|
scend16:
|
|
%t109 = load i32, ptr %t100
|
|
%t110 = icmp ne i32 %t109, 0
|
|
br i1 %t110, label %then17, label %ifend19
|
|
then17:
|
|
store ptr @.str2646, ptr %t111
|
|
%t112 = load ptr, ptr %t0
|
|
%t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str2647)
|
|
%t114 = icmp ne i32 %t113, 0
|
|
br i1 %t114, label %then20, label %ifend22
|
|
then20:
|
|
store ptr @.str2648, ptr %t111
|
|
br label %ifend22
|
|
ifend22:
|
|
%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 0
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = call ptr @fn_emit_expr(ptr %t121)
|
|
store ptr %t122, ptr %t123
|
|
%t124 = load ptr, ptr %t111
|
|
%t125 = call ptr @fn_str_concat(ptr @.str2649, ptr %t124)
|
|
%t126 = call ptr @fn_emit_bind(ptr %t125)
|
|
store ptr %t126, ptr %t127
|
|
%t128 = load ptr, ptr %t123
|
|
%t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = call ptr @fn_str_concat(ptr @.str2650, ptr %t130)
|
|
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str2651)
|
|
%t133 = call ptr @fn_emit_bind(ptr %t132)
|
|
store ptr %t133, ptr %t134
|
|
%t135 = load ptr, ptr %t123
|
|
%t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = call ptr @fn_str_concat(ptr @.str2652, ptr %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str2653)
|
|
%t140 = load ptr, ptr %t134
|
|
%t141 = call ptr @fn_str_concat(ptr %t139, ptr %t140)
|
|
%t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str2654)
|
|
%t143 = load ptr, ptr %t127
|
|
%t144 = call ptr @fn_str_concat(ptr %t142, ptr %t143)
|
|
%t145 = call ptr @fn_str_concat(ptr %t144, ptr @.str2655)
|
|
call void @fn_emit(ptr %t145)
|
|
%t146 = call ptr @fn_val(ptr @.str2656, ptr @.str2657)
|
|
store ptr %t146, ptr %retval
|
|
br label %ret
|
|
ifend19:
|
|
store i32 1, ptr @g_g_uses_osrt
|
|
%t147 = load ptr, ptr %t0
|
|
%t148 = call i32 @fn_str_eq(ptr %t147, ptr @.str2658)
|
|
%t149 = icmp ne i32 %t148, 0
|
|
br i1 %t149, label %then23, label %ifend25
|
|
then23:
|
|
%t150 = call ptr @fn_emit_bind(ptr @.str2659)
|
|
%t151 = call ptr @fn_val(ptr %t150, ptr @.str2660)
|
|
store ptr %t151, ptr %retval
|
|
br label %ret
|
|
ifend25:
|
|
%t152 = load ptr, ptr %t0
|
|
%t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str2661)
|
|
%t154 = icmp ne i32 %t153, 0
|
|
br i1 %t154, label %then26, label %ifend28
|
|
then26:
|
|
%t155 = load ptr, ptr %t1
|
|
%t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 7
|
|
%t157 = load ptr, ptr %t156
|
|
%t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = getelementptr inbounds ptr, ptr %t159, i32 0
|
|
%t161 = load ptr, ptr %t160
|
|
%t162 = call ptr @fn_emit_expr(ptr %t161)
|
|
store ptr %t162, ptr %t163
|
|
%t164 = load ptr, ptr %t1
|
|
%t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 7
|
|
%t166 = load ptr, ptr %t165
|
|
%t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0
|
|
%t168 = load ptr, ptr %t167
|
|
%t169 = getelementptr inbounds ptr, ptr %t168, i32 1
|
|
%t170 = load ptr, ptr %t169
|
|
%t171 = call ptr @fn_emit_expr(ptr %t170)
|
|
store ptr %t171, ptr %t172
|
|
%t173 = load ptr, ptr %t163
|
|
%t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0
|
|
%t175 = load ptr, ptr %t174
|
|
%t176 = call ptr @fn_str_concat(ptr @.str2662, ptr %t175)
|
|
%t177 = call ptr @fn_str_concat(ptr %t176, ptr @.str2663)
|
|
%t178 = load ptr, ptr %t172
|
|
%t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 0
|
|
%t180 = load ptr, ptr %t179
|
|
%t181 = call ptr @fn_str_concat(ptr %t177, ptr %t180)
|
|
%t182 = call ptr @fn_str_concat(ptr %t181, ptr @.str2664)
|
|
%t183 = call ptr @fn_emit_bind(ptr %t182)
|
|
%t184 = call ptr @fn_val(ptr %t183, ptr @.str2665)
|
|
store ptr %t184, ptr %retval
|
|
br label %ret
|
|
ifend28:
|
|
%t185 = load ptr, ptr %t0
|
|
%t186 = call i32 @fn_str_eq(ptr %t185, ptr @.str2666)
|
|
%t187 = icmp ne i32 %t186, 0
|
|
br i1 %t187, label %then29, label %ifend31
|
|
then29:
|
|
%t188 = load ptr, ptr %t1
|
|
%t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7
|
|
%t190 = load ptr, ptr %t189
|
|
%t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = getelementptr inbounds ptr, ptr %t192, i32 0
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = call ptr @fn_emit_expr(ptr %t194)
|
|
store ptr %t195, ptr %t196
|
|
%t197 = load ptr, ptr %t1
|
|
%t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 7
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = getelementptr inbounds ptr, ptr %t201, i32 1
|
|
%t203 = load ptr, ptr %t202
|
|
%t204 = call ptr @fn_emit_expr(ptr %t203)
|
|
store ptr %t204, ptr %t205
|
|
%t206 = load ptr, ptr %t196
|
|
%t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0
|
|
%t208 = load ptr, ptr %t207
|
|
%t209 = call ptr @fn_str_concat(ptr @.str2667, ptr %t208)
|
|
%t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str2668)
|
|
%t211 = load ptr, ptr %t205
|
|
%t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0
|
|
%t213 = load ptr, ptr %t212
|
|
%t214 = call ptr @fn_str_concat(ptr %t210, ptr %t213)
|
|
%t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str2669)
|
|
%t216 = call ptr @fn_emit_bind(ptr %t215)
|
|
store ptr %t216, ptr %t217
|
|
%t218 = load ptr, ptr %t217
|
|
%t219 = call ptr @fn_str_concat(ptr @.str2670, ptr %t218)
|
|
%t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str2671)
|
|
%t221 = call ptr @fn_emit_bind(ptr %t220)
|
|
store ptr %t221, ptr %t222
|
|
%t223 = load ptr, ptr %t222
|
|
%t224 = call ptr @fn_str_concat(ptr @.str2672, ptr %t223)
|
|
%t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str2673)
|
|
%t226 = call ptr @fn_emit_bind(ptr %t225)
|
|
%t227 = call ptr @fn_val(ptr %t226, ptr @.str2674)
|
|
store ptr %t227, ptr %retval
|
|
br label %ret
|
|
ifend31:
|
|
%t228 = load ptr, ptr %t0
|
|
%t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str2675)
|
|
%t230 = icmp ne i32 %t229, 0
|
|
br i1 %t230, label %then32, label %ifend34
|
|
then32:
|
|
%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 0
|
|
%t237 = load ptr, ptr %t236
|
|
%t238 = call ptr @fn_emit_expr(ptr %t237)
|
|
store ptr %t238, ptr %t239
|
|
%t240 = load ptr, ptr %t239
|
|
%t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0
|
|
%t242 = load ptr, ptr %t241
|
|
%t243 = call ptr @fn_str_concat(ptr @.str2676, ptr %t242)
|
|
%t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str2677)
|
|
%t245 = call ptr @fn_emit_bind(ptr %t244)
|
|
store ptr %t245, ptr %t246
|
|
%t247 = load ptr, ptr %t246
|
|
%t248 = call ptr @fn_str_concat(ptr @.str2678, ptr %t247)
|
|
%t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str2679)
|
|
%t250 = call ptr @fn_emit_bind(ptr %t249)
|
|
store ptr %t250, ptr %t251
|
|
%t252 = load ptr, ptr %t251
|
|
%t253 = call ptr @fn_str_concat(ptr @.str2680, ptr %t252)
|
|
%t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str2681)
|
|
%t255 = call ptr @fn_emit_bind(ptr %t254)
|
|
%t256 = call ptr @fn_val(ptr %t255, ptr @.str2682)
|
|
store ptr %t256, ptr %retval
|
|
br label %ret
|
|
ifend34:
|
|
%t257 = load ptr, ptr %t0
|
|
%t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str2683)
|
|
%t259 = icmp ne i32 %t258, 0
|
|
br i1 %t259, label %then35, label %ifend37
|
|
then35:
|
|
%t260 = call ptr @fn_emit_bind(ptr @.str2684)
|
|
%t261 = call ptr @fn_val(ptr %t260, ptr @.str2685)
|
|
store ptr %t261, ptr %retval
|
|
br label %ret
|
|
ifend37:
|
|
%t262 = load ptr, ptr %t0
|
|
%t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str2686)
|
|
%t264 = icmp ne i32 %t263, 0
|
|
br i1 %t264, label %then38, label %ifend40
|
|
then38:
|
|
%t265 = call ptr @fn_emit_bind(ptr @.str2687)
|
|
%t266 = call ptr @fn_val(ptr %t265, ptr @.str2688)
|
|
store ptr %t266, ptr %retval
|
|
br label %ret
|
|
ifend40:
|
|
%t267 = load ptr, ptr %t0
|
|
%t268 = call i32 @fn_str_eq(ptr %t267, ptr @.str2689)
|
|
%t269 = icmp ne i32 %t268, 0
|
|
br i1 %t269, label %then41, label %ifend43
|
|
then41:
|
|
%t270 = load ptr, ptr %t1
|
|
%t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 7
|
|
%t272 = load ptr, ptr %t271
|
|
%t273 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0
|
|
%t274 = load ptr, ptr %t273
|
|
%t275 = getelementptr inbounds ptr, ptr %t274, i32 0
|
|
%t276 = load ptr, ptr %t275
|
|
%t277 = call ptr @fn_emit_expr(ptr %t276)
|
|
store ptr %t277, ptr %t278
|
|
%t279 = load ptr, ptr %t278
|
|
%t280 = getelementptr inbounds %Cmp_Val, ptr %t279, i32 0, i32 0
|
|
%t281 = load ptr, ptr %t280
|
|
%t282 = call ptr @fn_str_concat(ptr @.str2690, ptr %t281)
|
|
%t283 = call ptr @fn_str_concat(ptr %t282, ptr @.str2691)
|
|
%t284 = call ptr @fn_emit_bind(ptr %t283)
|
|
%t285 = call ptr @fn_val(ptr %t284, ptr @.str2692)
|
|
store ptr %t285, ptr %retval
|
|
br label %ret
|
|
ifend43:
|
|
%t286 = load ptr, ptr %t0
|
|
%t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str2693)
|
|
%t288 = icmp ne i32 %t287, 0
|
|
br i1 %t288, label %then44, label %ifend46
|
|
then44:
|
|
%t289 = load ptr, ptr %t1
|
|
%t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 7
|
|
%t291 = load ptr, ptr %t290
|
|
%t292 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 0
|
|
%t293 = load ptr, ptr %t292
|
|
%t294 = getelementptr inbounds ptr, ptr %t293, i32 0
|
|
%t295 = load ptr, ptr %t294
|
|
%t296 = call ptr @fn_emit_expr(ptr %t295)
|
|
store ptr %t296, ptr %t297
|
|
%t298 = load ptr, ptr %t297
|
|
%t299 = getelementptr inbounds %Cmp_Val, ptr %t298, i32 0, i32 0
|
|
%t300 = load ptr, ptr %t299
|
|
%t301 = call ptr @fn_str_concat(ptr @.str2694, ptr %t300)
|
|
%t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str2695)
|
|
%t303 = call ptr @fn_emit_bind(ptr %t302)
|
|
%t304 = call ptr @fn_val(ptr %t303, ptr @.str2696)
|
|
store ptr %t304, ptr %retval
|
|
br label %ret
|
|
ifend46:
|
|
%t305 = load ptr, ptr %t0
|
|
%t306 = call i32 @fn_str_eq(ptr %t305, ptr @.str2697)
|
|
%t307 = icmp ne i32 %t306, 0
|
|
br i1 %t307, label %then47, label %ifend49
|
|
then47:
|
|
%t308 = load ptr, ptr %t1
|
|
%t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 7
|
|
%t310 = load ptr, ptr %t309
|
|
%t311 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 0
|
|
%t312 = load ptr, ptr %t311
|
|
%t313 = getelementptr inbounds ptr, ptr %t312, i32 0
|
|
%t314 = load ptr, ptr %t313
|
|
%t315 = call ptr @fn_emit_expr(ptr %t314)
|
|
store ptr %t315, ptr %t316
|
|
%t317 = load ptr, ptr %t316
|
|
%t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0
|
|
%t319 = load ptr, ptr %t318
|
|
%t320 = call ptr @fn_str_concat(ptr @.str2698, ptr %t319)
|
|
%t321 = call ptr @fn_str_concat(ptr %t320, ptr @.str2699)
|
|
%t322 = call ptr @fn_emit_bind(ptr %t321)
|
|
%t323 = call ptr @fn_val(ptr %t322, ptr @.str2700)
|
|
store ptr %t323, ptr %retval
|
|
br label %ret
|
|
ifend49:
|
|
%t324 = call ptr @fn_emit_bind(ptr @.str2701)
|
|
%t325 = call ptr @fn_val(ptr %t324, ptr @.str2702)
|
|
store ptr %t325, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t326 = load ptr, ptr %retval
|
|
ret ptr %t326
|
|
}
|
|
|
|
define void @fn_emit_os_prelude() {
|
|
entry:
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t19 = alloca ptr
|
|
call void @fn_emith(ptr @.str2703)
|
|
call void @fn_emith(ptr @.str2704)
|
|
call void @fn_emith(ptr @.str2705)
|
|
%t0 = call ptr @fn_emit_str_const(ptr @.str2706)
|
|
store ptr %t0, ptr %t1
|
|
%t2 = call ptr @fn_emit_str_const(ptr @.str2707)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = call ptr @fn_emit_str_const(ptr @.str2708)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_emit_str_const(ptr @.str2709)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = call ptr @fn_emit_str_const(ptr @.str2710)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = call ptr @fn_emit_str_const(ptr @.str2711)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = call ptr @fn_emit_str_const(ptr @.str2712)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = call ptr @fn_emit_str_const(ptr @.str2713)
|
|
store ptr %t14, ptr %t15
|
|
%t16 = call ptr @fn_emit_str_const(ptr @.str2714)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = call ptr @fn_emit_str_const(ptr @.str2715)
|
|
store ptr %t18, ptr %t19
|
|
call void @fn_emith(ptr @.str2716)
|
|
call void @fn_emith(ptr @.str2717)
|
|
call void @fn_emith(ptr @.str2718)
|
|
call void @fn_emith(ptr @.str2719)
|
|
call void @fn_emith(ptr @.str2720)
|
|
call void @fn_emith(ptr @.str2721)
|
|
call void @fn_emith(ptr @.str2722)
|
|
call void @fn_emith(ptr @.str2723)
|
|
call void @fn_emith(ptr @.str2724)
|
|
call void @fn_emith(ptr @.str2725)
|
|
call void @fn_emith(ptr @.str2726)
|
|
call void @fn_emith(ptr @.str2727)
|
|
%t20 = load ptr, ptr %t1
|
|
%t21 = call ptr @fn_str_concat(ptr @.str2728, ptr %t20)
|
|
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str2729)
|
|
%t23 = load ptr, ptr %t3
|
|
%t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2730)
|
|
call void @fn_emith(ptr %t25)
|
|
%t26 = load ptr, ptr %t5
|
|
%t27 = call ptr @fn_str_concat(ptr @.str2731, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str2732)
|
|
call void @fn_emith(ptr %t28)
|
|
%t29 = load ptr, ptr %t5
|
|
%t30 = call ptr @fn_str_concat(ptr @.str2733, ptr %t29)
|
|
%t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str2734)
|
|
call void @fn_emith(ptr %t31)
|
|
%t32 = load ptr, ptr %t7
|
|
%t33 = call ptr @fn_str_concat(ptr @.str2735, ptr %t32)
|
|
%t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str2736)
|
|
call void @fn_emith(ptr %t34)
|
|
%t35 = load ptr, ptr %t9
|
|
%t36 = call ptr @fn_str_concat(ptr @.str2737, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2738)
|
|
%t38 = load ptr, ptr %t11
|
|
%t39 = call ptr @fn_str_concat(ptr %t37, ptr %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str2739)
|
|
call void @fn_emith(ptr %t40)
|
|
call void @fn_emith(ptr @.str2740)
|
|
call void @fn_emith(ptr @.str2741)
|
|
call void @fn_emith(ptr @.str2742)
|
|
call void @fn_emith(ptr @.str2743)
|
|
call void @fn_emith(ptr @.str2744)
|
|
call void @fn_emith(ptr @.str2745)
|
|
call void @fn_emith(ptr @.str2746)
|
|
call void @fn_emith(ptr @.str2747)
|
|
call void @fn_emith(ptr @.str2748)
|
|
%t41 = load ptr, ptr %t13
|
|
%t42 = call ptr @fn_str_concat(ptr @.str2749, ptr %t41)
|
|
%t43 = call ptr @fn_str_concat(ptr %t42, ptr @.str2750)
|
|
call void @fn_emith(ptr %t43)
|
|
%t44 = load ptr, ptr %t15
|
|
%t45 = call ptr @fn_str_concat(ptr @.str2751, ptr %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2752)
|
|
call void @fn_emith(ptr %t46)
|
|
%t47 = load ptr, ptr %t17
|
|
%t48 = call ptr @fn_str_concat(ptr @.str2753, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str2754)
|
|
call void @fn_emith(ptr %t49)
|
|
%t50 = load ptr, ptr %t19
|
|
%t51 = call ptr @fn_str_concat(ptr @.str2755, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str2756)
|
|
call void @fn_emith(ptr %t52)
|
|
call void @fn_emith(ptr @.str2757)
|
|
call void @fn_emith(ptr @.str2758)
|
|
call void @fn_emith(ptr @.str2759)
|
|
call void @fn_emith(ptr @.str2760)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_unicode_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 @.str2761)
|
|
%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 @.str2762)
|
|
%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 @.str2763)
|
|
%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 @.str2764)
|
|
%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 @.str2765)
|
|
%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 @.str2766)
|
|
%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 @.str2767)
|
|
%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 @.str2768)
|
|
%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:
|
|
%t50 = load ptr, ptr %t0
|
|
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str2769)
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then19, label %ifend21
|
|
then19:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend21:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t53 = load i32, ptr %retval
|
|
ret i32 %t53
|
|
}
|
|
|
|
define ptr @fn_emit_unicode_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
|
|
%t56 = alloca ptr
|
|
%t75 = alloca ptr
|
|
%t84 = alloca ptr
|
|
%t108 = alloca ptr
|
|
%t127 = alloca ptr
|
|
%t146 = alloca ptr
|
|
%t165 = alloca ptr
|
|
%t174 = alloca ptr
|
|
%t195 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
store i32 1, ptr @g_g_uses_unicodert
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2770)
|
|
%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 @.str2771, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2772)
|
|
%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 @.str2773, ptr %t21)
|
|
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str2774)
|
|
%t24 = call ptr @fn_emit_bind(ptr %t23)
|
|
%t25 = call ptr @fn_val(ptr %t24, ptr @.str2775)
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str2776)
|
|
%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 @.str2777, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2778)
|
|
%t43 = call ptr @fn_emit_bind(ptr %t42)
|
|
%t44 = call ptr @fn_val(ptr %t43, ptr @.str2779)
|
|
store ptr %t44, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t45 = load ptr, ptr %t0
|
|
%t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str2780)
|
|
%t47 = icmp ne i32 %t46, 0
|
|
br i1 %t47, label %then6, label %ifend8
|
|
then6:
|
|
%t48 = load ptr, ptr %t1
|
|
%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 0
|
|
%t52 = load ptr, ptr %t51
|
|
%t53 = getelementptr inbounds ptr, ptr %t52, i32 0
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = call ptr @fn_emit_expr(ptr %t54)
|
|
store ptr %t55, ptr %t56
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = call ptr @fn_str_concat(ptr @.str2781, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str2782)
|
|
%t62 = call ptr @fn_emit_bind(ptr %t61)
|
|
%t63 = call ptr @fn_val(ptr %t62, ptr @.str2783)
|
|
store ptr %t63, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t64 = load ptr, ptr %t0
|
|
%t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str2784)
|
|
%t66 = icmp ne i32 %t65, 0
|
|
br i1 %t66, label %then9, label %ifend11
|
|
then9:
|
|
%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 0
|
|
%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 1
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = call ptr @fn_emit_expr(ptr %t82)
|
|
store ptr %t83, ptr %t84
|
|
%t85 = load ptr, ptr %t75
|
|
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = call ptr @fn_str_concat(ptr @.str2785, ptr %t87)
|
|
%t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str2786)
|
|
%t90 = load ptr, ptr %t84
|
|
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
|
|
%t92 = load ptr, ptr %t91
|
|
%t93 = call ptr @fn_str_concat(ptr %t89, ptr %t92)
|
|
%t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str2787)
|
|
%t95 = call ptr @fn_emit_bind(ptr %t94)
|
|
%t96 = call ptr @fn_val(ptr %t95, ptr @.str2788)
|
|
store ptr %t96, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t97 = load ptr, ptr %t0
|
|
%t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str2789)
|
|
%t99 = icmp ne i32 %t98, 0
|
|
br i1 %t99, label %then12, label %ifend14
|
|
then12:
|
|
%t100 = load ptr, ptr %t1
|
|
%t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 7
|
|
%t102 = load ptr, ptr %t101
|
|
%t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0
|
|
%t104 = load ptr, ptr %t103
|
|
%t105 = getelementptr inbounds ptr, ptr %t104, i32 0
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = call ptr @fn_emit_expr(ptr %t106)
|
|
store ptr %t107, ptr %t108
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0
|
|
%t111 = load ptr, ptr %t110
|
|
%t112 = call ptr @fn_str_concat(ptr @.str2790, ptr %t111)
|
|
%t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str2791)
|
|
%t114 = call ptr @fn_emit_bind(ptr %t113)
|
|
%t115 = call ptr @fn_val(ptr %t114, ptr @.str2792)
|
|
store ptr %t115, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t116 = load ptr, ptr %t0
|
|
%t117 = call i32 @fn_str_eq(ptr %t116, ptr @.str2793)
|
|
%t118 = icmp ne i32 %t117, 0
|
|
br i1 %t118, label %then15, label %ifend17
|
|
then15:
|
|
%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 0
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = call ptr @fn_emit_expr(ptr %t125)
|
|
store ptr %t126, ptr %t127
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = call ptr @fn_str_concat(ptr @.str2794, ptr %t130)
|
|
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str2795)
|
|
%t133 = call ptr @fn_emit_bind(ptr %t132)
|
|
%t134 = call ptr @fn_val(ptr %t133, ptr @.str2796)
|
|
store ptr %t134, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t135 = load ptr, ptr %t0
|
|
%t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str2797)
|
|
%t137 = icmp ne i32 %t136, 0
|
|
br i1 %t137, label %then18, label %ifend20
|
|
then18:
|
|
%t138 = load ptr, ptr %t1
|
|
%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 = getelementptr inbounds ptr, ptr %t142, i32 0
|
|
%t144 = load ptr, ptr %t143
|
|
%t145 = call ptr @fn_emit_expr(ptr %t144)
|
|
store ptr %t145, ptr %t146
|
|
%t147 = load ptr, ptr %t146
|
|
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
|
|
%t149 = load ptr, ptr %t148
|
|
%t150 = call ptr @fn_str_concat(ptr @.str2798, ptr %t149)
|
|
%t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str2799)
|
|
%t152 = call ptr @fn_emit_bind(ptr %t151)
|
|
%t153 = call ptr @fn_val(ptr %t152, ptr @.str2800)
|
|
store ptr %t153, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t154 = load ptr, ptr %t0
|
|
%t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str2801)
|
|
%t156 = icmp ne i32 %t155, 0
|
|
br i1 %t156, label %then21, label %ifend23
|
|
then21:
|
|
%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 0
|
|
%t163 = load ptr, ptr %t162
|
|
%t164 = call ptr @fn_emit_expr(ptr %t163)
|
|
store ptr %t164, ptr %t165
|
|
%t166 = load ptr, ptr %t1
|
|
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 7
|
|
%t168 = load ptr, ptr %t167
|
|
%t169 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0
|
|
%t170 = load ptr, ptr %t169
|
|
%t171 = getelementptr inbounds ptr, ptr %t170, i32 1
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = call ptr @fn_emit_expr(ptr %t172)
|
|
store ptr %t173, ptr %t174
|
|
%t175 = load ptr, ptr %t165
|
|
%t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0
|
|
%t177 = load ptr, ptr %t176
|
|
%t178 = call ptr @fn_str_concat(ptr @.str2802, ptr %t177)
|
|
%t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str2803)
|
|
%t180 = load ptr, ptr %t174
|
|
%t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0
|
|
%t182 = load ptr, ptr %t181
|
|
%t183 = call ptr @fn_str_concat(ptr %t179, ptr %t182)
|
|
%t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str2804)
|
|
%t185 = call ptr @fn_emit_bind(ptr %t184)
|
|
%t186 = call ptr @fn_val(ptr %t185, ptr @.str2805)
|
|
store ptr %t186, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%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 0
|
|
%t193 = load ptr, ptr %t192
|
|
%t194 = call ptr @fn_emit_expr(ptr %t193)
|
|
store ptr %t194, ptr %t195
|
|
%t196 = load ptr, ptr %t195
|
|
%t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0
|
|
%t198 = load ptr, ptr %t197
|
|
%t199 = call ptr @fn_str_concat(ptr @.str2806, ptr %t198)
|
|
%t200 = call ptr @fn_str_concat(ptr %t199, ptr @.str2807)
|
|
%t201 = call ptr @fn_emit_bind(ptr %t200)
|
|
%t202 = call ptr @fn_val(ptr %t201, ptr @.str2808)
|
|
store ptr %t202, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t203 = load ptr, ptr %retval
|
|
ret ptr %t203
|
|
}
|
|
|
|
define void @fn_emit_unicode_prelude() {
|
|
entry:
|
|
call void @fn_emit_uni_core()
|
|
call void @fn_emit_uni_case_fns()
|
|
call void @fn_emit_uni_str_fns()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_uni_core() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2809)
|
|
call void @fn_emith(ptr @.str2810)
|
|
call void @fn_emith(ptr @.str2811)
|
|
call void @fn_emith(ptr @.str2812)
|
|
call void @fn_emith(ptr @.str2813)
|
|
call void @fn_emith(ptr @.str2814)
|
|
call void @fn_emith(ptr @.str2815)
|
|
call void @fn_emith(ptr @.str2816)
|
|
call void @fn_emith(ptr @.str2817)
|
|
call void @fn_emith(ptr @.str2818)
|
|
call void @fn_emith(ptr @.str2819)
|
|
call void @fn_emith(ptr @.str2820)
|
|
call void @fn_emith(ptr @.str2821)
|
|
call void @fn_emith(ptr @.str2822)
|
|
call void @fn_emith(ptr @.str2823)
|
|
call void @fn_emith(ptr @.str2824)
|
|
call void @fn_emith(ptr @.str2825)
|
|
call void @fn_emith(ptr @.str2826)
|
|
call void @fn_emith(ptr @.str2827)
|
|
call void @fn_emith(ptr @.str2828)
|
|
call void @fn_emith(ptr @.str2829)
|
|
call void @fn_emith(ptr @.str2830)
|
|
call void @fn_emith(ptr @.str2831)
|
|
call void @fn_emith(ptr @.str2832)
|
|
call void @fn_emith(ptr @.str2833)
|
|
call void @fn_emith(ptr @.str2834)
|
|
call void @fn_emith(ptr @.str2835)
|
|
call void @fn_emith(ptr @.str2836)
|
|
call void @fn_emith(ptr @.str2837)
|
|
call void @fn_emith(ptr @.str2838)
|
|
call void @fn_emith(ptr @.str2839)
|
|
call void @fn_emith(ptr @.str2840)
|
|
call void @fn_emith(ptr @.str2841)
|
|
call void @fn_emith(ptr @.str2842)
|
|
call void @fn_emith(ptr @.str2843)
|
|
call void @fn_emith(ptr @.str2844)
|
|
call void @fn_emith(ptr @.str2845)
|
|
call void @fn_emith(ptr @.str2846)
|
|
call void @fn_emith(ptr @.str2847)
|
|
call void @fn_emith(ptr @.str2848)
|
|
call void @fn_emith(ptr @.str2849)
|
|
call void @fn_emith(ptr @.str2850)
|
|
call void @fn_emith(ptr @.str2851)
|
|
call void @fn_emith(ptr @.str2852)
|
|
call void @fn_emith(ptr @.str2853)
|
|
call void @fn_emith(ptr @.str2854)
|
|
call void @fn_emith(ptr @.str2855)
|
|
call void @fn_emith(ptr @.str2856)
|
|
call void @fn_emith(ptr @.str2857)
|
|
call void @fn_emith(ptr @.str2858)
|
|
call void @fn_emith(ptr @.str2859)
|
|
call void @fn_emith(ptr @.str2860)
|
|
call void @fn_emith(ptr @.str2861)
|
|
call void @fn_emith(ptr @.str2862)
|
|
call void @fn_emith(ptr @.str2863)
|
|
call void @fn_emith(ptr @.str2864)
|
|
call void @fn_emith(ptr @.str2865)
|
|
call void @fn_emith(ptr @.str2866)
|
|
call void @fn_emith(ptr @.str2867)
|
|
call void @fn_emith(ptr @.str2868)
|
|
call void @fn_emith(ptr @.str2869)
|
|
call void @fn_emith(ptr @.str2870)
|
|
call void @fn_emith(ptr @.str2871)
|
|
call void @fn_emith(ptr @.str2872)
|
|
call void @fn_emith(ptr @.str2873)
|
|
call void @fn_emith(ptr @.str2874)
|
|
call void @fn_emith(ptr @.str2875)
|
|
call void @fn_emith(ptr @.str2876)
|
|
call void @fn_emith(ptr @.str2877)
|
|
call void @fn_emith(ptr @.str2878)
|
|
call void @fn_emith(ptr @.str2879)
|
|
call void @fn_emith(ptr @.str2880)
|
|
call void @fn_emith(ptr @.str2881)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_uni_case_fns() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2882)
|
|
call void @fn_emith(ptr @.str2883)
|
|
call void @fn_emith(ptr @.str2884)
|
|
call void @fn_emith(ptr @.str2885)
|
|
call void @fn_emith(ptr @.str2886)
|
|
call void @fn_emith(ptr @.str2887)
|
|
call void @fn_emith(ptr @.str2888)
|
|
call void @fn_emith(ptr @.str2889)
|
|
call void @fn_emith(ptr @.str2890)
|
|
call void @fn_emith(ptr @.str2891)
|
|
call void @fn_emith(ptr @.str2892)
|
|
call void @fn_emith(ptr @.str2893)
|
|
call void @fn_emith(ptr @.str2894)
|
|
call void @fn_emith(ptr @.str2895)
|
|
call void @fn_emith(ptr @.str2896)
|
|
call void @fn_emith(ptr @.str2897)
|
|
call void @fn_emith(ptr @.str2898)
|
|
call void @fn_emith(ptr @.str2899)
|
|
call void @fn_emith(ptr @.str2900)
|
|
call void @fn_emith(ptr @.str2901)
|
|
call void @fn_emith(ptr @.str2902)
|
|
call void @fn_emith(ptr @.str2903)
|
|
call void @fn_emith(ptr @.str2904)
|
|
call void @fn_emith(ptr @.str2905)
|
|
call void @fn_emith(ptr @.str2906)
|
|
call void @fn_emith(ptr @.str2907)
|
|
call void @fn_emith(ptr @.str2908)
|
|
call void @fn_emith(ptr @.str2909)
|
|
call void @fn_emith(ptr @.str2910)
|
|
call void @fn_emith(ptr @.str2911)
|
|
call void @fn_emith(ptr @.str2912)
|
|
call void @fn_emith(ptr @.str2913)
|
|
call void @fn_emith(ptr @.str2914)
|
|
call void @fn_emith(ptr @.str2915)
|
|
call void @fn_emith(ptr @.str2916)
|
|
call void @fn_emith(ptr @.str2917)
|
|
call void @fn_emith(ptr @.str2918)
|
|
call void @fn_emith(ptr @.str2919)
|
|
call void @fn_emith(ptr @.str2920)
|
|
call void @fn_emith(ptr @.str2921)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_uni_str_fns() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2922)
|
|
call void @fn_emith(ptr @.str2923)
|
|
call void @fn_emith(ptr @.str2924)
|
|
call void @fn_emith(ptr @.str2925)
|
|
call void @fn_emith(ptr @.str2926)
|
|
call void @fn_emith(ptr @.str2927)
|
|
call void @fn_emith(ptr @.str2928)
|
|
call void @fn_emith(ptr @.str2929)
|
|
call void @fn_emith(ptr @.str2930)
|
|
call void @fn_emith(ptr @.str2931)
|
|
call void @fn_emith(ptr @.str2932)
|
|
call void @fn_emith(ptr @.str2933)
|
|
call void @fn_emith(ptr @.str2934)
|
|
call void @fn_emith(ptr @.str2935)
|
|
call void @fn_emith(ptr @.str2936)
|
|
call void @fn_emith(ptr @.str2937)
|
|
call void @fn_emith(ptr @.str2938)
|
|
call void @fn_emith(ptr @.str2939)
|
|
call void @fn_emith(ptr @.str2940)
|
|
call void @fn_emith(ptr @.str2941)
|
|
call void @fn_emith(ptr @.str2942)
|
|
call void @fn_emith(ptr @.str2943)
|
|
call void @fn_emith(ptr @.str2944)
|
|
call void @fn_emith(ptr @.str2945)
|
|
call void @fn_emith(ptr @.str2946)
|
|
call void @fn_emith(ptr @.str2947)
|
|
call void @fn_emith(ptr @.str2948)
|
|
call void @fn_emith(ptr @.str2949)
|
|
call void @fn_emith(ptr @.str2950)
|
|
call void @fn_emith(ptr @.str2951)
|
|
call void @fn_emith(ptr @.str2952)
|
|
call void @fn_emith(ptr @.str2953)
|
|
call void @fn_emith(ptr @.str2954)
|
|
call void @fn_emith(ptr @.str2955)
|
|
call void @fn_emith(ptr @.str2956)
|
|
call void @fn_emith(ptr @.str2957)
|
|
call void @fn_emith(ptr @.str2958)
|
|
call void @fn_emit_uni_grapheme()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_uni_grapheme() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2959)
|
|
call void @fn_emith(ptr @.str2960)
|
|
call void @fn_emith(ptr @.str2961)
|
|
call void @fn_emith(ptr @.str2962)
|
|
call void @fn_emith(ptr @.str2963)
|
|
call void @fn_emith(ptr @.str2964)
|
|
call void @fn_emith(ptr @.str2965)
|
|
call void @fn_emith(ptr @.str2966)
|
|
call void @fn_emith(ptr @.str2967)
|
|
call void @fn_emith(ptr @.str2968)
|
|
call void @fn_emith(ptr @.str2969)
|
|
call void @fn_emith(ptr @.str2970)
|
|
call void @fn_emith(ptr @.str2971)
|
|
call void @fn_emith(ptr @.str2972)
|
|
call void @fn_emith(ptr @.str2973)
|
|
call void @fn_emith(ptr @.str2974)
|
|
call void @fn_emith(ptr @.str2975)
|
|
call void @fn_emith(ptr @.str2976)
|
|
call void @fn_emith(ptr @.str2977)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_fs_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t21 = alloca i32
|
|
%t39 = alloca i32
|
|
%t40 = alloca i32
|
|
%t41 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2978)
|
|
%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 @.str2979)
|
|
%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 @.str2980)
|
|
%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 @.str2981)
|
|
%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 @.str2982)
|
|
%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 @.str2983)
|
|
%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:
|
|
%t42 = load ptr, ptr %t0
|
|
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str2984)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
%t45 = zext i1 %t44 to i32
|
|
store i32 %t45, ptr %t41
|
|
br i1 %t44, label %scend15, label %sc14
|
|
sc14:
|
|
%t46 = load ptr, ptr %t0
|
|
%t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str2985)
|
|
%t48 = icmp ne i32 %t47, 0
|
|
%t49 = zext i1 %t48 to i32
|
|
store i32 %t49, ptr %t41
|
|
br label %scend15
|
|
scend15:
|
|
%t50 = load i32, ptr %t41
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t40
|
|
br i1 %t51, label %scend17, label %sc16
|
|
sc16:
|
|
%t53 = load ptr, ptr %t0
|
|
%t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str2986)
|
|
%t55 = icmp ne i32 %t54, 0
|
|
%t56 = zext i1 %t55 to i32
|
|
store i32 %t56, ptr %t40
|
|
br label %scend17
|
|
scend17:
|
|
%t57 = load i32, ptr %t40
|
|
%t58 = icmp ne i32 %t57, 0
|
|
%t59 = zext i1 %t58 to i32
|
|
store i32 %t59, ptr %t39
|
|
br i1 %t58, label %scend19, label %sc18
|
|
sc18:
|
|
%t60 = load ptr, ptr %t0
|
|
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str2987)
|
|
%t62 = icmp ne i32 %t61, 0
|
|
%t63 = zext i1 %t62 to i32
|
|
store i32 %t63, ptr %t39
|
|
br label %scend19
|
|
scend19:
|
|
%t64 = load i32, ptr %t39
|
|
%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 i32 @fn_is_path_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 @.str2988)
|
|
%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 @.str2989)
|
|
%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 @.str2990)
|
|
%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 @.str2991)
|
|
%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 @.str2992)
|
|
%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 @.str2993)
|
|
%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 i32 @fn_is_mime_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2994)
|
|
%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 @.str2995)
|
|
%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:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t12 = load i32, ptr %retval
|
|
ret i32 %t12
|
|
}
|
|
|
|
define ptr @fn_emit_fs_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t89 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
store i32 1, ptr @g_g_uses_fsrt
|
|
%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 @.str2996)
|
|
%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_str_concat(ptr @.str2997, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2998)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str2999)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3000)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then3, label %ifend5
|
|
then3:
|
|
%t24 = load ptr, ptr %t10
|
|
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = call ptr @fn_str_concat(ptr @.str3001, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3002)
|
|
%t29 = call ptr @fn_emit_bind(ptr %t28)
|
|
%t30 = call ptr @fn_val(ptr %t29, ptr @.str3003)
|
|
store ptr %t30, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3004)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then6, label %ifend8
|
|
then6:
|
|
%t34 = load ptr, ptr %t10
|
|
%t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = call ptr @fn_str_concat(ptr @.str3005, ptr %t36)
|
|
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3006)
|
|
%t39 = call ptr @fn_emit_bind(ptr %t38)
|
|
%t40 = call ptr @fn_val(ptr %t39, ptr @.str3007)
|
|
store ptr %t40, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t41 = load ptr, ptr %t0
|
|
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3008)
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then9, label %ifend11
|
|
then9:
|
|
%t44 = load ptr, ptr %t10
|
|
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = call ptr @fn_str_concat(ptr @.str3009, ptr %t46)
|
|
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3010)
|
|
%t49 = call ptr @fn_emit_bind(ptr %t48)
|
|
%t50 = call ptr @fn_val(ptr %t49, ptr @.str3011)
|
|
store ptr %t50, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3012)
|
|
%t53 = icmp ne i32 %t52, 0
|
|
br i1 %t53, label %then12, label %ifend14
|
|
then12:
|
|
%t54 = load ptr, ptr %t10
|
|
%t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = call ptr @fn_str_concat(ptr @.str3013, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3014)
|
|
%t59 = call ptr @fn_emit_bind(ptr %t58)
|
|
%t60 = call ptr @fn_val(ptr %t59, ptr @.str3015)
|
|
store ptr %t60, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t61 = load ptr, ptr %t0
|
|
%t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str3016)
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %then15, label %ifend17
|
|
then15:
|
|
%t64 = load ptr, ptr %t10
|
|
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = call ptr @fn_str_concat(ptr @.str3017, ptr %t66)
|
|
%t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str3018)
|
|
%t69 = call ptr @fn_emit_bind(ptr %t68)
|
|
%t70 = call ptr @fn_val(ptr %t69, ptr @.str3019)
|
|
store ptr %t70, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t71 = load ptr, ptr %t0
|
|
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3020)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then18, label %ifend20
|
|
then18:
|
|
%t74 = load ptr, ptr %t10
|
|
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = call ptr @fn_str_concat(ptr @.str3021, ptr %t76)
|
|
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3022)
|
|
%t79 = call ptr @fn_emit_bind(ptr %t78)
|
|
%t80 = call ptr @fn_val(ptr %t79, ptr @.str3023)
|
|
store ptr %t80, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%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 %t0
|
|
%t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str3024)
|
|
%t92 = icmp ne i32 %t91, 0
|
|
br i1 %t92, label %then21, label %ifend23
|
|
then21:
|
|
%t93 = load ptr, ptr %t10
|
|
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
|
|
%t95 = load ptr, ptr %t94
|
|
%t96 = call ptr @fn_str_concat(ptr @.str3025, ptr %t95)
|
|
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3026)
|
|
%t98 = load ptr, ptr %t89
|
|
%t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = call ptr @fn_str_concat(ptr %t97, ptr %t100)
|
|
%t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str3027)
|
|
%t103 = call ptr @fn_emit_bind(ptr %t102)
|
|
%t104 = call ptr @fn_val(ptr %t103, ptr @.str3028)
|
|
store ptr %t104, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t105 = load ptr, ptr %t0
|
|
%t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str3029)
|
|
%t107 = icmp ne i32 %t106, 0
|
|
br i1 %t107, label %then24, label %ifend26
|
|
then24:
|
|
%t108 = load ptr, ptr %t10
|
|
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = call ptr @fn_str_concat(ptr @.str3030, ptr %t110)
|
|
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3031)
|
|
%t113 = load ptr, ptr %t89
|
|
%t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = call ptr @fn_str_concat(ptr %t112, ptr %t115)
|
|
%t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str3032)
|
|
%t118 = call ptr @fn_emit_bind(ptr %t117)
|
|
%t119 = call ptr @fn_val(ptr %t118, ptr @.str3033)
|
|
store ptr %t119, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t120 = load ptr, ptr %t10
|
|
%t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0
|
|
%t122 = load ptr, ptr %t121
|
|
%t123 = call ptr @fn_str_concat(ptr @.str3034, ptr %t122)
|
|
%t124 = call ptr @fn_str_concat(ptr %t123, ptr @.str3035)
|
|
%t125 = load ptr, ptr %t89
|
|
%t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0
|
|
%t127 = load ptr, ptr %t126
|
|
%t128 = call ptr @fn_str_concat(ptr %t124, ptr %t127)
|
|
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str3036)
|
|
%t130 = call ptr @fn_emit_bind(ptr %t129)
|
|
%t131 = call ptr @fn_val(ptr %t130, ptr @.str3037)
|
|
store ptr %t131, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t132 = load ptr, ptr %retval
|
|
ret ptr %t132
|
|
}
|
|
|
|
define ptr @fn_emit_path_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t69 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
store i32 1, ptr @g_g_uses_fsrt
|
|
%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 @.str3038)
|
|
%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_str_concat(ptr @.str3039, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3040)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str3041)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3042)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then3, label %ifend5
|
|
then3:
|
|
%t24 = load ptr, ptr %t10
|
|
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = call ptr @fn_str_concat(ptr @.str3043, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3044)
|
|
%t29 = call ptr @fn_emit_bind(ptr %t28)
|
|
%t30 = call ptr @fn_val(ptr %t29, ptr @.str3045)
|
|
store ptr %t30, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3046)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then6, label %ifend8
|
|
then6:
|
|
%t34 = load ptr, ptr %t10
|
|
%t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = call ptr @fn_str_concat(ptr @.str3047, ptr %t36)
|
|
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3048)
|
|
%t39 = call ptr @fn_emit_bind(ptr %t38)
|
|
%t40 = call ptr @fn_val(ptr %t39, ptr @.str3049)
|
|
store ptr %t40, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t41 = load ptr, ptr %t0
|
|
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3050)
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then9, label %ifend11
|
|
then9:
|
|
%t44 = load ptr, ptr %t10
|
|
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = call ptr @fn_str_concat(ptr @.str3051, ptr %t46)
|
|
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3052)
|
|
%t49 = call ptr @fn_emit_bind(ptr %t48)
|
|
%t50 = call ptr @fn_val(ptr %t49, ptr @.str3053)
|
|
store ptr %t50, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3054)
|
|
%t53 = icmp ne i32 %t52, 0
|
|
br i1 %t53, label %then12, label %ifend14
|
|
then12:
|
|
%t54 = load ptr, ptr %t10
|
|
%t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = call ptr @fn_str_concat(ptr @.str3055, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3056)
|
|
%t59 = call ptr @fn_emit_bind(ptr %t58)
|
|
%t60 = call ptr @fn_val(ptr %t59, ptr @.str3057)
|
|
store ptr %t60, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t61 = load ptr, ptr %t1
|
|
%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 0
|
|
%t65 = load ptr, ptr %t64
|
|
%t66 = getelementptr inbounds ptr, ptr %t65, i32 1
|
|
%t67 = load ptr, ptr %t66
|
|
%t68 = call ptr @fn_emit_expr(ptr %t67)
|
|
store ptr %t68, ptr %t69
|
|
%t70 = load ptr, ptr %t10
|
|
%t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 0
|
|
%t72 = load ptr, ptr %t71
|
|
%t73 = call ptr @fn_str_concat(ptr @.str3058, ptr %t72)
|
|
%t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str3059)
|
|
%t75 = load ptr, ptr %t69
|
|
%t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = call ptr @fn_str_concat(ptr %t74, ptr %t77)
|
|
%t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str3060)
|
|
%t80 = call ptr @fn_emit_bind(ptr %t79)
|
|
%t81 = call ptr @fn_val(ptr %t80, ptr @.str3061)
|
|
store ptr %t81, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t82 = load ptr, ptr %retval
|
|
ret ptr %t82
|
|
}
|
|
|
|
define ptr @fn_emit_mime_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
|
|
store i32 1, ptr @g_g_uses_fsrt
|
|
%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 @.str3062)
|
|
%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_str_concat(ptr @.str3063, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3064)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str3065)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%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 @.str3066, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3067)
|
|
%t26 = call ptr @fn_emit_bind(ptr %t25)
|
|
%t27 = call ptr @fn_val(ptr %t26, ptr @.str3068)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load ptr, ptr %retval
|
|
ret ptr %t28
|
|
}
|
|
|
|
define void @fn_emit_fs_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str3069)
|
|
call void @fn_emith(ptr @.str3070)
|
|
call void @fn_emith(ptr @.str3071)
|
|
call void @fn_emith(ptr @.str3072)
|
|
call void @fn_emith(ptr @.str3073)
|
|
call void @fn_emith(ptr @.str3074)
|
|
call void @fn_emith(ptr @.str3075)
|
|
call void @fn_emith(ptr @.str3076)
|
|
call void @fn_emit_fs_common()
|
|
call void @fn_emit_fs_path()
|
|
call void @fn_emit_fs_io()
|
|
call void @fn_emit_fs_dir()
|
|
call void @fn_emit_fs_mime()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_fs_common() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str3077)
|
|
call void @fn_emith(ptr @.str3078)
|
|
call void @fn_emith(ptr @.str3079)
|
|
call void @fn_emith(ptr @.str3080)
|
|
call void @fn_emith(ptr @.str3081)
|
|
call void @fn_emith(ptr @.str3082)
|
|
call void @fn_emith(ptr @.str3083)
|
|
call void @fn_emith(ptr @.str3084)
|
|
call void @fn_emith(ptr @.str3085)
|
|
call void @fn_emith(ptr @.str3086)
|
|
call void @fn_emith(ptr @.str3087)
|
|
call void @fn_emith(ptr @.str3088)
|
|
call void @fn_emith(ptr @.str3089)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_fs_path() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str3090)
|
|
call void @fn_emith(ptr @.str3091)
|
|
call void @fn_emith(ptr @.str3092)
|
|
call void @fn_emith(ptr @.str3093)
|
|
call void @fn_emith(ptr @.str3094)
|
|
call void @fn_emith(ptr @.str3095)
|
|
call void @fn_emith(ptr @.str3096)
|
|
call void @fn_emith(ptr @.str3097)
|
|
call void @fn_emith(ptr @.str3098)
|
|
call void @fn_emith(ptr @.str3099)
|
|
call void @fn_emith(ptr @.str3100)
|
|
call void @fn_emith(ptr @.str3101)
|
|
call void @fn_emith(ptr @.str3102)
|
|
call void @fn_emith(ptr @.str3103)
|
|
call void @fn_emith(ptr @.str3104)
|
|
call void @fn_emith(ptr @.str3105)
|
|
call void @fn_emith(ptr @.str3106)
|
|
call void @fn_emith(ptr @.str3107)
|
|
call void @fn_emith(ptr @.str3108)
|
|
call void @fn_emith(ptr @.str3109)
|
|
call void @fn_emith(ptr @.str3110)
|
|
call void @fn_emith(ptr @.str3111)
|
|
call void @fn_emith(ptr @.str3112)
|
|
call void @fn_emith(ptr @.str3113)
|
|
call void @fn_emith(ptr @.str3114)
|
|
call void @fn_emith(ptr @.str3115)
|
|
call void @fn_emith(ptr @.str3116)
|
|
call void @fn_emith(ptr @.str3117)
|
|
call void @fn_emith(ptr @.str3118)
|
|
call void @fn_emith(ptr @.str3119)
|
|
call void @fn_emith(ptr @.str3120)
|
|
call void @fn_emith(ptr @.str3121)
|
|
call void @fn_emith(ptr @.str3122)
|
|
call void @fn_emith(ptr @.str3123)
|
|
call void @fn_emith(ptr @.str3124)
|
|
call void @fn_emith(ptr @.str3125)
|
|
call void @fn_emith(ptr @.str3126)
|
|
call void @fn_emith(ptr @.str3127)
|
|
call void @fn_emith(ptr @.str3128)
|
|
call void @fn_emith(ptr @.str3129)
|
|
call void @fn_emith(ptr @.str3130)
|
|
call void @fn_emith(ptr @.str3131)
|
|
call void @fn_emit_fs_normalize()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_fs_normalize() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str3132)
|
|
call void @fn_emith(ptr @.str3133)
|
|
call void @fn_emith(ptr @.str3134)
|
|
call void @fn_emith(ptr @.str3135)
|
|
call void @fn_emith(ptr @.str3136)
|
|
call void @fn_emith(ptr @.str3137)
|
|
call void @fn_emith(ptr @.str3138)
|
|
call void @fn_emith(ptr @.str3139)
|
|
call void @fn_emith(ptr @.str3140)
|
|
call void @fn_emith(ptr @.str3141)
|
|
call void @fn_emith(ptr @.str3142)
|
|
call void @fn_emith(ptr @.str3143)
|
|
call void @fn_emith(ptr @.str3144)
|
|
call void @fn_emith(ptr @.str3145)
|
|
call void @fn_emith(ptr @.str3146)
|
|
call void @fn_emith(ptr @.str3147)
|
|
call void @fn_emith(ptr @.str3148)
|
|
call void @fn_emith(ptr @.str3149)
|
|
call void @fn_emith(ptr @.str3150)
|
|
call void @fn_emith(ptr @.str3151)
|
|
call void @fn_emith(ptr @.str3152)
|
|
call void @fn_emith(ptr @.str3153)
|
|
call void @fn_emith(ptr @.str3154)
|
|
call void @fn_emith(ptr @.str3155)
|
|
call void @fn_emith(ptr @.str3156)
|
|
call void @fn_emith(ptr @.str3157)
|
|
call void @fn_emith(ptr @.str3158)
|
|
call void @fn_emith(ptr @.str3159)
|
|
call void @fn_emith(ptr @.str3160)
|
|
call void @fn_emith(ptr @.str3161)
|
|
call void @fn_emith(ptr @.str3162)
|
|
call void @fn_emith(ptr @.str3163)
|
|
call void @fn_emith(ptr @.str3164)
|
|
call void @fn_emith(ptr @.str3165)
|
|
call void @fn_emith(ptr @.str3166)
|
|
call void @fn_emith(ptr @.str3167)
|
|
call void @fn_emith(ptr @.str3168)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_fs_io() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str3169)
|
|
call void @fn_emith(ptr @.str3170)
|
|
call void @fn_emith(ptr @.str3171)
|
|
call void @fn_emith(ptr @.str3172)
|
|
call void @fn_emith(ptr @.str3173)
|
|
call void @fn_emith(ptr @.str3174)
|
|
call void @fn_emith(ptr @.str3175)
|
|
call void @fn_emith(ptr @.str3176)
|
|
call void @fn_emith(ptr @.str3177)
|
|
call void @fn_emith(ptr @.str3178)
|
|
call void @fn_emith(ptr @.str3179)
|
|
call void @fn_emith(ptr @.str3180)
|
|
call void @fn_emith(ptr @.str3181)
|
|
call void @fn_emith(ptr @.str3182)
|
|
call void @fn_emith(ptr @.str3183)
|
|
call void @fn_emith(ptr @.str3184)
|
|
call void @fn_emith(ptr @.str3185)
|
|
call void @fn_emith(ptr @.str3186)
|
|
call void @fn_emith(ptr @.str3187)
|
|
call void @fn_emith(ptr @.str3188)
|
|
call void @fn_emith(ptr @.str3189)
|
|
call void @fn_emith(ptr @.str3190)
|
|
call void @fn_emith(ptr @.str3191)
|
|
call void @fn_emith(ptr @.str3192)
|
|
call void @fn_emith(ptr @.str3193)
|
|
call void @fn_emith(ptr @.str3194)
|
|
call void @fn_emith(ptr @.str3195)
|
|
call void @fn_emith(ptr @.str3196)
|
|
call void @fn_emith(ptr @.str3197)
|
|
call void @fn_emith(ptr @.str3198)
|
|
call void @fn_emith(ptr @.str3199)
|
|
call void @fn_emith(ptr @.str3200)
|
|
call void @fn_emith(ptr @.str3201)
|
|
call void @fn_emith(ptr @.str3202)
|
|
call void @fn_emith(ptr @.str3203)
|
|
call void @fn_emith(ptr @.str3204)
|
|
call void @fn_emith(ptr @.str3205)
|
|
call void @fn_emith(ptr @.str3206)
|
|
call void @fn_emith(ptr @.str3207)
|
|
call void @fn_emith(ptr @.str3208)
|
|
call void @fn_emith(ptr @.str3209)
|
|
call void @fn_emith(ptr @.str3210)
|
|
call void @fn_emith(ptr @.str3211)
|
|
call void @fn_emith(ptr @.str3212)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_fs_dir() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str3213)
|
|
call void @fn_emith(ptr @.str3214)
|
|
call void @fn_emith(ptr @.str3215)
|
|
call void @fn_emith(ptr @.str3216)
|
|
call void @fn_emith(ptr @.str3217)
|
|
call void @fn_emith(ptr @.str3218)
|
|
call void @fn_emith(ptr @.str3219)
|
|
call void @fn_emith(ptr @.str3220)
|
|
call void @fn_emith(ptr @.str3221)
|
|
call void @fn_emith(ptr @.str3222)
|
|
call void @fn_emith(ptr @.str3223)
|
|
call void @fn_emith(ptr @.str3224)
|
|
call void @fn_emith(ptr @.str3225)
|
|
call void @fn_emith(ptr @.str3226)
|
|
call void @fn_emith(ptr @.str3227)
|
|
call void @fn_emith(ptr @.str3228)
|
|
call void @fn_emith(ptr @.str3229)
|
|
call void @fn_emith(ptr @.str3230)
|
|
call void @fn_emith(ptr @.str3231)
|
|
call void @fn_emith(ptr @.str3232)
|
|
call void @fn_emith(ptr @.str3233)
|
|
call void @fn_emith(ptr @.str3234)
|
|
call void @fn_emith(ptr @.str3235)
|
|
call void @fn_emith(ptr @.str3236)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_fs_mime() {
|
|
entry:
|
|
%t6 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t932 = alloca ptr
|
|
%t939 = alloca ptr
|
|
%t940 = alloca i32
|
|
%t1003 = alloca ptr
|
|
%t1007 = 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 %t6
|
|
%t7 = getelementptr %LSlice, ptr null, i32 1
|
|
%t8 = ptrtoint ptr %t7 to i64
|
|
%t9 = call ptr @malloc(i64 %t8)
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
store ptr null, ptr %t10
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1
|
|
store i32 0, ptr %t11
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 2
|
|
store i32 0, ptr %t12
|
|
store ptr %t9, ptr %t13
|
|
%t14 = load ptr, ptr %t6
|
|
%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 %t17
|
|
%t31 = getelementptr inbounds ptr, ptr %t30, i32 %t18
|
|
store ptr @.str3237, ptr %t31
|
|
%t32 = add i32 %t18, 1
|
|
store i32 %t32, ptr %t15
|
|
%t33 = load ptr, ptr %t13
|
|
%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 %grow2, label %put3
|
|
grow2:
|
|
%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 %put3
|
|
put3:
|
|
%t49 = load ptr, ptr %t36
|
|
%t50 = getelementptr inbounds ptr, ptr %t49, i32 %t37
|
|
store ptr @.str3238, ptr %t50
|
|
%t51 = add i32 %t37, 1
|
|
store i32 %t51, ptr %t34
|
|
%t52 = load ptr, ptr %t6
|
|
%t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1
|
|
%t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2
|
|
%t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0
|
|
%t56 = load i32, ptr %t53
|
|
%t57 = load i32, ptr %t54
|
|
%t58 = icmp sge i32 %t56, %t57
|
|
br i1 %t58, label %grow4, label %put5
|
|
grow4:
|
|
%t59 = mul i32 %t57, 2
|
|
%t60 = icmp eq i32 %t57, 0
|
|
%t61 = select i1 %t60, i32 8, i32 %t59
|
|
%t62 = getelementptr ptr, ptr null, i32 1
|
|
%t63 = ptrtoint ptr %t62 to i64
|
|
%t64 = zext i32 %t61 to i64
|
|
%t65 = mul i64 %t64, %t63
|
|
%t66 = load ptr, ptr %t55
|
|
%t67 = call ptr @realloc(ptr %t66, i64 %t65)
|
|
store ptr %t67, ptr %t55
|
|
store i32 %t61, ptr %t54
|
|
br label %put5
|
|
put5:
|
|
%t68 = load ptr, ptr %t55
|
|
%t69 = getelementptr inbounds ptr, ptr %t68, i32 %t56
|
|
store ptr @.str3239, ptr %t69
|
|
%t70 = add i32 %t56, 1
|
|
store i32 %t70, ptr %t53
|
|
%t71 = load ptr, ptr %t13
|
|
%t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1
|
|
%t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 2
|
|
%t74 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0
|
|
%t75 = load i32, ptr %t72
|
|
%t76 = load i32, ptr %t73
|
|
%t77 = icmp sge i32 %t75, %t76
|
|
br i1 %t77, label %grow6, label %put7
|
|
grow6:
|
|
%t78 = mul i32 %t76, 2
|
|
%t79 = icmp eq i32 %t76, 0
|
|
%t80 = select i1 %t79, i32 8, i32 %t78
|
|
%t81 = getelementptr ptr, ptr null, i32 1
|
|
%t82 = ptrtoint ptr %t81 to i64
|
|
%t83 = zext i32 %t80 to i64
|
|
%t84 = mul i64 %t83, %t82
|
|
%t85 = load ptr, ptr %t74
|
|
%t86 = call ptr @realloc(ptr %t85, i64 %t84)
|
|
store ptr %t86, ptr %t74
|
|
store i32 %t80, ptr %t73
|
|
br label %put7
|
|
put7:
|
|
%t87 = load ptr, ptr %t74
|
|
%t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75
|
|
store ptr @.str3240, ptr %t88
|
|
%t89 = add i32 %t75, 1
|
|
store i32 %t89, ptr %t72
|
|
%t90 = load ptr, ptr %t6
|
|
%t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1
|
|
%t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 2
|
|
%t93 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0
|
|
%t94 = load i32, ptr %t91
|
|
%t95 = load i32, ptr %t92
|
|
%t96 = icmp sge i32 %t94, %t95
|
|
br i1 %t96, label %grow8, label %put9
|
|
grow8:
|
|
%t97 = mul i32 %t95, 2
|
|
%t98 = icmp eq i32 %t95, 0
|
|
%t99 = select i1 %t98, i32 8, i32 %t97
|
|
%t100 = getelementptr ptr, ptr null, i32 1
|
|
%t101 = ptrtoint ptr %t100 to i64
|
|
%t102 = zext i32 %t99 to i64
|
|
%t103 = mul i64 %t102, %t101
|
|
%t104 = load ptr, ptr %t93
|
|
%t105 = call ptr @realloc(ptr %t104, i64 %t103)
|
|
store ptr %t105, ptr %t93
|
|
store i32 %t99, ptr %t92
|
|
br label %put9
|
|
put9:
|
|
%t106 = load ptr, ptr %t93
|
|
%t107 = getelementptr inbounds ptr, ptr %t106, i32 %t94
|
|
store ptr @.str3241, ptr %t107
|
|
%t108 = add i32 %t94, 1
|
|
store i32 %t108, ptr %t91
|
|
%t109 = load ptr, ptr %t13
|
|
%t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1
|
|
%t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 2
|
|
%t112 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0
|
|
%t113 = load i32, ptr %t110
|
|
%t114 = load i32, ptr %t111
|
|
%t115 = icmp sge i32 %t113, %t114
|
|
br i1 %t115, label %grow10, label %put11
|
|
grow10:
|
|
%t116 = mul i32 %t114, 2
|
|
%t117 = icmp eq i32 %t114, 0
|
|
%t118 = select i1 %t117, i32 8, i32 %t116
|
|
%t119 = getelementptr ptr, ptr null, i32 1
|
|
%t120 = ptrtoint ptr %t119 to i64
|
|
%t121 = zext i32 %t118 to i64
|
|
%t122 = mul i64 %t121, %t120
|
|
%t123 = load ptr, ptr %t112
|
|
%t124 = call ptr @realloc(ptr %t123, i64 %t122)
|
|
store ptr %t124, ptr %t112
|
|
store i32 %t118, ptr %t111
|
|
br label %put11
|
|
put11:
|
|
%t125 = load ptr, ptr %t112
|
|
%t126 = getelementptr inbounds ptr, ptr %t125, i32 %t113
|
|
store ptr @.str3242, ptr %t126
|
|
%t127 = add i32 %t113, 1
|
|
store i32 %t127, ptr %t110
|
|
%t128 = load ptr, ptr %t6
|
|
%t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1
|
|
%t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 2
|
|
%t131 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0
|
|
%t132 = load i32, ptr %t129
|
|
%t133 = load i32, ptr %t130
|
|
%t134 = icmp sge i32 %t132, %t133
|
|
br i1 %t134, label %grow12, label %put13
|
|
grow12:
|
|
%t135 = mul i32 %t133, 2
|
|
%t136 = icmp eq i32 %t133, 0
|
|
%t137 = select i1 %t136, i32 8, i32 %t135
|
|
%t138 = getelementptr ptr, ptr null, i32 1
|
|
%t139 = ptrtoint ptr %t138 to i64
|
|
%t140 = zext i32 %t137 to i64
|
|
%t141 = mul i64 %t140, %t139
|
|
%t142 = load ptr, ptr %t131
|
|
%t143 = call ptr @realloc(ptr %t142, i64 %t141)
|
|
store ptr %t143, ptr %t131
|
|
store i32 %t137, ptr %t130
|
|
br label %put13
|
|
put13:
|
|
%t144 = load ptr, ptr %t131
|
|
%t145 = getelementptr inbounds ptr, ptr %t144, i32 %t132
|
|
store ptr @.str3243, ptr %t145
|
|
%t146 = add i32 %t132, 1
|
|
store i32 %t146, ptr %t129
|
|
%t147 = load ptr, ptr %t13
|
|
%t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1
|
|
%t149 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 2
|
|
%t150 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0
|
|
%t151 = load i32, ptr %t148
|
|
%t152 = load i32, ptr %t149
|
|
%t153 = icmp sge i32 %t151, %t152
|
|
br i1 %t153, label %grow14, label %put15
|
|
grow14:
|
|
%t154 = mul i32 %t152, 2
|
|
%t155 = icmp eq i32 %t152, 0
|
|
%t156 = select i1 %t155, i32 8, i32 %t154
|
|
%t157 = getelementptr ptr, ptr null, i32 1
|
|
%t158 = ptrtoint ptr %t157 to i64
|
|
%t159 = zext i32 %t156 to i64
|
|
%t160 = mul i64 %t159, %t158
|
|
%t161 = load ptr, ptr %t150
|
|
%t162 = call ptr @realloc(ptr %t161, i64 %t160)
|
|
store ptr %t162, ptr %t150
|
|
store i32 %t156, ptr %t149
|
|
br label %put15
|
|
put15:
|
|
%t163 = load ptr, ptr %t150
|
|
%t164 = getelementptr inbounds ptr, ptr %t163, i32 %t151
|
|
store ptr @.str3244, ptr %t164
|
|
%t165 = add i32 %t151, 1
|
|
store i32 %t165, ptr %t148
|
|
%t166 = load ptr, ptr %t6
|
|
%t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1
|
|
%t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 2
|
|
%t169 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0
|
|
%t170 = load i32, ptr %t167
|
|
%t171 = load i32, ptr %t168
|
|
%t172 = icmp sge i32 %t170, %t171
|
|
br i1 %t172, label %grow16, label %put17
|
|
grow16:
|
|
%t173 = mul i32 %t171, 2
|
|
%t174 = icmp eq i32 %t171, 0
|
|
%t175 = select i1 %t174, i32 8, i32 %t173
|
|
%t176 = getelementptr ptr, ptr null, i32 1
|
|
%t177 = ptrtoint ptr %t176 to i64
|
|
%t178 = zext i32 %t175 to i64
|
|
%t179 = mul i64 %t178, %t177
|
|
%t180 = load ptr, ptr %t169
|
|
%t181 = call ptr @realloc(ptr %t180, i64 %t179)
|
|
store ptr %t181, ptr %t169
|
|
store i32 %t175, ptr %t168
|
|
br label %put17
|
|
put17:
|
|
%t182 = load ptr, ptr %t169
|
|
%t183 = getelementptr inbounds ptr, ptr %t182, i32 %t170
|
|
store ptr @.str3245, ptr %t183
|
|
%t184 = add i32 %t170, 1
|
|
store i32 %t184, ptr %t167
|
|
%t185 = load ptr, ptr %t13
|
|
%t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1
|
|
%t187 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 2
|
|
%t188 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0
|
|
%t189 = load i32, ptr %t186
|
|
%t190 = load i32, ptr %t187
|
|
%t191 = icmp sge i32 %t189, %t190
|
|
br i1 %t191, label %grow18, label %put19
|
|
grow18:
|
|
%t192 = mul i32 %t190, 2
|
|
%t193 = icmp eq i32 %t190, 0
|
|
%t194 = select i1 %t193, i32 8, i32 %t192
|
|
%t195 = getelementptr ptr, ptr null, i32 1
|
|
%t196 = ptrtoint ptr %t195 to i64
|
|
%t197 = zext i32 %t194 to i64
|
|
%t198 = mul i64 %t197, %t196
|
|
%t199 = load ptr, ptr %t188
|
|
%t200 = call ptr @realloc(ptr %t199, i64 %t198)
|
|
store ptr %t200, ptr %t188
|
|
store i32 %t194, ptr %t187
|
|
br label %put19
|
|
put19:
|
|
%t201 = load ptr, ptr %t188
|
|
%t202 = getelementptr inbounds ptr, ptr %t201, i32 %t189
|
|
store ptr @.str3246, ptr %t202
|
|
%t203 = add i32 %t189, 1
|
|
store i32 %t203, ptr %t186
|
|
%t204 = load ptr, ptr %t6
|
|
%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 %grow20, label %put21
|
|
grow20:
|
|
%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 %put21
|
|
put21:
|
|
%t220 = load ptr, ptr %t207
|
|
%t221 = getelementptr inbounds ptr, ptr %t220, i32 %t208
|
|
store ptr @.str3247, ptr %t221
|
|
%t222 = add i32 %t208, 1
|
|
store i32 %t222, ptr %t205
|
|
%t223 = load ptr, ptr %t13
|
|
%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 %grow22, label %put23
|
|
grow22:
|
|
%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 %put23
|
|
put23:
|
|
%t239 = load ptr, ptr %t226
|
|
%t240 = getelementptr inbounds ptr, ptr %t239, i32 %t227
|
|
store ptr @.str3248, ptr %t240
|
|
%t241 = add i32 %t227, 1
|
|
store i32 %t241, ptr %t224
|
|
%t242 = load ptr, ptr %t6
|
|
%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 %grow24, label %put25
|
|
grow24:
|
|
%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 %put25
|
|
put25:
|
|
%t258 = load ptr, ptr %t245
|
|
%t259 = getelementptr inbounds ptr, ptr %t258, i32 %t246
|
|
store ptr @.str3249, ptr %t259
|
|
%t260 = add i32 %t246, 1
|
|
store i32 %t260, ptr %t243
|
|
%t261 = load ptr, ptr %t13
|
|
%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 %grow26, label %put27
|
|
grow26:
|
|
%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 %put27
|
|
put27:
|
|
%t277 = load ptr, ptr %t264
|
|
%t278 = getelementptr inbounds ptr, ptr %t277, i32 %t265
|
|
store ptr @.str3250, ptr %t278
|
|
%t279 = add i32 %t265, 1
|
|
store i32 %t279, ptr %t262
|
|
%t280 = load ptr, ptr %t6
|
|
%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 %grow28, label %put29
|
|
grow28:
|
|
%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 %put29
|
|
put29:
|
|
%t296 = load ptr, ptr %t283
|
|
%t297 = getelementptr inbounds ptr, ptr %t296, i32 %t284
|
|
store ptr @.str3251, ptr %t297
|
|
%t298 = add i32 %t284, 1
|
|
store i32 %t298, ptr %t281
|
|
%t299 = load ptr, ptr %t13
|
|
%t300 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 1
|
|
%t301 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 2
|
|
%t302 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 0
|
|
%t303 = load i32, ptr %t300
|
|
%t304 = load i32, ptr %t301
|
|
%t305 = icmp sge i32 %t303, %t304
|
|
br i1 %t305, label %grow30, label %put31
|
|
grow30:
|
|
%t306 = mul i32 %t304, 2
|
|
%t307 = icmp eq i32 %t304, 0
|
|
%t308 = select i1 %t307, i32 8, i32 %t306
|
|
%t309 = getelementptr ptr, ptr null, i32 1
|
|
%t310 = ptrtoint ptr %t309 to i64
|
|
%t311 = zext i32 %t308 to i64
|
|
%t312 = mul i64 %t311, %t310
|
|
%t313 = load ptr, ptr %t302
|
|
%t314 = call ptr @realloc(ptr %t313, i64 %t312)
|
|
store ptr %t314, ptr %t302
|
|
store i32 %t308, ptr %t301
|
|
br label %put31
|
|
put31:
|
|
%t315 = load ptr, ptr %t302
|
|
%t316 = getelementptr inbounds ptr, ptr %t315, i32 %t303
|
|
store ptr @.str3252, ptr %t316
|
|
%t317 = add i32 %t303, 1
|
|
store i32 %t317, ptr %t300
|
|
%t318 = load ptr, ptr %t6
|
|
%t319 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 1
|
|
%t320 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 2
|
|
%t321 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 0
|
|
%t322 = load i32, ptr %t319
|
|
%t323 = load i32, ptr %t320
|
|
%t324 = icmp sge i32 %t322, %t323
|
|
br i1 %t324, label %grow32, label %put33
|
|
grow32:
|
|
%t325 = mul i32 %t323, 2
|
|
%t326 = icmp eq i32 %t323, 0
|
|
%t327 = select i1 %t326, i32 8, i32 %t325
|
|
%t328 = getelementptr ptr, ptr null, i32 1
|
|
%t329 = ptrtoint ptr %t328 to i64
|
|
%t330 = zext i32 %t327 to i64
|
|
%t331 = mul i64 %t330, %t329
|
|
%t332 = load ptr, ptr %t321
|
|
%t333 = call ptr @realloc(ptr %t332, i64 %t331)
|
|
store ptr %t333, ptr %t321
|
|
store i32 %t327, ptr %t320
|
|
br label %put33
|
|
put33:
|
|
%t334 = load ptr, ptr %t321
|
|
%t335 = getelementptr inbounds ptr, ptr %t334, i32 %t322
|
|
store ptr @.str3253, ptr %t335
|
|
%t336 = add i32 %t322, 1
|
|
store i32 %t336, ptr %t319
|
|
%t337 = load ptr, ptr %t13
|
|
%t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 1
|
|
%t339 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 2
|
|
%t340 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 0
|
|
%t341 = load i32, ptr %t338
|
|
%t342 = load i32, ptr %t339
|
|
%t343 = icmp sge i32 %t341, %t342
|
|
br i1 %t343, label %grow34, label %put35
|
|
grow34:
|
|
%t344 = mul i32 %t342, 2
|
|
%t345 = icmp eq i32 %t342, 0
|
|
%t346 = select i1 %t345, i32 8, i32 %t344
|
|
%t347 = getelementptr ptr, ptr null, i32 1
|
|
%t348 = ptrtoint ptr %t347 to i64
|
|
%t349 = zext i32 %t346 to i64
|
|
%t350 = mul i64 %t349, %t348
|
|
%t351 = load ptr, ptr %t340
|
|
%t352 = call ptr @realloc(ptr %t351, i64 %t350)
|
|
store ptr %t352, ptr %t340
|
|
store i32 %t346, ptr %t339
|
|
br label %put35
|
|
put35:
|
|
%t353 = load ptr, ptr %t340
|
|
%t354 = getelementptr inbounds ptr, ptr %t353, i32 %t341
|
|
store ptr @.str3254, ptr %t354
|
|
%t355 = add i32 %t341, 1
|
|
store i32 %t355, ptr %t338
|
|
%t356 = load ptr, ptr %t6
|
|
%t357 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 1
|
|
%t358 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 2
|
|
%t359 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0
|
|
%t360 = load i32, ptr %t357
|
|
%t361 = load i32, ptr %t358
|
|
%t362 = icmp sge i32 %t360, %t361
|
|
br i1 %t362, label %grow36, label %put37
|
|
grow36:
|
|
%t363 = mul i32 %t361, 2
|
|
%t364 = icmp eq i32 %t361, 0
|
|
%t365 = select i1 %t364, i32 8, i32 %t363
|
|
%t366 = getelementptr ptr, ptr null, i32 1
|
|
%t367 = ptrtoint ptr %t366 to i64
|
|
%t368 = zext i32 %t365 to i64
|
|
%t369 = mul i64 %t368, %t367
|
|
%t370 = load ptr, ptr %t359
|
|
%t371 = call ptr @realloc(ptr %t370, i64 %t369)
|
|
store ptr %t371, ptr %t359
|
|
store i32 %t365, ptr %t358
|
|
br label %put37
|
|
put37:
|
|
%t372 = load ptr, ptr %t359
|
|
%t373 = getelementptr inbounds ptr, ptr %t372, i32 %t360
|
|
store ptr @.str3255, ptr %t373
|
|
%t374 = add i32 %t360, 1
|
|
store i32 %t374, ptr %t357
|
|
%t375 = load ptr, ptr %t13
|
|
%t376 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 1
|
|
%t377 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 2
|
|
%t378 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 0
|
|
%t379 = load i32, ptr %t376
|
|
%t380 = load i32, ptr %t377
|
|
%t381 = icmp sge i32 %t379, %t380
|
|
br i1 %t381, label %grow38, label %put39
|
|
grow38:
|
|
%t382 = mul i32 %t380, 2
|
|
%t383 = icmp eq i32 %t380, 0
|
|
%t384 = select i1 %t383, i32 8, i32 %t382
|
|
%t385 = getelementptr ptr, ptr null, i32 1
|
|
%t386 = ptrtoint ptr %t385 to i64
|
|
%t387 = zext i32 %t384 to i64
|
|
%t388 = mul i64 %t387, %t386
|
|
%t389 = load ptr, ptr %t378
|
|
%t390 = call ptr @realloc(ptr %t389, i64 %t388)
|
|
store ptr %t390, ptr %t378
|
|
store i32 %t384, ptr %t377
|
|
br label %put39
|
|
put39:
|
|
%t391 = load ptr, ptr %t378
|
|
%t392 = getelementptr inbounds ptr, ptr %t391, i32 %t379
|
|
store ptr @.str3256, ptr %t392
|
|
%t393 = add i32 %t379, 1
|
|
store i32 %t393, ptr %t376
|
|
%t394 = load ptr, ptr %t6
|
|
%t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1
|
|
%t396 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 2
|
|
%t397 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0
|
|
%t398 = load i32, ptr %t395
|
|
%t399 = load i32, ptr %t396
|
|
%t400 = icmp sge i32 %t398, %t399
|
|
br i1 %t400, label %grow40, label %put41
|
|
grow40:
|
|
%t401 = mul i32 %t399, 2
|
|
%t402 = icmp eq i32 %t399, 0
|
|
%t403 = select i1 %t402, i32 8, i32 %t401
|
|
%t404 = getelementptr ptr, ptr null, i32 1
|
|
%t405 = ptrtoint ptr %t404 to i64
|
|
%t406 = zext i32 %t403 to i64
|
|
%t407 = mul i64 %t406, %t405
|
|
%t408 = load ptr, ptr %t397
|
|
%t409 = call ptr @realloc(ptr %t408, i64 %t407)
|
|
store ptr %t409, ptr %t397
|
|
store i32 %t403, ptr %t396
|
|
br label %put41
|
|
put41:
|
|
%t410 = load ptr, ptr %t397
|
|
%t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398
|
|
store ptr @.str3257, ptr %t411
|
|
%t412 = add i32 %t398, 1
|
|
store i32 %t412, ptr %t395
|
|
%t413 = load ptr, ptr %t13
|
|
%t414 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 1
|
|
%t415 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 2
|
|
%t416 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 0
|
|
%t417 = load i32, ptr %t414
|
|
%t418 = load i32, ptr %t415
|
|
%t419 = icmp sge i32 %t417, %t418
|
|
br i1 %t419, label %grow42, label %put43
|
|
grow42:
|
|
%t420 = mul i32 %t418, 2
|
|
%t421 = icmp eq i32 %t418, 0
|
|
%t422 = select i1 %t421, i32 8, i32 %t420
|
|
%t423 = getelementptr ptr, ptr null, i32 1
|
|
%t424 = ptrtoint ptr %t423 to i64
|
|
%t425 = zext i32 %t422 to i64
|
|
%t426 = mul i64 %t425, %t424
|
|
%t427 = load ptr, ptr %t416
|
|
%t428 = call ptr @realloc(ptr %t427, i64 %t426)
|
|
store ptr %t428, ptr %t416
|
|
store i32 %t422, ptr %t415
|
|
br label %put43
|
|
put43:
|
|
%t429 = load ptr, ptr %t416
|
|
%t430 = getelementptr inbounds ptr, ptr %t429, i32 %t417
|
|
store ptr @.str3258, ptr %t430
|
|
%t431 = add i32 %t417, 1
|
|
store i32 %t431, ptr %t414
|
|
%t432 = load ptr, ptr %t6
|
|
%t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 1
|
|
%t434 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 2
|
|
%t435 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0
|
|
%t436 = load i32, ptr %t433
|
|
%t437 = load i32, ptr %t434
|
|
%t438 = icmp sge i32 %t436, %t437
|
|
br i1 %t438, label %grow44, label %put45
|
|
grow44:
|
|
%t439 = mul i32 %t437, 2
|
|
%t440 = icmp eq i32 %t437, 0
|
|
%t441 = select i1 %t440, i32 8, i32 %t439
|
|
%t442 = getelementptr ptr, ptr null, i32 1
|
|
%t443 = ptrtoint ptr %t442 to i64
|
|
%t444 = zext i32 %t441 to i64
|
|
%t445 = mul i64 %t444, %t443
|
|
%t446 = load ptr, ptr %t435
|
|
%t447 = call ptr @realloc(ptr %t446, i64 %t445)
|
|
store ptr %t447, ptr %t435
|
|
store i32 %t441, ptr %t434
|
|
br label %put45
|
|
put45:
|
|
%t448 = load ptr, ptr %t435
|
|
%t449 = getelementptr inbounds ptr, ptr %t448, i32 %t436
|
|
store ptr @.str3259, ptr %t449
|
|
%t450 = add i32 %t436, 1
|
|
store i32 %t450, ptr %t433
|
|
%t451 = load ptr, ptr %t13
|
|
%t452 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 1
|
|
%t453 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 2
|
|
%t454 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 0
|
|
%t455 = load i32, ptr %t452
|
|
%t456 = load i32, ptr %t453
|
|
%t457 = icmp sge i32 %t455, %t456
|
|
br i1 %t457, label %grow46, label %put47
|
|
grow46:
|
|
%t458 = mul i32 %t456, 2
|
|
%t459 = icmp eq i32 %t456, 0
|
|
%t460 = select i1 %t459, i32 8, i32 %t458
|
|
%t461 = getelementptr ptr, ptr null, i32 1
|
|
%t462 = ptrtoint ptr %t461 to i64
|
|
%t463 = zext i32 %t460 to i64
|
|
%t464 = mul i64 %t463, %t462
|
|
%t465 = load ptr, ptr %t454
|
|
%t466 = call ptr @realloc(ptr %t465, i64 %t464)
|
|
store ptr %t466, ptr %t454
|
|
store i32 %t460, ptr %t453
|
|
br label %put47
|
|
put47:
|
|
%t467 = load ptr, ptr %t454
|
|
%t468 = getelementptr inbounds ptr, ptr %t467, i32 %t455
|
|
store ptr @.str3260, ptr %t468
|
|
%t469 = add i32 %t455, 1
|
|
store i32 %t469, ptr %t452
|
|
%t470 = load ptr, ptr %t6
|
|
%t471 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 1
|
|
%t472 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 2
|
|
%t473 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 0
|
|
%t474 = load i32, ptr %t471
|
|
%t475 = load i32, ptr %t472
|
|
%t476 = icmp sge i32 %t474, %t475
|
|
br i1 %t476, label %grow48, label %put49
|
|
grow48:
|
|
%t477 = mul i32 %t475, 2
|
|
%t478 = icmp eq i32 %t475, 0
|
|
%t479 = select i1 %t478, i32 8, i32 %t477
|
|
%t480 = getelementptr ptr, ptr null, i32 1
|
|
%t481 = ptrtoint ptr %t480 to i64
|
|
%t482 = zext i32 %t479 to i64
|
|
%t483 = mul i64 %t482, %t481
|
|
%t484 = load ptr, ptr %t473
|
|
%t485 = call ptr @realloc(ptr %t484, i64 %t483)
|
|
store ptr %t485, ptr %t473
|
|
store i32 %t479, ptr %t472
|
|
br label %put49
|
|
put49:
|
|
%t486 = load ptr, ptr %t473
|
|
%t487 = getelementptr inbounds ptr, ptr %t486, i32 %t474
|
|
store ptr @.str3261, ptr %t487
|
|
%t488 = add i32 %t474, 1
|
|
store i32 %t488, ptr %t471
|
|
%t489 = load ptr, ptr %t13
|
|
%t490 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 1
|
|
%t491 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 2
|
|
%t492 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 0
|
|
%t493 = load i32, ptr %t490
|
|
%t494 = load i32, ptr %t491
|
|
%t495 = icmp sge i32 %t493, %t494
|
|
br i1 %t495, label %grow50, label %put51
|
|
grow50:
|
|
%t496 = mul i32 %t494, 2
|
|
%t497 = icmp eq i32 %t494, 0
|
|
%t498 = select i1 %t497, i32 8, i32 %t496
|
|
%t499 = getelementptr ptr, ptr null, i32 1
|
|
%t500 = ptrtoint ptr %t499 to i64
|
|
%t501 = zext i32 %t498 to i64
|
|
%t502 = mul i64 %t501, %t500
|
|
%t503 = load ptr, ptr %t492
|
|
%t504 = call ptr @realloc(ptr %t503, i64 %t502)
|
|
store ptr %t504, ptr %t492
|
|
store i32 %t498, ptr %t491
|
|
br label %put51
|
|
put51:
|
|
%t505 = load ptr, ptr %t492
|
|
%t506 = getelementptr inbounds ptr, ptr %t505, i32 %t493
|
|
store ptr @.str3262, ptr %t506
|
|
%t507 = add i32 %t493, 1
|
|
store i32 %t507, ptr %t490
|
|
%t508 = load ptr, ptr %t6
|
|
%t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 1
|
|
%t510 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 2
|
|
%t511 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0
|
|
%t512 = load i32, ptr %t509
|
|
%t513 = load i32, ptr %t510
|
|
%t514 = icmp sge i32 %t512, %t513
|
|
br i1 %t514, label %grow52, label %put53
|
|
grow52:
|
|
%t515 = mul i32 %t513, 2
|
|
%t516 = icmp eq i32 %t513, 0
|
|
%t517 = select i1 %t516, i32 8, i32 %t515
|
|
%t518 = getelementptr ptr, ptr null, i32 1
|
|
%t519 = ptrtoint ptr %t518 to i64
|
|
%t520 = zext i32 %t517 to i64
|
|
%t521 = mul i64 %t520, %t519
|
|
%t522 = load ptr, ptr %t511
|
|
%t523 = call ptr @realloc(ptr %t522, i64 %t521)
|
|
store ptr %t523, ptr %t511
|
|
store i32 %t517, ptr %t510
|
|
br label %put53
|
|
put53:
|
|
%t524 = load ptr, ptr %t511
|
|
%t525 = getelementptr inbounds ptr, ptr %t524, i32 %t512
|
|
store ptr @.str3263, ptr %t525
|
|
%t526 = add i32 %t512, 1
|
|
store i32 %t526, ptr %t509
|
|
%t527 = load ptr, ptr %t13
|
|
%t528 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 1
|
|
%t529 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 2
|
|
%t530 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 0
|
|
%t531 = load i32, ptr %t528
|
|
%t532 = load i32, ptr %t529
|
|
%t533 = icmp sge i32 %t531, %t532
|
|
br i1 %t533, label %grow54, label %put55
|
|
grow54:
|
|
%t534 = mul i32 %t532, 2
|
|
%t535 = icmp eq i32 %t532, 0
|
|
%t536 = select i1 %t535, i32 8, i32 %t534
|
|
%t537 = getelementptr ptr, ptr null, i32 1
|
|
%t538 = ptrtoint ptr %t537 to i64
|
|
%t539 = zext i32 %t536 to i64
|
|
%t540 = mul i64 %t539, %t538
|
|
%t541 = load ptr, ptr %t530
|
|
%t542 = call ptr @realloc(ptr %t541, i64 %t540)
|
|
store ptr %t542, ptr %t530
|
|
store i32 %t536, ptr %t529
|
|
br label %put55
|
|
put55:
|
|
%t543 = load ptr, ptr %t530
|
|
%t544 = getelementptr inbounds ptr, ptr %t543, i32 %t531
|
|
store ptr @.str3264, ptr %t544
|
|
%t545 = add i32 %t531, 1
|
|
store i32 %t545, ptr %t528
|
|
%t546 = load ptr, ptr %t6
|
|
%t547 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 1
|
|
%t548 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 2
|
|
%t549 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 0
|
|
%t550 = load i32, ptr %t547
|
|
%t551 = load i32, ptr %t548
|
|
%t552 = icmp sge i32 %t550, %t551
|
|
br i1 %t552, label %grow56, label %put57
|
|
grow56:
|
|
%t553 = mul i32 %t551, 2
|
|
%t554 = icmp eq i32 %t551, 0
|
|
%t555 = select i1 %t554, i32 8, i32 %t553
|
|
%t556 = getelementptr ptr, ptr null, i32 1
|
|
%t557 = ptrtoint ptr %t556 to i64
|
|
%t558 = zext i32 %t555 to i64
|
|
%t559 = mul i64 %t558, %t557
|
|
%t560 = load ptr, ptr %t549
|
|
%t561 = call ptr @realloc(ptr %t560, i64 %t559)
|
|
store ptr %t561, ptr %t549
|
|
store i32 %t555, ptr %t548
|
|
br label %put57
|
|
put57:
|
|
%t562 = load ptr, ptr %t549
|
|
%t563 = getelementptr inbounds ptr, ptr %t562, i32 %t550
|
|
store ptr @.str3265, ptr %t563
|
|
%t564 = add i32 %t550, 1
|
|
store i32 %t564, ptr %t547
|
|
%t565 = load ptr, ptr %t13
|
|
%t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 1
|
|
%t567 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 2
|
|
%t568 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 0
|
|
%t569 = load i32, ptr %t566
|
|
%t570 = load i32, ptr %t567
|
|
%t571 = icmp sge i32 %t569, %t570
|
|
br i1 %t571, label %grow58, label %put59
|
|
grow58:
|
|
%t572 = mul i32 %t570, 2
|
|
%t573 = icmp eq i32 %t570, 0
|
|
%t574 = select i1 %t573, i32 8, i32 %t572
|
|
%t575 = getelementptr ptr, ptr null, i32 1
|
|
%t576 = ptrtoint ptr %t575 to i64
|
|
%t577 = zext i32 %t574 to i64
|
|
%t578 = mul i64 %t577, %t576
|
|
%t579 = load ptr, ptr %t568
|
|
%t580 = call ptr @realloc(ptr %t579, i64 %t578)
|
|
store ptr %t580, ptr %t568
|
|
store i32 %t574, ptr %t567
|
|
br label %put59
|
|
put59:
|
|
%t581 = load ptr, ptr %t568
|
|
%t582 = getelementptr inbounds ptr, ptr %t581, i32 %t569
|
|
store ptr @.str3266, ptr %t582
|
|
%t583 = add i32 %t569, 1
|
|
store i32 %t583, ptr %t566
|
|
%t584 = load ptr, ptr %t6
|
|
%t585 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 1
|
|
%t586 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 2
|
|
%t587 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0
|
|
%t588 = load i32, ptr %t585
|
|
%t589 = load i32, ptr %t586
|
|
%t590 = icmp sge i32 %t588, %t589
|
|
br i1 %t590, label %grow60, label %put61
|
|
grow60:
|
|
%t591 = mul i32 %t589, 2
|
|
%t592 = icmp eq i32 %t589, 0
|
|
%t593 = select i1 %t592, i32 8, i32 %t591
|
|
%t594 = getelementptr ptr, ptr null, i32 1
|
|
%t595 = ptrtoint ptr %t594 to i64
|
|
%t596 = zext i32 %t593 to i64
|
|
%t597 = mul i64 %t596, %t595
|
|
%t598 = load ptr, ptr %t587
|
|
%t599 = call ptr @realloc(ptr %t598, i64 %t597)
|
|
store ptr %t599, ptr %t587
|
|
store i32 %t593, ptr %t586
|
|
br label %put61
|
|
put61:
|
|
%t600 = load ptr, ptr %t587
|
|
%t601 = getelementptr inbounds ptr, ptr %t600, i32 %t588
|
|
store ptr @.str3267, ptr %t601
|
|
%t602 = add i32 %t588, 1
|
|
store i32 %t602, ptr %t585
|
|
%t603 = load ptr, ptr %t13
|
|
%t604 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 1
|
|
%t605 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 2
|
|
%t606 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 0
|
|
%t607 = load i32, ptr %t604
|
|
%t608 = load i32, ptr %t605
|
|
%t609 = icmp sge i32 %t607, %t608
|
|
br i1 %t609, label %grow62, label %put63
|
|
grow62:
|
|
%t610 = mul i32 %t608, 2
|
|
%t611 = icmp eq i32 %t608, 0
|
|
%t612 = select i1 %t611, i32 8, i32 %t610
|
|
%t613 = getelementptr ptr, ptr null, i32 1
|
|
%t614 = ptrtoint ptr %t613 to i64
|
|
%t615 = zext i32 %t612 to i64
|
|
%t616 = mul i64 %t615, %t614
|
|
%t617 = load ptr, ptr %t606
|
|
%t618 = call ptr @realloc(ptr %t617, i64 %t616)
|
|
store ptr %t618, ptr %t606
|
|
store i32 %t612, ptr %t605
|
|
br label %put63
|
|
put63:
|
|
%t619 = load ptr, ptr %t606
|
|
%t620 = getelementptr inbounds ptr, ptr %t619, i32 %t607
|
|
store ptr @.str3268, ptr %t620
|
|
%t621 = add i32 %t607, 1
|
|
store i32 %t621, ptr %t604
|
|
%t622 = load ptr, ptr %t6
|
|
%t623 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 1
|
|
%t624 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 2
|
|
%t625 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 0
|
|
%t626 = load i32, ptr %t623
|
|
%t627 = load i32, ptr %t624
|
|
%t628 = icmp sge i32 %t626, %t627
|
|
br i1 %t628, label %grow64, label %put65
|
|
grow64:
|
|
%t629 = mul i32 %t627, 2
|
|
%t630 = icmp eq i32 %t627, 0
|
|
%t631 = select i1 %t630, i32 8, i32 %t629
|
|
%t632 = getelementptr ptr, ptr null, i32 1
|
|
%t633 = ptrtoint ptr %t632 to i64
|
|
%t634 = zext i32 %t631 to i64
|
|
%t635 = mul i64 %t634, %t633
|
|
%t636 = load ptr, ptr %t625
|
|
%t637 = call ptr @realloc(ptr %t636, i64 %t635)
|
|
store ptr %t637, ptr %t625
|
|
store i32 %t631, ptr %t624
|
|
br label %put65
|
|
put65:
|
|
%t638 = load ptr, ptr %t625
|
|
%t639 = getelementptr inbounds ptr, ptr %t638, i32 %t626
|
|
store ptr @.str3269, ptr %t639
|
|
%t640 = add i32 %t626, 1
|
|
store i32 %t640, ptr %t623
|
|
%t641 = load ptr, ptr %t13
|
|
%t642 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 1
|
|
%t643 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 2
|
|
%t644 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 0
|
|
%t645 = load i32, ptr %t642
|
|
%t646 = load i32, ptr %t643
|
|
%t647 = icmp sge i32 %t645, %t646
|
|
br i1 %t647, label %grow66, label %put67
|
|
grow66:
|
|
%t648 = mul i32 %t646, 2
|
|
%t649 = icmp eq i32 %t646, 0
|
|
%t650 = select i1 %t649, i32 8, i32 %t648
|
|
%t651 = getelementptr ptr, ptr null, i32 1
|
|
%t652 = ptrtoint ptr %t651 to i64
|
|
%t653 = zext i32 %t650 to i64
|
|
%t654 = mul i64 %t653, %t652
|
|
%t655 = load ptr, ptr %t644
|
|
%t656 = call ptr @realloc(ptr %t655, i64 %t654)
|
|
store ptr %t656, ptr %t644
|
|
store i32 %t650, ptr %t643
|
|
br label %put67
|
|
put67:
|
|
%t657 = load ptr, ptr %t644
|
|
%t658 = getelementptr inbounds ptr, ptr %t657, i32 %t645
|
|
store ptr @.str3270, ptr %t658
|
|
%t659 = add i32 %t645, 1
|
|
store i32 %t659, ptr %t642
|
|
%t660 = load ptr, ptr %t6
|
|
%t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 1
|
|
%t662 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 2
|
|
%t663 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 0
|
|
%t664 = load i32, ptr %t661
|
|
%t665 = load i32, ptr %t662
|
|
%t666 = icmp sge i32 %t664, %t665
|
|
br i1 %t666, label %grow68, label %put69
|
|
grow68:
|
|
%t667 = mul i32 %t665, 2
|
|
%t668 = icmp eq i32 %t665, 0
|
|
%t669 = select i1 %t668, i32 8, i32 %t667
|
|
%t670 = getelementptr ptr, ptr null, i32 1
|
|
%t671 = ptrtoint ptr %t670 to i64
|
|
%t672 = zext i32 %t669 to i64
|
|
%t673 = mul i64 %t672, %t671
|
|
%t674 = load ptr, ptr %t663
|
|
%t675 = call ptr @realloc(ptr %t674, i64 %t673)
|
|
store ptr %t675, ptr %t663
|
|
store i32 %t669, ptr %t662
|
|
br label %put69
|
|
put69:
|
|
%t676 = load ptr, ptr %t663
|
|
%t677 = getelementptr inbounds ptr, ptr %t676, i32 %t664
|
|
store ptr @.str3271, ptr %t677
|
|
%t678 = add i32 %t664, 1
|
|
store i32 %t678, ptr %t661
|
|
%t679 = load ptr, ptr %t13
|
|
%t680 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 1
|
|
%t681 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 2
|
|
%t682 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 0
|
|
%t683 = load i32, ptr %t680
|
|
%t684 = load i32, ptr %t681
|
|
%t685 = icmp sge i32 %t683, %t684
|
|
br i1 %t685, label %grow70, label %put71
|
|
grow70:
|
|
%t686 = mul i32 %t684, 2
|
|
%t687 = icmp eq i32 %t684, 0
|
|
%t688 = select i1 %t687, i32 8, i32 %t686
|
|
%t689 = getelementptr ptr, ptr null, i32 1
|
|
%t690 = ptrtoint ptr %t689 to i64
|
|
%t691 = zext i32 %t688 to i64
|
|
%t692 = mul i64 %t691, %t690
|
|
%t693 = load ptr, ptr %t682
|
|
%t694 = call ptr @realloc(ptr %t693, i64 %t692)
|
|
store ptr %t694, ptr %t682
|
|
store i32 %t688, ptr %t681
|
|
br label %put71
|
|
put71:
|
|
%t695 = load ptr, ptr %t682
|
|
%t696 = getelementptr inbounds ptr, ptr %t695, i32 %t683
|
|
store ptr @.str3272, ptr %t696
|
|
%t697 = add i32 %t683, 1
|
|
store i32 %t697, ptr %t680
|
|
%t698 = load ptr, ptr %t6
|
|
%t699 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 1
|
|
%t700 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 2
|
|
%t701 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 0
|
|
%t702 = load i32, ptr %t699
|
|
%t703 = load i32, ptr %t700
|
|
%t704 = icmp sge i32 %t702, %t703
|
|
br i1 %t704, label %grow72, label %put73
|
|
grow72:
|
|
%t705 = mul i32 %t703, 2
|
|
%t706 = icmp eq i32 %t703, 0
|
|
%t707 = select i1 %t706, i32 8, i32 %t705
|
|
%t708 = getelementptr ptr, ptr null, i32 1
|
|
%t709 = ptrtoint ptr %t708 to i64
|
|
%t710 = zext i32 %t707 to i64
|
|
%t711 = mul i64 %t710, %t709
|
|
%t712 = load ptr, ptr %t701
|
|
%t713 = call ptr @realloc(ptr %t712, i64 %t711)
|
|
store ptr %t713, ptr %t701
|
|
store i32 %t707, ptr %t700
|
|
br label %put73
|
|
put73:
|
|
%t714 = load ptr, ptr %t701
|
|
%t715 = getelementptr inbounds ptr, ptr %t714, i32 %t702
|
|
store ptr @.str3273, ptr %t715
|
|
%t716 = add i32 %t702, 1
|
|
store i32 %t716, ptr %t699
|
|
%t717 = load ptr, ptr %t13
|
|
%t718 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 1
|
|
%t719 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 2
|
|
%t720 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 0
|
|
%t721 = load i32, ptr %t718
|
|
%t722 = load i32, ptr %t719
|
|
%t723 = icmp sge i32 %t721, %t722
|
|
br i1 %t723, label %grow74, label %put75
|
|
grow74:
|
|
%t724 = mul i32 %t722, 2
|
|
%t725 = icmp eq i32 %t722, 0
|
|
%t726 = select i1 %t725, i32 8, i32 %t724
|
|
%t727 = getelementptr ptr, ptr null, i32 1
|
|
%t728 = ptrtoint ptr %t727 to i64
|
|
%t729 = zext i32 %t726 to i64
|
|
%t730 = mul i64 %t729, %t728
|
|
%t731 = load ptr, ptr %t720
|
|
%t732 = call ptr @realloc(ptr %t731, i64 %t730)
|
|
store ptr %t732, ptr %t720
|
|
store i32 %t726, ptr %t719
|
|
br label %put75
|
|
put75:
|
|
%t733 = load ptr, ptr %t720
|
|
%t734 = getelementptr inbounds ptr, ptr %t733, i32 %t721
|
|
store ptr @.str3274, ptr %t734
|
|
%t735 = add i32 %t721, 1
|
|
store i32 %t735, ptr %t718
|
|
%t736 = load ptr, ptr %t6
|
|
%t737 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 1
|
|
%t738 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 2
|
|
%t739 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 0
|
|
%t740 = load i32, ptr %t737
|
|
%t741 = load i32, ptr %t738
|
|
%t742 = icmp sge i32 %t740, %t741
|
|
br i1 %t742, label %grow76, label %put77
|
|
grow76:
|
|
%t743 = mul i32 %t741, 2
|
|
%t744 = icmp eq i32 %t741, 0
|
|
%t745 = select i1 %t744, i32 8, i32 %t743
|
|
%t746 = getelementptr ptr, ptr null, i32 1
|
|
%t747 = ptrtoint ptr %t746 to i64
|
|
%t748 = zext i32 %t745 to i64
|
|
%t749 = mul i64 %t748, %t747
|
|
%t750 = load ptr, ptr %t739
|
|
%t751 = call ptr @realloc(ptr %t750, i64 %t749)
|
|
store ptr %t751, ptr %t739
|
|
store i32 %t745, ptr %t738
|
|
br label %put77
|
|
put77:
|
|
%t752 = load ptr, ptr %t739
|
|
%t753 = getelementptr inbounds ptr, ptr %t752, i32 %t740
|
|
store ptr @.str3275, ptr %t753
|
|
%t754 = add i32 %t740, 1
|
|
store i32 %t754, ptr %t737
|
|
%t755 = load ptr, ptr %t13
|
|
%t756 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 1
|
|
%t757 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 2
|
|
%t758 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 0
|
|
%t759 = load i32, ptr %t756
|
|
%t760 = load i32, ptr %t757
|
|
%t761 = icmp sge i32 %t759, %t760
|
|
br i1 %t761, label %grow78, label %put79
|
|
grow78:
|
|
%t762 = mul i32 %t760, 2
|
|
%t763 = icmp eq i32 %t760, 0
|
|
%t764 = select i1 %t763, i32 8, i32 %t762
|
|
%t765 = getelementptr ptr, ptr null, i32 1
|
|
%t766 = ptrtoint ptr %t765 to i64
|
|
%t767 = zext i32 %t764 to i64
|
|
%t768 = mul i64 %t767, %t766
|
|
%t769 = load ptr, ptr %t758
|
|
%t770 = call ptr @realloc(ptr %t769, i64 %t768)
|
|
store ptr %t770, ptr %t758
|
|
store i32 %t764, ptr %t757
|
|
br label %put79
|
|
put79:
|
|
%t771 = load ptr, ptr %t758
|
|
%t772 = getelementptr inbounds ptr, ptr %t771, i32 %t759
|
|
store ptr @.str3276, ptr %t772
|
|
%t773 = add i32 %t759, 1
|
|
store i32 %t773, ptr %t756
|
|
%t774 = load ptr, ptr %t6
|
|
%t775 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 1
|
|
%t776 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 2
|
|
%t777 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 0
|
|
%t778 = load i32, ptr %t775
|
|
%t779 = load i32, ptr %t776
|
|
%t780 = icmp sge i32 %t778, %t779
|
|
br i1 %t780, label %grow80, label %put81
|
|
grow80:
|
|
%t781 = mul i32 %t779, 2
|
|
%t782 = icmp eq i32 %t779, 0
|
|
%t783 = select i1 %t782, i32 8, i32 %t781
|
|
%t784 = getelementptr ptr, ptr null, i32 1
|
|
%t785 = ptrtoint ptr %t784 to i64
|
|
%t786 = zext i32 %t783 to i64
|
|
%t787 = mul i64 %t786, %t785
|
|
%t788 = load ptr, ptr %t777
|
|
%t789 = call ptr @realloc(ptr %t788, i64 %t787)
|
|
store ptr %t789, ptr %t777
|
|
store i32 %t783, ptr %t776
|
|
br label %put81
|
|
put81:
|
|
%t790 = load ptr, ptr %t777
|
|
%t791 = getelementptr inbounds ptr, ptr %t790, i32 %t778
|
|
store ptr @.str3277, ptr %t791
|
|
%t792 = add i32 %t778, 1
|
|
store i32 %t792, ptr %t775
|
|
%t793 = load ptr, ptr %t13
|
|
%t794 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 1
|
|
%t795 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 2
|
|
%t796 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 0
|
|
%t797 = load i32, ptr %t794
|
|
%t798 = load i32, ptr %t795
|
|
%t799 = icmp sge i32 %t797, %t798
|
|
br i1 %t799, label %grow82, label %put83
|
|
grow82:
|
|
%t800 = mul i32 %t798, 2
|
|
%t801 = icmp eq i32 %t798, 0
|
|
%t802 = select i1 %t801, i32 8, i32 %t800
|
|
%t803 = getelementptr ptr, ptr null, i32 1
|
|
%t804 = ptrtoint ptr %t803 to i64
|
|
%t805 = zext i32 %t802 to i64
|
|
%t806 = mul i64 %t805, %t804
|
|
%t807 = load ptr, ptr %t796
|
|
%t808 = call ptr @realloc(ptr %t807, i64 %t806)
|
|
store ptr %t808, ptr %t796
|
|
store i32 %t802, ptr %t795
|
|
br label %put83
|
|
put83:
|
|
%t809 = load ptr, ptr %t796
|
|
%t810 = getelementptr inbounds ptr, ptr %t809, i32 %t797
|
|
store ptr @.str3278, ptr %t810
|
|
%t811 = add i32 %t797, 1
|
|
store i32 %t811, ptr %t794
|
|
%t812 = load ptr, ptr %t6
|
|
%t813 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 1
|
|
%t814 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 2
|
|
%t815 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 0
|
|
%t816 = load i32, ptr %t813
|
|
%t817 = load i32, ptr %t814
|
|
%t818 = icmp sge i32 %t816, %t817
|
|
br i1 %t818, label %grow84, label %put85
|
|
grow84:
|
|
%t819 = mul i32 %t817, 2
|
|
%t820 = icmp eq i32 %t817, 0
|
|
%t821 = select i1 %t820, i32 8, i32 %t819
|
|
%t822 = getelementptr ptr, ptr null, i32 1
|
|
%t823 = ptrtoint ptr %t822 to i64
|
|
%t824 = zext i32 %t821 to i64
|
|
%t825 = mul i64 %t824, %t823
|
|
%t826 = load ptr, ptr %t815
|
|
%t827 = call ptr @realloc(ptr %t826, i64 %t825)
|
|
store ptr %t827, ptr %t815
|
|
store i32 %t821, ptr %t814
|
|
br label %put85
|
|
put85:
|
|
%t828 = load ptr, ptr %t815
|
|
%t829 = getelementptr inbounds ptr, ptr %t828, i32 %t816
|
|
store ptr @.str3279, ptr %t829
|
|
%t830 = add i32 %t816, 1
|
|
store i32 %t830, ptr %t813
|
|
%t831 = load ptr, ptr %t13
|
|
%t832 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 1
|
|
%t833 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 2
|
|
%t834 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 0
|
|
%t835 = load i32, ptr %t832
|
|
%t836 = load i32, ptr %t833
|
|
%t837 = icmp sge i32 %t835, %t836
|
|
br i1 %t837, label %grow86, label %put87
|
|
grow86:
|
|
%t838 = mul i32 %t836, 2
|
|
%t839 = icmp eq i32 %t836, 0
|
|
%t840 = select i1 %t839, i32 8, i32 %t838
|
|
%t841 = getelementptr ptr, ptr null, i32 1
|
|
%t842 = ptrtoint ptr %t841 to i64
|
|
%t843 = zext i32 %t840 to i64
|
|
%t844 = mul i64 %t843, %t842
|
|
%t845 = load ptr, ptr %t834
|
|
%t846 = call ptr @realloc(ptr %t845, i64 %t844)
|
|
store ptr %t846, ptr %t834
|
|
store i32 %t840, ptr %t833
|
|
br label %put87
|
|
put87:
|
|
%t847 = load ptr, ptr %t834
|
|
%t848 = getelementptr inbounds ptr, ptr %t847, i32 %t835
|
|
store ptr @.str3280, ptr %t848
|
|
%t849 = add i32 %t835, 1
|
|
store i32 %t849, ptr %t832
|
|
%t850 = load ptr, ptr %t6
|
|
%t851 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 1
|
|
%t852 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 2
|
|
%t853 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 0
|
|
%t854 = load i32, ptr %t851
|
|
%t855 = load i32, ptr %t852
|
|
%t856 = icmp sge i32 %t854, %t855
|
|
br i1 %t856, label %grow88, label %put89
|
|
grow88:
|
|
%t857 = mul i32 %t855, 2
|
|
%t858 = icmp eq i32 %t855, 0
|
|
%t859 = select i1 %t858, i32 8, i32 %t857
|
|
%t860 = getelementptr ptr, ptr null, i32 1
|
|
%t861 = ptrtoint ptr %t860 to i64
|
|
%t862 = zext i32 %t859 to i64
|
|
%t863 = mul i64 %t862, %t861
|
|
%t864 = load ptr, ptr %t853
|
|
%t865 = call ptr @realloc(ptr %t864, i64 %t863)
|
|
store ptr %t865, ptr %t853
|
|
store i32 %t859, ptr %t852
|
|
br label %put89
|
|
put89:
|
|
%t866 = load ptr, ptr %t853
|
|
%t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854
|
|
store ptr @.str3281, ptr %t867
|
|
%t868 = add i32 %t854, 1
|
|
store i32 %t868, ptr %t851
|
|
%t869 = load ptr, ptr %t13
|
|
%t870 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 1
|
|
%t871 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 2
|
|
%t872 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 0
|
|
%t873 = load i32, ptr %t870
|
|
%t874 = load i32, ptr %t871
|
|
%t875 = icmp sge i32 %t873, %t874
|
|
br i1 %t875, label %grow90, label %put91
|
|
grow90:
|
|
%t876 = mul i32 %t874, 2
|
|
%t877 = icmp eq i32 %t874, 0
|
|
%t878 = select i1 %t877, i32 8, i32 %t876
|
|
%t879 = getelementptr ptr, ptr null, i32 1
|
|
%t880 = ptrtoint ptr %t879 to i64
|
|
%t881 = zext i32 %t878 to i64
|
|
%t882 = mul i64 %t881, %t880
|
|
%t883 = load ptr, ptr %t872
|
|
%t884 = call ptr @realloc(ptr %t883, i64 %t882)
|
|
store ptr %t884, ptr %t872
|
|
store i32 %t878, ptr %t871
|
|
br label %put91
|
|
put91:
|
|
%t885 = load ptr, ptr %t872
|
|
%t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873
|
|
store ptr @.str3282, ptr %t886
|
|
%t887 = add i32 %t873, 1
|
|
store i32 %t887, ptr %t870
|
|
%t888 = load ptr, ptr %t6
|
|
%t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1
|
|
%t890 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 2
|
|
%t891 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 0
|
|
%t892 = load i32, ptr %t889
|
|
%t893 = load i32, ptr %t890
|
|
%t894 = icmp sge i32 %t892, %t893
|
|
br i1 %t894, label %grow92, label %put93
|
|
grow92:
|
|
%t895 = mul i32 %t893, 2
|
|
%t896 = icmp eq i32 %t893, 0
|
|
%t897 = select i1 %t896, i32 8, i32 %t895
|
|
%t898 = getelementptr ptr, ptr null, i32 1
|
|
%t899 = ptrtoint ptr %t898 to i64
|
|
%t900 = zext i32 %t897 to i64
|
|
%t901 = mul i64 %t900, %t899
|
|
%t902 = load ptr, ptr %t891
|
|
%t903 = call ptr @realloc(ptr %t902, i64 %t901)
|
|
store ptr %t903, ptr %t891
|
|
store i32 %t897, ptr %t890
|
|
br label %put93
|
|
put93:
|
|
%t904 = load ptr, ptr %t891
|
|
%t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892
|
|
store ptr @.str3283, ptr %t905
|
|
%t906 = add i32 %t892, 1
|
|
store i32 %t906, ptr %t889
|
|
%t907 = load ptr, ptr %t13
|
|
%t908 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 1
|
|
%t909 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 2
|
|
%t910 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 0
|
|
%t911 = load i32, ptr %t908
|
|
%t912 = load i32, ptr %t909
|
|
%t913 = icmp sge i32 %t911, %t912
|
|
br i1 %t913, label %grow94, label %put95
|
|
grow94:
|
|
%t914 = mul i32 %t912, 2
|
|
%t915 = icmp eq i32 %t912, 0
|
|
%t916 = select i1 %t915, i32 8, i32 %t914
|
|
%t917 = getelementptr ptr, ptr null, i32 1
|
|
%t918 = ptrtoint ptr %t917 to i64
|
|
%t919 = zext i32 %t916 to i64
|
|
%t920 = mul i64 %t919, %t918
|
|
%t921 = load ptr, ptr %t910
|
|
%t922 = call ptr @realloc(ptr %t921, i64 %t920)
|
|
store ptr %t922, ptr %t910
|
|
store i32 %t916, ptr %t909
|
|
br label %put95
|
|
put95:
|
|
%t923 = load ptr, ptr %t910
|
|
%t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911
|
|
store ptr @.str3284, ptr %t924
|
|
%t925 = add i32 %t911, 1
|
|
store i32 %t925, ptr %t908
|
|
%t926 = getelementptr %LSlice, ptr null, i32 1
|
|
%t927 = ptrtoint ptr %t926 to i64
|
|
%t928 = call ptr @malloc(i64 %t927)
|
|
%t929 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 0
|
|
store ptr null, ptr %t929
|
|
%t930 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 1
|
|
store i32 0, ptr %t930
|
|
%t931 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 2
|
|
store i32 0, ptr %t931
|
|
store ptr %t928, ptr %t932
|
|
%t933 = getelementptr %LSlice, ptr null, i32 1
|
|
%t934 = ptrtoint ptr %t933 to i64
|
|
%t935 = call ptr @malloc(i64 %t934)
|
|
%t936 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 0
|
|
store ptr null, ptr %t936
|
|
%t937 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 1
|
|
store i32 0, ptr %t937
|
|
%t938 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 2
|
|
store i32 0, ptr %t938
|
|
store ptr %t935, ptr %t939
|
|
store i32 0, ptr %t940
|
|
br label %wcond96
|
|
wcond96:
|
|
%t941 = load i32, ptr %t940
|
|
%t942 = load ptr, ptr %t6
|
|
%t943 = getelementptr inbounds %LSlice, ptr %t942, i32 0, i32 1
|
|
%t944 = load i32, ptr %t943
|
|
%t945 = icmp slt i32 %t941, %t944
|
|
%t946 = zext i1 %t945 to i32
|
|
%t947 = icmp ne i32 %t946, 0
|
|
br i1 %t947, label %wbody97, label %wend98
|
|
wbody97:
|
|
%t948 = load ptr, ptr %t932
|
|
%t949 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1
|
|
%t950 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2
|
|
%t951 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0
|
|
%t952 = load i32, ptr %t949
|
|
%t953 = load i32, ptr %t950
|
|
%t954 = icmp sge i32 %t952, %t953
|
|
br i1 %t954, label %grow99, label %put100
|
|
grow99:
|
|
%t955 = mul i32 %t953, 2
|
|
%t956 = icmp eq i32 %t953, 0
|
|
%t957 = select i1 %t956, i32 8, i32 %t955
|
|
%t958 = getelementptr ptr, ptr null, i32 1
|
|
%t959 = ptrtoint ptr %t958 to i64
|
|
%t960 = zext i32 %t957 to i64
|
|
%t961 = mul i64 %t960, %t959
|
|
%t962 = load ptr, ptr %t951
|
|
%t963 = call ptr @realloc(ptr %t962, i64 %t961)
|
|
store ptr %t963, ptr %t951
|
|
store i32 %t957, ptr %t950
|
|
br label %put100
|
|
put100:
|
|
%t964 = load ptr, ptr %t6
|
|
%t965 = getelementptr inbounds %LSlice, ptr %t964, i32 0, i32 0
|
|
%t966 = load ptr, ptr %t965
|
|
%t967 = load i32, ptr %t940
|
|
%t968 = getelementptr inbounds ptr, ptr %t966, i32 %t967
|
|
%t969 = load ptr, ptr %t968
|
|
%t970 = call ptr @fn_emit_str_const(ptr %t969)
|
|
%t971 = load ptr, ptr %t951
|
|
%t972 = getelementptr inbounds ptr, ptr %t971, i32 %t952
|
|
store ptr %t970, ptr %t972
|
|
%t973 = add i32 %t952, 1
|
|
store i32 %t973, ptr %t949
|
|
%t974 = load ptr, ptr %t939
|
|
%t975 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 1
|
|
%t976 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 2
|
|
%t977 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 0
|
|
%t978 = load i32, ptr %t975
|
|
%t979 = load i32, ptr %t976
|
|
%t980 = icmp sge i32 %t978, %t979
|
|
br i1 %t980, label %grow101, label %put102
|
|
grow101:
|
|
%t981 = mul i32 %t979, 2
|
|
%t982 = icmp eq i32 %t979, 0
|
|
%t983 = select i1 %t982, i32 8, i32 %t981
|
|
%t984 = getelementptr ptr, ptr null, i32 1
|
|
%t985 = ptrtoint ptr %t984 to i64
|
|
%t986 = zext i32 %t983 to i64
|
|
%t987 = mul i64 %t986, %t985
|
|
%t988 = load ptr, ptr %t977
|
|
%t989 = call ptr @realloc(ptr %t988, i64 %t987)
|
|
store ptr %t989, ptr %t977
|
|
store i32 %t983, ptr %t976
|
|
br label %put102
|
|
put102:
|
|
%t990 = load ptr, ptr %t13
|
|
%t991 = getelementptr inbounds %LSlice, ptr %t990, i32 0, i32 0
|
|
%t992 = load ptr, ptr %t991
|
|
%t993 = load i32, ptr %t940
|
|
%t994 = getelementptr inbounds ptr, ptr %t992, i32 %t993
|
|
%t995 = load ptr, ptr %t994
|
|
%t996 = call ptr @fn_emit_str_const(ptr %t995)
|
|
%t997 = load ptr, ptr %t977
|
|
%t998 = getelementptr inbounds ptr, ptr %t997, i32 %t978
|
|
store ptr %t996, ptr %t998
|
|
%t999 = add i32 %t978, 1
|
|
store i32 %t999, ptr %t975
|
|
%t1000 = load i32, ptr %t940
|
|
%t1001 = add i32 %t1000, 1
|
|
store i32 %t1001, ptr %t940
|
|
br label %wcond96
|
|
wend98:
|
|
%t1002 = call ptr @fn_emit_str_const(ptr @.str3285)
|
|
store ptr %t1002, ptr %t1003
|
|
%t1004 = load ptr, ptr %t6
|
|
%t1005 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 1
|
|
%t1006 = load i32, ptr %t1005
|
|
store i32 %t1006, ptr %t1007
|
|
%t1008 = load i32, ptr %t1007
|
|
%t1009 = call ptr @fn_itoa(i32 %t1008)
|
|
%t1010 = call ptr @fn_str_concat(ptr @.str3286, ptr %t1009)
|
|
%t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str3287)
|
|
call void @fn_emith(ptr %t1011)
|
|
store i32 0, ptr %t940
|
|
br label %wcond103
|
|
wcond103:
|
|
%t1012 = load i32, ptr %t940
|
|
%t1013 = load ptr, ptr %t6
|
|
%t1014 = getelementptr inbounds %LSlice, ptr %t1013, i32 0, i32 1
|
|
%t1015 = load i32, ptr %t1014
|
|
%t1016 = icmp slt i32 %t1012, %t1015
|
|
%t1017 = zext i1 %t1016 to i32
|
|
%t1018 = icmp ne i32 %t1017, 0
|
|
br i1 %t1018, label %wbody104, label %wend105
|
|
wbody104:
|
|
%t1019 = load i32, ptr %t940
|
|
%t1020 = icmp sgt i32 %t1019, 0
|
|
%t1021 = zext i1 %t1020 to i32
|
|
%t1022 = icmp ne i32 %t1021, 0
|
|
br i1 %t1022, label %then106, label %ifend108
|
|
then106:
|
|
call void @fn_emith(ptr @.str3288)
|
|
br label %ifend108
|
|
ifend108:
|
|
%t1023 = load ptr, ptr %t932
|
|
%t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0
|
|
%t1025 = load ptr, ptr %t1024
|
|
%t1026 = load i32, ptr %t940
|
|
%t1027 = getelementptr inbounds ptr, ptr %t1025, i32 %t1026
|
|
%t1028 = load ptr, ptr %t1027
|
|
%t1029 = call ptr @fn_str_concat(ptr @.str3289, ptr %t1028)
|
|
%t1030 = call ptr @fn_str_concat(ptr %t1029, ptr @.str3290)
|
|
%t1031 = load ptr, ptr %t939
|
|
%t1032 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0
|
|
%t1033 = load ptr, ptr %t1032
|
|
%t1034 = load i32, ptr %t940
|
|
%t1035 = getelementptr inbounds ptr, ptr %t1033, i32 %t1034
|
|
%t1036 = load ptr, ptr %t1035
|
|
%t1037 = call ptr @fn_str_concat(ptr %t1030, ptr %t1036)
|
|
%t1038 = call ptr @fn_str_concat(ptr %t1037, ptr @.str3291)
|
|
call void @fn_emith(ptr %t1038)
|
|
%t1039 = load i32, ptr %t940
|
|
%t1040 = add i32 %t1039, 1
|
|
store i32 %t1040, ptr %t940
|
|
br label %wcond103
|
|
wend105:
|
|
call void @fn_emith(ptr @.str3292)
|
|
call void @fn_emith(ptr @.str3293)
|
|
call void @fn_emith(ptr @.str3294)
|
|
%t1041 = load i32, ptr %t1007
|
|
%t1042 = call ptr @fn_itoa(i32 %t1041)
|
|
%t1043 = call ptr @fn_str_concat(ptr @.str3295, ptr %t1042)
|
|
%t1044 = call ptr @fn_str_concat(ptr %t1043, ptr @.str3296)
|
|
call void @fn_emith(ptr %t1044)
|
|
%t1045 = load i32, ptr %t1007
|
|
%t1046 = call ptr @fn_itoa(i32 %t1045)
|
|
%t1047 = call ptr @fn_str_concat(ptr @.str3297, ptr %t1046)
|
|
%t1048 = call ptr @fn_str_concat(ptr %t1047, ptr @.str3298)
|
|
call void @fn_emith(ptr %t1048)
|
|
%t1049 = load i32, ptr %t1007
|
|
%t1050 = call ptr @fn_itoa(i32 %t1049)
|
|
%t1051 = call ptr @fn_str_concat(ptr @.str3299, ptr %t1050)
|
|
%t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str3300)
|
|
call void @fn_emith(ptr %t1052)
|
|
call void @fn_emith(ptr @.str3301)
|
|
%t1053 = load ptr, ptr %t1003
|
|
%t1054 = call ptr @fn_str_concat(ptr @.str3302, ptr %t1053)
|
|
%t1055 = call ptr @fn_str_concat(ptr %t1054, ptr @.str3303)
|
|
call void @fn_emith(ptr %t1055)
|
|
call void @fn_emith(ptr @.str3304)
|
|
call void @fn_emith(ptr @.str3305)
|
|
call void @fn_emith(ptr @.str3306)
|
|
call void @fn_emith(ptr @.str3307)
|
|
call void @fn_emith(ptr @.str3308)
|
|
call void @fn_emith(ptr @.str3309)
|
|
call void @fn_emith(ptr @.str3310)
|
|
call void @fn_emit_fs_sniff()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_fs_sniff() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str3311)
|
|
call void @fn_emith(ptr @.str3312)
|
|
call void @fn_emith(ptr @.str3313)
|
|
call void @fn_emith(ptr @.str3314)
|
|
call void @fn_emith(ptr @.str3315)
|
|
call void @fn_emith(ptr @.str3316)
|
|
call void @fn_emith(ptr @.str3317)
|
|
call void @fn_emith(ptr @.str3318)
|
|
call void @fn_emith(ptr @.str3319)
|
|
call void @fn_emith(ptr @.str3320)
|
|
call void @fn_emith(ptr @.str3321)
|
|
call void @fn_emith(ptr @.str3322)
|
|
call void @fn_emith(ptr @.str3323)
|
|
call void @fn_emith(ptr @.str3324)
|
|
call void @fn_emith(ptr @.str3325)
|
|
call void @fn_emith(ptr @.str3326)
|
|
call void @fn_emith(ptr @.str3327)
|
|
call void @fn_emith(ptr @.str3328)
|
|
call void @fn_emith(ptr @.str3329)
|
|
call void @fn_emith(ptr @.str3330)
|
|
call void @fn_emith(ptr @.str3331)
|
|
call void @fn_emith(ptr @.str3332)
|
|
call void @fn_emith(ptr @.str3333)
|
|
call void @fn_emith(ptr @.str3334)
|
|
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 @.str3335, 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 @.str3336, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3337)
|
|
%t13 = load ptr, ptr %t9
|
|
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str3338)
|
|
%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 @.str3339)
|
|
%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 @.str3340)
|
|
%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 @.str3341)
|
|
%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 @.str3342)
|
|
%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 @.str3343)
|
|
%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 @.str3344)
|
|
%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 @.str3345)
|
|
%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 @.str3346)
|
|
%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 @.str3347)
|
|
%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 @.str3348)
|
|
%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 @.str3349)
|
|
%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 @.str3350)
|
|
%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 @.str3351)
|
|
%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 @.str3352)
|
|
%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 @.str3353)
|
|
%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 @.str3354)
|
|
%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 @.str3355)
|
|
%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 @.str3356, 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 @.str3357, 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 @.str3358, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str3359)
|
|
%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 @.str3360)
|
|
store ptr %t26, ptr %t27
|
|
%t28 = call ptr @fn_lbl(ptr @.str3361)
|
|
store ptr %t28, ptr %t29
|
|
call void @fn_emit(ptr @.str3362)
|
|
%t30 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str3363)
|
|
%t31 = load ptr, ptr %t27
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str3364)
|
|
%t32 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str3365)
|
|
%t33 = load ptr, ptr %t27
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str3366)
|
|
%t34 = load ptr, ptr %t18
|
|
%t35 = call ptr @fn_str_concat(ptr @.str3367, ptr %t34)
|
|
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str3368)
|
|
%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 @.str3369, ptr %t39)
|
|
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str3370)
|
|
%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 @.str3371, ptr %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3372)
|
|
%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 @.str3373, ptr %t54)
|
|
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str3374)
|
|
%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 @.str3375, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str3376)
|
|
%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 @.str3377, 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 @.str3378, ptr %t70)
|
|
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str3379)
|
|
%t73 = load ptr, ptr %t65
|
|
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str3380)
|
|
%t76 = call ptr @fn_emit_bind(ptr %t75)
|
|
store ptr %t76, ptr %t77
|
|
call void @fn_emit(ptr @.str3381)
|
|
%t78 = load ptr, ptr %t77
|
|
call void @fn_emit(ptr %t78)
|
|
call void @fn_emit(ptr @.str3382)
|
|
%t79 = load ptr, ptr %t10
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str3383)
|
|
call void @fn_emit(ptr @.str3384)
|
|
%t80 = load ptr, ptr %t50
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str3385)
|
|
%t81 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t81)
|
|
call void @fn_emit(ptr @.str3386)
|
|
call void @fn_emit(ptr @.str3387)
|
|
%t82 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str3388)
|
|
%t83 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t83)
|
|
call void @fn_emit(ptr @.str3389)
|
|
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 @.str3390, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str3391)
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str3392)
|
|
%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 @.str3393, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3394)
|
|
%t13 = load ptr, ptr %t5
|
|
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str3395)
|
|
%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 @.str3396, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3397)
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3398)
|
|
%t29 = load ptr, ptr %t4
|
|
%t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29)
|
|
%t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str3399)
|
|
%t32 = load ptr, ptr %t0
|
|
%t33 = call ptr @fn_str_concat(ptr %t31, ptr %t32)
|
|
%t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str3400)
|
|
%t35 = load ptr, ptr %t5
|
|
%t36 = call ptr @fn_str_concat(ptr %t34, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str3401)
|
|
%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 @.str3402, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3403)
|
|
%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 @.str3404, ptr %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3405)
|
|
%t47 = load ptr, ptr %t2
|
|
%t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str3406)
|
|
%t50 = load ptr, ptr %t0
|
|
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str3407)
|
|
%t53 = load ptr, ptr %t4
|
|
%t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str3408)
|
|
%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 @.str3409, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str3410)
|
|
%t61 = load ptr, ptr %t2
|
|
%t62 = call ptr @fn_str_concat(ptr %t60, ptr %t61)
|
|
%t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str3411)
|
|
%t64 = load ptr, ptr %t0
|
|
%t65 = call ptr @fn_str_concat(ptr %t63, ptr %t64)
|
|
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str3412)
|
|
%t67 = load ptr, ptr %t5
|
|
%t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
|
|
%t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str3413)
|
|
%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 @.str3414, ptr %t76)
|
|
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3415)
|
|
%t79 = load ptr, ptr %t57
|
|
%t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str3416)
|
|
%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 @.str3417, ptr %t85)
|
|
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3418)
|
|
%t88 = load ptr, ptr %t57
|
|
%t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88)
|
|
%t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str3419)
|
|
%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 @.str3420, 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 @.str3421, 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 @.str3422, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str3423)
|
|
%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 @.str3424, ptr %t27)
|
|
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str3425)
|
|
%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 @.str3426, ptr %t34)
|
|
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str3427)
|
|
%t37 = call ptr @fn_emit_bind(ptr %t36)
|
|
store ptr %t37, ptr %t38
|
|
%t39 = call ptr @fn_emit_alloca(ptr @.str3428)
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
call void @fn_store_at(ptr @.str3429, ptr @.str3430, ptr %t41)
|
|
%t42 = call ptr @fn_lbl(ptr @.str3431)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = call ptr @fn_lbl(ptr @.str3432)
|
|
store ptr %t44, ptr %t45
|
|
%t46 = call ptr @fn_lbl(ptr @.str3433)
|
|
store ptr %t46, ptr %t47
|
|
call void @fn_emit(ptr @.str3434)
|
|
%t48 = load ptr, ptr %t43
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str3435)
|
|
%t49 = load ptr, ptr %t43
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str3436)
|
|
%t50 = load ptr, ptr %t40
|
|
%t51 = call ptr @fn_str_concat(ptr @.str3437, 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 @.str3438, ptr %t54)
|
|
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str3439)
|
|
%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 @.str3440)
|
|
%t61 = load ptr, ptr %t60
|
|
call void @fn_emit(ptr %t61)
|
|
call void @fn_emit(ptr @.str3441)
|
|
%t62 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t62)
|
|
call void @fn_emit(ptr @.str3442)
|
|
%t63 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str3443)
|
|
%t64 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str3444)
|
|
%t65 = load ptr, ptr %t53
|
|
%t66 = call ptr @fn_str_concat(ptr @.str3445, ptr %t65)
|
|
%t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str3446)
|
|
%t68 = call ptr @fn_emit_bind(ptr %t67)
|
|
store ptr %t68, ptr %t69
|
|
%t70 = call ptr @fn_emit_alloca(ptr @.str3447)
|
|
store ptr %t70, ptr %t71
|
|
%t72 = load ptr, ptr %t71
|
|
call void @fn_store_at(ptr @.str3448, ptr @.str3449, ptr %t72)
|
|
%t73 = call ptr @fn_lbl(ptr @.str3450)
|
|
store ptr %t73, ptr %t74
|
|
%t75 = call ptr @fn_lbl(ptr @.str3451)
|
|
store ptr %t75, ptr %t76
|
|
%t77 = call ptr @fn_lbl(ptr @.str3452)
|
|
store ptr %t77, ptr %t78
|
|
call void @fn_emit(ptr @.str3453)
|
|
%t79 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str3454)
|
|
%t80 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str3455)
|
|
%t81 = load ptr, ptr %t71
|
|
%t82 = call ptr @fn_str_concat(ptr @.str3456, 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 @.str3457, ptr %t85)
|
|
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3458)
|
|
%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 @.str3459)
|
|
%t92 = load ptr, ptr %t91
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str3460)
|
|
%t93 = load ptr, ptr %t76
|
|
call void @fn_emit(ptr %t93)
|
|
call void @fn_emit(ptr @.str3461)
|
|
%t94 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t94)
|
|
call void @fn_emit(ptr @.str3462)
|
|
%t95 = load ptr, ptr %t76
|
|
call void @fn_emit(ptr %t95)
|
|
call void @fn_emit(ptr @.str3463)
|
|
%t96 = load ptr, ptr %t84
|
|
%t97 = call ptr @fn_str_concat(ptr @.str3464, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str3465)
|
|
%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 @.str3466, ptr %t103)
|
|
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str3467)
|
|
%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 @.str3468, ptr %t110)
|
|
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3469)
|
|
%t113 = load ptr, ptr %t102
|
|
%t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113)
|
|
%t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str3470)
|
|
%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 @.str3471, ptr %t120)
|
|
%t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str3472)
|
|
%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 @.str3473, ptr %t127)
|
|
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str3474)
|
|
%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 @.str3475, ptr %t134)
|
|
%t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str3476)
|
|
%t137 = load ptr, ptr %t126
|
|
%t138 = call ptr @fn_str_concat(ptr %t136, ptr %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str3477)
|
|
%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 @.str3478)
|
|
store ptr %t144, ptr %t145
|
|
%t146 = load ptr, ptr %t84
|
|
%t147 = load ptr, ptr %t145
|
|
call void @fn_store_at(ptr @.str3479, ptr %t146, ptr %t147)
|
|
%t148 = call ptr @fn_emit_alloca(ptr @.str3480)
|
|
store ptr %t148, ptr %t149
|
|
%t150 = load ptr, ptr %t119
|
|
%t151 = load ptr, ptr %t149
|
|
call void @fn_store_at(ptr @.str3481, ptr %t150, ptr %t151)
|
|
%t152 = call ptr @fn_emit_alloca(ptr @.str3482)
|
|
store ptr %t152, ptr %t153
|
|
%t154 = load ptr, ptr %t84
|
|
%t155 = load ptr, ptr %t153
|
|
call void @fn_store_at(ptr @.str3483, ptr %t154, ptr %t155)
|
|
%t156 = call ptr @fn_lbl(ptr @.str3484)
|
|
store ptr %t156, ptr %t157
|
|
%t158 = call ptr @fn_lbl(ptr @.str3485)
|
|
store ptr %t158, ptr %t159
|
|
%t160 = call ptr @fn_lbl(ptr @.str3486)
|
|
store ptr %t160, ptr %t161
|
|
call void @fn_emit(ptr @.str3487)
|
|
%t162 = load ptr, ptr %t157
|
|
call void @fn_emit(ptr %t162)
|
|
call void @fn_emit(ptr @.str3488)
|
|
%t163 = load ptr, ptr %t157
|
|
call void @fn_emit(ptr %t163)
|
|
call void @fn_emit(ptr @.str3489)
|
|
%t164 = load ptr, ptr %t145
|
|
%t165 = call ptr @fn_str_concat(ptr @.str3490, 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 @.str3491, 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 @.str3492, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str3493)
|
|
%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 @.str3494, ptr %t179)
|
|
%t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str3495)
|
|
%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 @.str3496, ptr %t186)
|
|
%t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str3497)
|
|
%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 @.str3498)
|
|
%t193 = load ptr, ptr %t192
|
|
call void @fn_emit(ptr %t193)
|
|
call void @fn_emit(ptr @.str3499)
|
|
%t194 = load ptr, ptr %t159
|
|
call void @fn_emit(ptr %t194)
|
|
call void @fn_emit(ptr @.str3500)
|
|
%t195 = load ptr, ptr %t161
|
|
call void @fn_emit(ptr %t195)
|
|
call void @fn_emit(ptr @.str3501)
|
|
%t196 = load ptr, ptr %t159
|
|
call void @fn_emit(ptr %t196)
|
|
call void @fn_emit(ptr @.str3502)
|
|
%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 @.str3503, ptr %t202)
|
|
%t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str3504)
|
|
%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 @.str3505, ptr %t214)
|
|
%t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str3506)
|
|
%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 @.str3507, 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 @.str3508)
|
|
store ptr %t238, ptr %t239
|
|
%t240 = call ptr @fn_lbl(ptr @.str3509)
|
|
store ptr %t240, ptr %t241
|
|
%t242 = call ptr @fn_lbl(ptr @.str3510)
|
|
store ptr %t242, ptr %t243
|
|
call void @fn_emit(ptr @.str3511)
|
|
%t244 = load ptr, ptr %t228
|
|
call void @fn_emit(ptr %t244)
|
|
call void @fn_emit(ptr @.str3512)
|
|
%t245 = load ptr, ptr %t239
|
|
call void @fn_emit(ptr %t245)
|
|
call void @fn_emit(ptr @.str3513)
|
|
%t246 = load ptr, ptr %t241
|
|
call void @fn_emit(ptr %t246)
|
|
call void @fn_emit(ptr @.str3514)
|
|
%t247 = load ptr, ptr %t239
|
|
call void @fn_emit(ptr %t247)
|
|
call void @fn_emit(ptr @.str3515)
|
|
call void @fn_emit(ptr @.str3516)
|
|
%t248 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t248)
|
|
call void @fn_emit(ptr @.str3517)
|
|
%t249 = load ptr, ptr %t220
|
|
call void @fn_emit(ptr %t249)
|
|
call void @fn_emit(ptr @.str3518)
|
|
%t250 = load ptr, ptr %t237
|
|
call void @fn_emit(ptr %t250)
|
|
call void @fn_emit(ptr @.str3519)
|
|
%t251 = load ptr, ptr %t171
|
|
%t252 = call ptr @fn_str_concat(ptr @.str3520, ptr %t251)
|
|
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str3521)
|
|
%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 @.str3522, ptr %t256, ptr %t257)
|
|
call void @fn_emit(ptr @.str3523)
|
|
%t258 = load ptr, ptr %t243
|
|
call void @fn_emit(ptr %t258)
|
|
call void @fn_emit(ptr @.str3524)
|
|
%t259 = load ptr, ptr %t241
|
|
call void @fn_emit(ptr %t259)
|
|
call void @fn_emit(ptr @.str3525)
|
|
call void @fn_emit(ptr @.str3526)
|
|
%t260 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t260)
|
|
call void @fn_emit(ptr @.str3527)
|
|
%t261 = load ptr, ptr %t208
|
|
call void @fn_emit(ptr %t261)
|
|
call void @fn_emit(ptr @.str3528)
|
|
%t262 = load ptr, ptr %t237
|
|
call void @fn_emit(ptr %t262)
|
|
call void @fn_emit(ptr @.str3529)
|
|
%t263 = load ptr, ptr %t167
|
|
%t264 = call ptr @fn_str_concat(ptr @.str3530, ptr %t263)
|
|
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str3531)
|
|
%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 @.str3532, ptr %t268, ptr %t269)
|
|
call void @fn_emit(ptr @.str3533)
|
|
%t270 = load ptr, ptr %t243
|
|
call void @fn_emit(ptr %t270)
|
|
call void @fn_emit(ptr @.str3534)
|
|
%t271 = load ptr, ptr %t243
|
|
call void @fn_emit(ptr %t271)
|
|
call void @fn_emit(ptr @.str3535)
|
|
%t272 = load ptr, ptr %t232
|
|
%t273 = call ptr @fn_str_concat(ptr @.str3536, ptr %t272)
|
|
%t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str3537)
|
|
%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 @.str3538, ptr %t277, ptr %t278)
|
|
call void @fn_emit(ptr @.str3539)
|
|
%t279 = load ptr, ptr %t157
|
|
call void @fn_emit(ptr %t279)
|
|
call void @fn_emit(ptr @.str3540)
|
|
%t280 = load ptr, ptr %t161
|
|
call void @fn_emit(ptr %t280)
|
|
call void @fn_emit(ptr @.str3541)
|
|
%t281 = call ptr @fn_lbl(ptr @.str3542)
|
|
store ptr %t281, ptr %t282
|
|
%t283 = call ptr @fn_lbl(ptr @.str3543)
|
|
store ptr %t283, ptr %t284
|
|
%t285 = call ptr @fn_lbl(ptr @.str3544)
|
|
store ptr %t285, ptr %t286
|
|
call void @fn_emit(ptr @.str3545)
|
|
%t287 = load ptr, ptr %t282
|
|
call void @fn_emit(ptr %t287)
|
|
call void @fn_emit(ptr @.str3546)
|
|
%t288 = load ptr, ptr %t282
|
|
call void @fn_emit(ptr %t288)
|
|
call void @fn_emit(ptr @.str3547)
|
|
%t289 = load ptr, ptr %t145
|
|
%t290 = call ptr @fn_str_concat(ptr @.str3548, 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 @.str3549, ptr %t293)
|
|
%t295 = call ptr @fn_str_concat(ptr %t294, ptr @.str3550)
|
|
%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 @.str3551)
|
|
%t300 = load ptr, ptr %t299
|
|
call void @fn_emit(ptr %t300)
|
|
call void @fn_emit(ptr @.str3552)
|
|
%t301 = load ptr, ptr %t284
|
|
call void @fn_emit(ptr %t301)
|
|
call void @fn_emit(ptr @.str3553)
|
|
%t302 = load ptr, ptr %t286
|
|
call void @fn_emit(ptr %t302)
|
|
call void @fn_emit(ptr @.str3554)
|
|
%t303 = load ptr, ptr %t284
|
|
call void @fn_emit(ptr %t303)
|
|
call void @fn_emit(ptr @.str3555)
|
|
%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 @.str3556, ptr %t309)
|
|
%t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str3557)
|
|
%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 @.str3558, 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 @.str3559)
|
|
%t325 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t325)
|
|
call void @fn_emit(ptr @.str3560)
|
|
%t326 = load ptr, ptr %t315
|
|
call void @fn_emit(ptr %t326)
|
|
call void @fn_emit(ptr @.str3561)
|
|
%t327 = load ptr, ptr %t324
|
|
call void @fn_emit(ptr %t327)
|
|
call void @fn_emit(ptr @.str3562)
|
|
%t328 = load ptr, ptr %t292
|
|
%t329 = call ptr @fn_str_concat(ptr @.str3563, ptr %t328)
|
|
%t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str3564)
|
|
%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 @.str3565, ptr %t333, ptr %t334)
|
|
%t335 = load ptr, ptr %t319
|
|
%t336 = call ptr @fn_str_concat(ptr @.str3566, ptr %t335)
|
|
%t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str3567)
|
|
%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 @.str3568, ptr %t340, ptr %t341)
|
|
call void @fn_emit(ptr @.str3569)
|
|
%t342 = load ptr, ptr %t282
|
|
call void @fn_emit(ptr %t342)
|
|
call void @fn_emit(ptr @.str3570)
|
|
%t343 = load ptr, ptr %t286
|
|
call void @fn_emit(ptr %t343)
|
|
call void @fn_emit(ptr @.str3571)
|
|
%t344 = call ptr @fn_lbl(ptr @.str3572)
|
|
store ptr %t344, ptr %t345
|
|
%t346 = call ptr @fn_lbl(ptr @.str3573)
|
|
store ptr %t346, ptr %t347
|
|
%t348 = call ptr @fn_lbl(ptr @.str3574)
|
|
store ptr %t348, ptr %t349
|
|
call void @fn_emit(ptr @.str3575)
|
|
%t350 = load ptr, ptr %t345
|
|
call void @fn_emit(ptr %t350)
|
|
call void @fn_emit(ptr @.str3576)
|
|
%t351 = load ptr, ptr %t345
|
|
call void @fn_emit(ptr %t351)
|
|
call void @fn_emit(ptr @.str3577)
|
|
%t352 = load ptr, ptr %t149
|
|
%t353 = call ptr @fn_str_concat(ptr @.str3578, 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 @.str3579, ptr %t356)
|
|
%t358 = call ptr @fn_str_concat(ptr %t357, ptr @.str3580)
|
|
%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 @.str3581)
|
|
%t363 = load ptr, ptr %t362
|
|
call void @fn_emit(ptr %t363)
|
|
call void @fn_emit(ptr @.str3582)
|
|
%t364 = load ptr, ptr %t347
|
|
call void @fn_emit(ptr %t364)
|
|
call void @fn_emit(ptr @.str3583)
|
|
%t365 = load ptr, ptr %t349
|
|
call void @fn_emit(ptr %t365)
|
|
call void @fn_emit(ptr @.str3584)
|
|
%t366 = load ptr, ptr %t347
|
|
call void @fn_emit(ptr %t366)
|
|
call void @fn_emit(ptr @.str3585)
|
|
%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 @.str3586, ptr %t372)
|
|
%t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str3587)
|
|
%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 @.str3588, 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 @.str3589)
|
|
%t388 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t388)
|
|
call void @fn_emit(ptr @.str3590)
|
|
%t389 = load ptr, ptr %t378
|
|
call void @fn_emit(ptr %t389)
|
|
call void @fn_emit(ptr @.str3591)
|
|
%t390 = load ptr, ptr %t387
|
|
call void @fn_emit(ptr %t390)
|
|
call void @fn_emit(ptr @.str3592)
|
|
%t391 = load ptr, ptr %t355
|
|
%t392 = call ptr @fn_str_concat(ptr @.str3593, ptr %t391)
|
|
%t393 = call ptr @fn_str_concat(ptr %t392, ptr @.str3594)
|
|
%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 @.str3595, ptr %t396, ptr %t397)
|
|
%t398 = load ptr, ptr %t382
|
|
%t399 = call ptr @fn_str_concat(ptr @.str3596, ptr %t398)
|
|
%t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str3597)
|
|
%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 @.str3598, ptr %t403, ptr %t404)
|
|
call void @fn_emit(ptr @.str3599)
|
|
%t405 = load ptr, ptr %t345
|
|
call void @fn_emit(ptr %t405)
|
|
call void @fn_emit(ptr @.str3600)
|
|
%t406 = load ptr, ptr %t349
|
|
call void @fn_emit(ptr %t406)
|
|
call void @fn_emit(ptr @.str3601)
|
|
%t407 = call ptr @fn_emit_alloca(ptr @.str3602)
|
|
store ptr %t407, ptr %t408
|
|
%t409 = load ptr, ptr %t84
|
|
%t410 = load ptr, ptr %t408
|
|
call void @fn_store_at(ptr @.str3603, ptr %t409, ptr %t410)
|
|
%t411 = call ptr @fn_lbl(ptr @.str3604)
|
|
store ptr %t411, ptr %t412
|
|
%t413 = call ptr @fn_lbl(ptr @.str3605)
|
|
store ptr %t413, ptr %t414
|
|
%t415 = call ptr @fn_lbl(ptr @.str3606)
|
|
store ptr %t415, ptr %t416
|
|
call void @fn_emit(ptr @.str3607)
|
|
%t417 = load ptr, ptr %t412
|
|
call void @fn_emit(ptr %t417)
|
|
call void @fn_emit(ptr @.str3608)
|
|
%t418 = load ptr, ptr %t412
|
|
call void @fn_emit(ptr %t418)
|
|
call void @fn_emit(ptr @.str3609)
|
|
%t419 = load ptr, ptr %t408
|
|
%t420 = call ptr @fn_str_concat(ptr @.str3610, 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 @.str3611, ptr %t423)
|
|
%t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str3612)
|
|
%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 @.str3613)
|
|
%t430 = load ptr, ptr %t429
|
|
call void @fn_emit(ptr %t430)
|
|
call void @fn_emit(ptr @.str3614)
|
|
%t431 = load ptr, ptr %t414
|
|
call void @fn_emit(ptr %t431)
|
|
call void @fn_emit(ptr @.str3615)
|
|
%t432 = load ptr, ptr %t416
|
|
call void @fn_emit(ptr %t432)
|
|
call void @fn_emit(ptr @.str3616)
|
|
%t433 = load ptr, ptr %t414
|
|
call void @fn_emit(ptr %t433)
|
|
call void @fn_emit(ptr @.str3617)
|
|
%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 @.str3618, ptr %t439)
|
|
%t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str3619)
|
|
%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 @.str3620)
|
|
%t451 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t451)
|
|
call void @fn_emit(ptr @.str3621)
|
|
%t452 = load ptr, ptr %t445
|
|
call void @fn_emit(ptr %t452)
|
|
call void @fn_emit(ptr @.str3622)
|
|
%t453 = load ptr, ptr %t450
|
|
call void @fn_emit(ptr %t453)
|
|
call void @fn_emit(ptr @.str3623)
|
|
%t454 = load ptr, ptr %t422
|
|
%t455 = call ptr @fn_str_concat(ptr @.str3624, ptr %t454)
|
|
%t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str3625)
|
|
%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 @.str3626, ptr %t459, ptr %t460)
|
|
call void @fn_emit(ptr @.str3627)
|
|
%t461 = load ptr, ptr %t412
|
|
call void @fn_emit(ptr %t461)
|
|
call void @fn_emit(ptr @.str3628)
|
|
%t462 = load ptr, ptr %t416
|
|
call void @fn_emit(ptr %t462)
|
|
call void @fn_emit(ptr @.str3629)
|
|
%t463 = load ptr, ptr %t84
|
|
%t464 = call ptr @fn_str_concat(ptr @.str3630, ptr %t463)
|
|
%t465 = call ptr @fn_str_concat(ptr %t464, ptr @.str3631)
|
|
%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 @.str3632, ptr %t470, ptr %t471)
|
|
call void @fn_emit(ptr @.str3633)
|
|
%t472 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t472)
|
|
call void @fn_emit(ptr @.str3634)
|
|
%t473 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t473)
|
|
call void @fn_emit(ptr @.str3635)
|
|
%t474 = load ptr, ptr %t69
|
|
%t475 = load ptr, ptr %t40
|
|
call void @fn_store_at(ptr @.str3636, ptr %t474, ptr %t475)
|
|
call void @fn_emit(ptr @.str3637)
|
|
%t476 = load ptr, ptr %t43
|
|
call void @fn_emit(ptr %t476)
|
|
call void @fn_emit(ptr @.str3638)
|
|
%t477 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t477)
|
|
call void @fn_emit(ptr @.str3639)
|
|
call void @fn_emit(ptr @.str3640)
|
|
%t478 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t478)
|
|
call void @fn_emit(ptr @.str3641)
|
|
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 @.str3642, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3643)
|
|
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 @.str3644, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str3645)
|
|
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 @.str3646, ptr %t43)
|
|
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str3647)
|
|
%t46 = load ptr, ptr %t37
|
|
%t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46)
|
|
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3648)
|
|
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 @.str3649)
|
|
%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 @.str3650)
|
|
%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 @.str3651, ptr %t28)
|
|
%t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str3652)
|
|
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 @.str3653)
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_emit(ptr @.str3654)
|
|
%t49 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str3655)
|
|
%t50 = call ptr @fn_val(ptr @.str3656, ptr @.str3657)
|
|
store ptr %t50, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3658)
|
|
%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 @.str3659)
|
|
store ptr %t56, ptr %t57
|
|
%t58 = load ptr, ptr %t38
|
|
%t59 = call ptr @fn_str_concat(ptr @.str3660, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str3661)
|
|
%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 @.str3662)
|
|
%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 @.str3663, 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 @.str3664, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str3665)
|
|
%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 @.str3666, ptr %t83)
|
|
%t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str3667)
|
|
%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 @.str3668)
|
|
%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 @.str3669, 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 @.str3670, ptr %t98)
|
|
%t100 = call ptr @fn_str_concat(ptr %t99, ptr @.str3671)
|
|
%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 @.str3672, ptr %t108)
|
|
%t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str3673)
|
|
%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 @.str3674)
|
|
%t115 = load ptr, ptr %t102
|
|
call void @fn_emit(ptr %t115)
|
|
call void @fn_emit(ptr @.str3675)
|
|
%t116 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t116)
|
|
call void @fn_emit(ptr @.str3676)
|
|
%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 @.str3677)
|
|
%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 @.str3678, ptr %t155)
|
|
%t157 = call ptr @fn_str_concat(ptr %t156, ptr @.str3679)
|
|
%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 @.str3680, ptr %t162)
|
|
%t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str3681)
|
|
%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 @.str3682)
|
|
%t169 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t169)
|
|
call void @fn_emit(ptr @.str3683)
|
|
%t170 = load ptr, ptr %t168
|
|
call void @fn_emit(ptr %t170)
|
|
call void @fn_emit(ptr @.str3684)
|
|
%t171 = load ptr, ptr %t147
|
|
call void @fn_emit(ptr %t171)
|
|
call void @fn_emit(ptr @.str3685)
|
|
call void @fn_emit(ptr @.str3686)
|
|
%t172 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t172)
|
|
call void @fn_emit(ptr @.str3687)
|
|
%t173 = load ptr, ptr %t161
|
|
call void @fn_emit(ptr %t173)
|
|
call void @fn_emit(ptr @.str3688)
|
|
%t174 = load ptr, ptr %t154
|
|
call void @fn_emit(ptr %t174)
|
|
call void @fn_emit(ptr @.str3689)
|
|
%t175 = call ptr @fn_val(ptr @.str3690, ptr @.str3691)
|
|
store ptr %t175, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t177 = load ptr, ptr %t0
|
|
%t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str3692)
|
|
%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 @.str3693)
|
|
%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 @.str3694, ptr %t196)
|
|
%t198 = call ptr @fn_emit_bind(ptr %t197)
|
|
store ptr %t198, ptr %t199
|
|
%t200 = call ptr @fn_emit_alloca(ptr @.str3695)
|
|
store ptr %t200, ptr %t201
|
|
%t202 = load ptr, ptr %t201
|
|
call void @fn_store_at(ptr @.str3696, ptr @.str3697, ptr %t202)
|
|
%t203 = call ptr @fn_emit_alloca(ptr @.str3698)
|
|
store ptr %t203, ptr %t204
|
|
%t205 = load ptr, ptr %t204
|
|
call void @fn_store_at(ptr @.str3699, ptr @.str3700, ptr %t205)
|
|
%t206 = call ptr @fn_lbl(ptr @.str3701)
|
|
store ptr %t206, ptr %t207
|
|
%t208 = call ptr @fn_lbl(ptr @.str3702)
|
|
store ptr %t208, ptr %t209
|
|
%t210 = call ptr @fn_lbl(ptr @.str3703)
|
|
store ptr %t210, ptr %t211
|
|
%t212 = call ptr @fn_lbl(ptr @.str3704)
|
|
store ptr %t212, ptr %t213
|
|
%t214 = call ptr @fn_lbl(ptr @.str3705)
|
|
store ptr %t214, ptr %t215
|
|
call void @fn_emit(ptr @.str3706)
|
|
%t216 = load ptr, ptr %t207
|
|
call void @fn_emit(ptr %t216)
|
|
call void @fn_emit(ptr @.str3707)
|
|
%t217 = load ptr, ptr %t207
|
|
call void @fn_emit(ptr %t217)
|
|
call void @fn_emit(ptr @.str3708)
|
|
%t218 = load ptr, ptr %t204
|
|
%t219 = call ptr @fn_str_concat(ptr @.str3709, 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 @.str3710, ptr %t222)
|
|
%t224 = call ptr @fn_str_concat(ptr %t223, ptr @.str3711)
|
|
%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 @.str3712)
|
|
%t229 = load ptr, ptr %t228
|
|
call void @fn_emit(ptr %t229)
|
|
call void @fn_emit(ptr @.str3713)
|
|
%t230 = load ptr, ptr %t209
|
|
call void @fn_emit(ptr %t230)
|
|
call void @fn_emit(ptr @.str3714)
|
|
%t231 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t231)
|
|
call void @fn_emit(ptr @.str3715)
|
|
%t232 = load ptr, ptr %t209
|
|
call void @fn_emit(ptr %t232)
|
|
call void @fn_emit(ptr @.str3716)
|
|
%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 @.str3717, ptr %t238)
|
|
%t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str3718)
|
|
%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 @.str3719, ptr %t245)
|
|
%t247 = call ptr @fn_str_concat(ptr %t246, ptr @.str3720)
|
|
%t248 = load ptr, ptr %t244
|
|
%t249 = call ptr @fn_str_concat(ptr %t247, ptr %t248)
|
|
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str3721)
|
|
%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 @.str3722)
|
|
%t257 = load ptr, ptr %t256
|
|
call void @fn_emit(ptr %t257)
|
|
call void @fn_emit(ptr @.str3723)
|
|
%t258 = load ptr, ptr %t211
|
|
call void @fn_emit(ptr %t258)
|
|
call void @fn_emit(ptr @.str3724)
|
|
%t259 = load ptr, ptr %t213
|
|
call void @fn_emit(ptr %t259)
|
|
call void @fn_emit(ptr @.str3725)
|
|
%t260 = load ptr, ptr %t211
|
|
call void @fn_emit(ptr %t260)
|
|
call void @fn_emit(ptr @.str3726)
|
|
%t261 = load ptr, ptr %t221
|
|
%t262 = load ptr, ptr %t201
|
|
call void @fn_store_at(ptr @.str3727, ptr %t261, ptr %t262)
|
|
call void @fn_emit(ptr @.str3728)
|
|
%t263 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t263)
|
|
call void @fn_emit(ptr @.str3729)
|
|
%t264 = load ptr, ptr %t213
|
|
call void @fn_emit(ptr %t264)
|
|
call void @fn_emit(ptr @.str3730)
|
|
%t265 = load ptr, ptr %t221
|
|
%t266 = call ptr @fn_str_concat(ptr @.str3731, ptr %t265)
|
|
%t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str3732)
|
|
%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 @.str3733, ptr %t270, ptr %t271)
|
|
call void @fn_emit(ptr @.str3734)
|
|
%t272 = load ptr, ptr %t207
|
|
call void @fn_emit(ptr %t272)
|
|
call void @fn_emit(ptr @.str3735)
|
|
%t273 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t273)
|
|
call void @fn_emit(ptr @.str3736)
|
|
%t274 = load ptr, ptr %t201
|
|
%t275 = call ptr @fn_str_concat(ptr @.str3737, 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 @.str3738)
|
|
%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 @.str3739)
|
|
store ptr %t282, ptr %retval
|
|
br label %ret
|
|
ifend31:
|
|
%t283 = load ptr, ptr %t277
|
|
%t284 = call ptr @fn_str_concat(ptr @.str3740, ptr %t283)
|
|
%t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str3741)
|
|
%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 @.str3742, ptr %t288)
|
|
%t290 = call ptr @fn_str_concat(ptr %t289, ptr @.str3743)
|
|
%t291 = call ptr @fn_emit_bind(ptr %t290)
|
|
%t292 = call ptr @fn_val(ptr %t291, ptr @.str3744)
|
|
store ptr %t292, ptr %retval
|
|
br label %ret
|
|
ifend28:
|
|
%t293 = load ptr, ptr %t0
|
|
%t294 = call i32 @fn_str_eq(ptr %t293, ptr @.str3745)
|
|
%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 @.str3746, ptr %t316)
|
|
%t318 = call ptr @fn_emit_bind(ptr %t317)
|
|
store ptr %t318, ptr %t319
|
|
%t320 = call ptr @fn_emit_alloca(ptr @.str3747)
|
|
store ptr %t320, ptr %t321
|
|
%t322 = load ptr, ptr %t319
|
|
%t323 = load ptr, ptr %t321
|
|
call void @fn_store_at(ptr @.str3748, ptr %t322, ptr %t323)
|
|
%t324 = call ptr @fn_lbl(ptr @.str3749)
|
|
store ptr %t324, ptr %t325
|
|
%t326 = call ptr @fn_lbl(ptr @.str3750)
|
|
store ptr %t326, ptr %t327
|
|
%t328 = call ptr @fn_lbl(ptr @.str3751)
|
|
store ptr %t328, ptr %t329
|
|
call void @fn_emit(ptr @.str3752)
|
|
%t330 = load ptr, ptr %t325
|
|
call void @fn_emit(ptr %t330)
|
|
call void @fn_emit(ptr @.str3753)
|
|
%t331 = load ptr, ptr %t325
|
|
call void @fn_emit(ptr %t331)
|
|
call void @fn_emit(ptr @.str3754)
|
|
%t332 = load ptr, ptr %t321
|
|
%t333 = call ptr @fn_str_concat(ptr @.str3755, 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 @.str3756, ptr %t336)
|
|
%t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str3757)
|
|
%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 @.str3758)
|
|
%t345 = load ptr, ptr %t344
|
|
call void @fn_emit(ptr %t345)
|
|
call void @fn_emit(ptr @.str3759)
|
|
%t346 = load ptr, ptr %t327
|
|
call void @fn_emit(ptr %t346)
|
|
call void @fn_emit(ptr @.str3760)
|
|
%t347 = load ptr, ptr %t329
|
|
call void @fn_emit(ptr %t347)
|
|
call void @fn_emit(ptr @.str3761)
|
|
%t348 = load ptr, ptr %t327
|
|
call void @fn_emit(ptr %t348)
|
|
call void @fn_emit(ptr @.str3762)
|
|
%t349 = load ptr, ptr %t335
|
|
%t350 = call ptr @fn_str_concat(ptr @.str3763, ptr %t349)
|
|
%t351 = call ptr @fn_str_concat(ptr %t350, ptr @.str3764)
|
|
%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 @.str3765, ptr %t359)
|
|
%t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str3766)
|
|
%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 @.str3767)
|
|
%t371 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t371)
|
|
call void @fn_emit(ptr @.str3768)
|
|
%t372 = load ptr, ptr %t365
|
|
call void @fn_emit(ptr %t372)
|
|
call void @fn_emit(ptr @.str3769)
|
|
%t373 = load ptr, ptr %t370
|
|
call void @fn_emit(ptr %t373)
|
|
call void @fn_emit(ptr @.str3770)
|
|
%t374 = load ptr, ptr %t353
|
|
%t375 = load ptr, ptr %t321
|
|
call void @fn_store_at(ptr @.str3771, ptr %t374, ptr %t375)
|
|
call void @fn_emit(ptr @.str3772)
|
|
%t376 = load ptr, ptr %t325
|
|
call void @fn_emit(ptr %t376)
|
|
call void @fn_emit(ptr @.str3773)
|
|
%t377 = load ptr, ptr %t329
|
|
call void @fn_emit(ptr %t377)
|
|
call void @fn_emit(ptr @.str3774)
|
|
%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 @.str3775)
|
|
%t385 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t385)
|
|
call void @fn_emit(ptr @.str3776)
|
|
%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 @.str3777)
|
|
%t389 = load ptr, ptr %t384
|
|
call void @fn_emit(ptr %t389)
|
|
call void @fn_emit(ptr @.str3778)
|
|
%t390 = load ptr, ptr %t319
|
|
%t391 = call ptr @fn_str_concat(ptr @.str3779, ptr %t390)
|
|
%t392 = call ptr @fn_str_concat(ptr %t391, ptr @.str3780)
|
|
%t393 = call ptr @fn_emit_bind(ptr %t392)
|
|
store ptr %t393, ptr %t394
|
|
call void @fn_emit(ptr @.str3781)
|
|
%t395 = load ptr, ptr %t394
|
|
call void @fn_emit(ptr %t395)
|
|
call void @fn_emit(ptr @.str3782)
|
|
%t396 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t396)
|
|
call void @fn_emit(ptr @.str3783)
|
|
%t397 = call ptr @fn_val(ptr @.str3784, ptr @.str3785)
|
|
store ptr %t397, ptr %retval
|
|
br label %ret
|
|
ifend34:
|
|
%t398 = load ptr, ptr %t0
|
|
%t399 = call i32 @fn_str_eq(ptr %t398, ptr @.str3786)
|
|
%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 @.str3787, 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 @.str3788, ptr %t414)
|
|
%t416 = call ptr @fn_str_concat(ptr %t415, ptr @.str3789)
|
|
%t417 = call ptr @fn_emit_bind(ptr %t416)
|
|
store ptr %t417, ptr %t418
|
|
%t419 = call ptr @fn_emit_alloca(ptr @.str3790)
|
|
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 @.str3791, ptr %t423, ptr %t424)
|
|
%t425 = call ptr @fn_lbl(ptr @.str3792)
|
|
store ptr %t425, ptr %t426
|
|
%t427 = call ptr @fn_lbl(ptr @.str3793)
|
|
store ptr %t427, ptr %t428
|
|
%t429 = call ptr @fn_lbl(ptr @.str3794)
|
|
store ptr %t429, ptr %t430
|
|
call void @fn_emit(ptr @.str3795)
|
|
%t431 = load ptr, ptr %t426
|
|
call void @fn_emit(ptr %t431)
|
|
call void @fn_emit(ptr @.str3796)
|
|
%t432 = load ptr, ptr %t426
|
|
call void @fn_emit(ptr %t432)
|
|
call void @fn_emit(ptr @.str3797)
|
|
%t433 = load ptr, ptr %t420
|
|
%t434 = call ptr @fn_str_concat(ptr @.str3798, 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 @.str3799, ptr %t437)
|
|
%t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str3800)
|
|
%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 @.str3801)
|
|
%t444 = load ptr, ptr %t443
|
|
call void @fn_emit(ptr %t444)
|
|
call void @fn_emit(ptr @.str3802)
|
|
%t445 = load ptr, ptr %t428
|
|
call void @fn_emit(ptr %t445)
|
|
call void @fn_emit(ptr @.str3803)
|
|
%t446 = load ptr, ptr %t430
|
|
call void @fn_emit(ptr %t446)
|
|
call void @fn_emit(ptr @.str3804)
|
|
%t447 = load ptr, ptr %t428
|
|
call void @fn_emit(ptr %t447)
|
|
call void @fn_emit(ptr @.str3805)
|
|
%t448 = load ptr, ptr %t436
|
|
%t449 = call ptr @fn_str_concat(ptr @.str3806, ptr %t448)
|
|
%t450 = call ptr @fn_str_concat(ptr %t449, ptr @.str3807)
|
|
%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 @.str3808, ptr %t458)
|
|
%t460 = call ptr @fn_str_concat(ptr %t459, ptr @.str3809)
|
|
%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 @.str3810)
|
|
%t470 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t470)
|
|
call void @fn_emit(ptr @.str3811)
|
|
%t471 = load ptr, ptr %t464
|
|
call void @fn_emit(ptr %t471)
|
|
call void @fn_emit(ptr @.str3812)
|
|
%t472 = load ptr, ptr %t469
|
|
call void @fn_emit(ptr %t472)
|
|
call void @fn_emit(ptr @.str3813)
|
|
%t473 = load ptr, ptr %t452
|
|
%t474 = load ptr, ptr %t420
|
|
call void @fn_store_at(ptr @.str3814, ptr %t473, ptr %t474)
|
|
call void @fn_emit(ptr @.str3815)
|
|
%t475 = load ptr, ptr %t426
|
|
call void @fn_emit(ptr %t475)
|
|
call void @fn_emit(ptr @.str3816)
|
|
%t476 = load ptr, ptr %t430
|
|
call void @fn_emit(ptr %t476)
|
|
call void @fn_emit(ptr @.str3817)
|
|
call void @fn_emit(ptr @.str3818)
|
|
%t477 = load ptr, ptr %t418
|
|
call void @fn_emit(ptr %t477)
|
|
call void @fn_emit(ptr @.str3819)
|
|
%t478 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t478)
|
|
call void @fn_emit(ptr @.str3820)
|
|
%t479 = call ptr @fn_val(ptr @.str3821, ptr @.str3822)
|
|
store ptr %t479, ptr %retval
|
|
br label %ret
|
|
ifend37:
|
|
%t480 = load ptr, ptr %t0
|
|
%t481 = call i32 @fn_str_eq(ptr %t480, ptr @.str3823)
|
|
%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 @.str3824, ptr %t492)
|
|
%t494 = call ptr @fn_emit_bind(ptr %t493)
|
|
store ptr %t494, ptr %t495
|
|
%t496 = call ptr @fn_emit_alloca(ptr @.str3825)
|
|
store ptr %t496, ptr %t497
|
|
%t498 = load ptr, ptr %t497
|
|
call void @fn_store_at(ptr @.str3826, ptr @.str3827, ptr %t498)
|
|
%t499 = call ptr @fn_emit_alloca(ptr @.str3828)
|
|
store ptr %t499, ptr %t500
|
|
%t501 = load ptr, ptr %t500
|
|
call void @fn_store_at(ptr @.str3829, ptr @.str3830, ptr %t501)
|
|
%t502 = call ptr @fn_lbl(ptr @.str3831)
|
|
store ptr %t502, ptr %t503
|
|
%t504 = call ptr @fn_lbl(ptr @.str3832)
|
|
store ptr %t504, ptr %t505
|
|
%t506 = call ptr @fn_lbl(ptr @.str3833)
|
|
store ptr %t506, ptr %t507
|
|
%t508 = call ptr @fn_lbl(ptr @.str3834)
|
|
store ptr %t508, ptr %t509
|
|
%t510 = call ptr @fn_lbl(ptr @.str3835)
|
|
store ptr %t510, ptr %t511
|
|
call void @fn_emit(ptr @.str3836)
|
|
%t512 = load ptr, ptr %t503
|
|
call void @fn_emit(ptr %t512)
|
|
call void @fn_emit(ptr @.str3837)
|
|
%t513 = load ptr, ptr %t503
|
|
call void @fn_emit(ptr %t513)
|
|
call void @fn_emit(ptr @.str3838)
|
|
%t514 = load ptr, ptr %t500
|
|
%t515 = call ptr @fn_str_concat(ptr @.str3839, 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 @.str3840, ptr %t518)
|
|
%t520 = call ptr @fn_str_concat(ptr %t519, ptr @.str3841)
|
|
%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 @.str3842, 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 @.str3843, ptr %t529)
|
|
%t531 = call ptr @fn_str_concat(ptr %t530, ptr @.str3844)
|
|
%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 @.str3845, ptr %t534)
|
|
%t536 = call ptr @fn_str_concat(ptr %t535, ptr @.str3846)
|
|
%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 @.str3847)
|
|
%t541 = load ptr, ptr %t540
|
|
call void @fn_emit(ptr %t541)
|
|
call void @fn_emit(ptr @.str3848)
|
|
%t542 = load ptr, ptr %t505
|
|
call void @fn_emit(ptr %t542)
|
|
call void @fn_emit(ptr @.str3849)
|
|
%t543 = load ptr, ptr %t511
|
|
call void @fn_emit(ptr %t543)
|
|
call void @fn_emit(ptr @.str3850)
|
|
%t544 = load ptr, ptr %t505
|
|
call void @fn_emit(ptr %t544)
|
|
call void @fn_emit(ptr @.str3851)
|
|
%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 @.str3852, ptr %t550)
|
|
%t552 = call ptr @fn_str_concat(ptr %t551, ptr @.str3853)
|
|
%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 @.str3854, ptr %t557)
|
|
%t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str3855)
|
|
%t560 = load ptr, ptr %t556
|
|
%t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560)
|
|
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str3856)
|
|
%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 @.str3857)
|
|
%t569 = load ptr, ptr %t568
|
|
call void @fn_emit(ptr %t569)
|
|
call void @fn_emit(ptr @.str3858)
|
|
%t570 = load ptr, ptr %t507
|
|
call void @fn_emit(ptr %t570)
|
|
call void @fn_emit(ptr @.str3859)
|
|
%t571 = load ptr, ptr %t509
|
|
call void @fn_emit(ptr %t571)
|
|
call void @fn_emit(ptr @.str3860)
|
|
%t572 = load ptr, ptr %t507
|
|
call void @fn_emit(ptr %t572)
|
|
call void @fn_emit(ptr @.str3861)
|
|
%t573 = load ptr, ptr %t517
|
|
%t574 = load ptr, ptr %t497
|
|
call void @fn_store_at(ptr @.str3862, ptr %t573, ptr %t574)
|
|
call void @fn_emit(ptr @.str3863)
|
|
%t575 = load ptr, ptr %t503
|
|
call void @fn_emit(ptr %t575)
|
|
call void @fn_emit(ptr @.str3864)
|
|
%t576 = load ptr, ptr %t509
|
|
call void @fn_emit(ptr %t576)
|
|
call void @fn_emit(ptr @.str3865)
|
|
%t577 = load ptr, ptr %t517
|
|
%t578 = call ptr @fn_str_concat(ptr @.str3866, ptr %t577)
|
|
%t579 = call ptr @fn_str_concat(ptr %t578, ptr @.str3867)
|
|
%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 @.str3868, ptr %t582, ptr %t583)
|
|
call void @fn_emit(ptr @.str3869)
|
|
%t584 = load ptr, ptr %t503
|
|
call void @fn_emit(ptr %t584)
|
|
call void @fn_emit(ptr @.str3870)
|
|
%t585 = load ptr, ptr %t511
|
|
call void @fn_emit(ptr %t585)
|
|
call void @fn_emit(ptr @.str3871)
|
|
%t586 = load ptr, ptr %t497
|
|
%t587 = call ptr @fn_str_concat(ptr @.str3872, 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 @.str3873, ptr %t590)
|
|
%t592 = call ptr @fn_str_concat(ptr %t591, ptr @.str3874)
|
|
%t593 = call ptr @fn_emit_bind(ptr %t592)
|
|
store ptr %t593, ptr %t594
|
|
%t595 = call ptr @fn_lbl(ptr @.str3875)
|
|
store ptr %t595, ptr %t596
|
|
%t597 = call ptr @fn_lbl(ptr @.str3876)
|
|
store ptr %t597, ptr %t598
|
|
call void @fn_emit(ptr @.str3877)
|
|
%t599 = load ptr, ptr %t594
|
|
call void @fn_emit(ptr %t599)
|
|
call void @fn_emit(ptr @.str3878)
|
|
%t600 = load ptr, ptr %t596
|
|
call void @fn_emit(ptr %t600)
|
|
call void @fn_emit(ptr @.str3879)
|
|
%t601 = load ptr, ptr %t598
|
|
call void @fn_emit(ptr %t601)
|
|
call void @fn_emit(ptr @.str3880)
|
|
%t602 = load ptr, ptr %t596
|
|
call void @fn_emit(ptr %t602)
|
|
call void @fn_emit(ptr @.str3881)
|
|
%t603 = load ptr, ptr %t495
|
|
%t604 = call ptr @fn_str_concat(ptr @.str3882, ptr %t603)
|
|
%t605 = call ptr @fn_str_concat(ptr %t604, ptr @.str3883)
|
|
%t606 = call ptr @fn_emit_bind(ptr %t605)
|
|
store ptr %t606, ptr %t607
|
|
%t608 = call ptr @fn_emit_alloca(ptr @.str3884)
|
|
store ptr %t608, ptr %t609
|
|
%t610 = load ptr, ptr %t589
|
|
%t611 = load ptr, ptr %t609
|
|
call void @fn_store_at(ptr @.str3885, ptr %t610, ptr %t611)
|
|
%t612 = call ptr @fn_lbl(ptr @.str3886)
|
|
store ptr %t612, ptr %t613
|
|
%t614 = call ptr @fn_lbl(ptr @.str3887)
|
|
store ptr %t614, ptr %t615
|
|
%t616 = call ptr @fn_lbl(ptr @.str3888)
|
|
store ptr %t616, ptr %t617
|
|
call void @fn_emit(ptr @.str3889)
|
|
%t618 = load ptr, ptr %t613
|
|
call void @fn_emit(ptr %t618)
|
|
call void @fn_emit(ptr @.str3890)
|
|
%t619 = load ptr, ptr %t613
|
|
call void @fn_emit(ptr %t619)
|
|
call void @fn_emit(ptr @.str3891)
|
|
%t620 = load ptr, ptr %t609
|
|
%t621 = call ptr @fn_str_concat(ptr @.str3892, 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 @.str3893, ptr %t624)
|
|
%t626 = call ptr @fn_str_concat(ptr %t625, ptr @.str3894)
|
|
%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 @.str3895)
|
|
%t631 = load ptr, ptr %t630
|
|
call void @fn_emit(ptr %t631)
|
|
call void @fn_emit(ptr @.str3896)
|
|
%t632 = load ptr, ptr %t615
|
|
call void @fn_emit(ptr %t632)
|
|
call void @fn_emit(ptr @.str3897)
|
|
%t633 = load ptr, ptr %t617
|
|
call void @fn_emit(ptr %t633)
|
|
call void @fn_emit(ptr @.str3898)
|
|
%t634 = load ptr, ptr %t615
|
|
call void @fn_emit(ptr %t634)
|
|
call void @fn_emit(ptr @.str3899)
|
|
%t635 = load ptr, ptr %t623
|
|
%t636 = call ptr @fn_str_concat(ptr @.str3900, ptr %t635)
|
|
%t637 = call ptr @fn_str_concat(ptr %t636, ptr @.str3901)
|
|
%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 @.str3902, ptr %t645)
|
|
%t647 = call ptr @fn_str_concat(ptr %t646, ptr @.str3903)
|
|
%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 @.str3904)
|
|
%t657 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t657)
|
|
call void @fn_emit(ptr @.str3905)
|
|
%t658 = load ptr, ptr %t651
|
|
call void @fn_emit(ptr %t658)
|
|
call void @fn_emit(ptr @.str3906)
|
|
%t659 = load ptr, ptr %t656
|
|
call void @fn_emit(ptr %t659)
|
|
call void @fn_emit(ptr @.str3907)
|
|
%t660 = load ptr, ptr %t639
|
|
%t661 = load ptr, ptr %t609
|
|
call void @fn_store_at(ptr @.str3908, ptr %t660, ptr %t661)
|
|
call void @fn_emit(ptr @.str3909)
|
|
%t662 = load ptr, ptr %t613
|
|
call void @fn_emit(ptr %t662)
|
|
call void @fn_emit(ptr @.str3910)
|
|
%t663 = load ptr, ptr %t617
|
|
call void @fn_emit(ptr %t663)
|
|
call void @fn_emit(ptr @.str3911)
|
|
call void @fn_emit(ptr @.str3912)
|
|
%t664 = load ptr, ptr %t607
|
|
call void @fn_emit(ptr %t664)
|
|
call void @fn_emit(ptr @.str3913)
|
|
%t665 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t665)
|
|
call void @fn_emit(ptr @.str3914)
|
|
call void @fn_emit(ptr @.str3915)
|
|
%t666 = load ptr, ptr %t598
|
|
call void @fn_emit(ptr %t666)
|
|
call void @fn_emit(ptr @.str3916)
|
|
%t667 = load ptr, ptr %t598
|
|
call void @fn_emit(ptr %t667)
|
|
call void @fn_emit(ptr @.str3917)
|
|
%t668 = call ptr @fn_val(ptr @.str3918, ptr @.str3919)
|
|
store ptr %t668, ptr %retval
|
|
br label %ret
|
|
ifend40:
|
|
%t669 = load ptr, ptr %t0
|
|
%t670 = call i32 @fn_str_eq(ptr %t669, ptr @.str3920)
|
|
%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 @.str3921, 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 @.str3922, ptr %t676)
|
|
%t678 = call ptr @fn_str_concat(ptr %t677, ptr @.str3923)
|
|
%t679 = call ptr @fn_emit_bind(ptr %t678)
|
|
store ptr %t679, ptr %t680
|
|
%t681 = call ptr @fn_lbl(ptr @.str3924)
|
|
store ptr %t681, ptr %t682
|
|
%t683 = call ptr @fn_lbl(ptr @.str3925)
|
|
store ptr %t683, ptr %t684
|
|
%t685 = call ptr @fn_lbl(ptr @.str3926)
|
|
store ptr %t685, ptr %t686
|
|
call void @fn_emit(ptr @.str3927)
|
|
%t687 = load ptr, ptr %t680
|
|
call void @fn_emit(ptr %t687)
|
|
call void @fn_emit(ptr @.str3928)
|
|
%t688 = load ptr, ptr %t682
|
|
call void @fn_emit(ptr %t688)
|
|
call void @fn_emit(ptr @.str3929)
|
|
%t689 = load ptr, ptr %t684
|
|
call void @fn_emit(ptr %t689)
|
|
call void @fn_emit(ptr @.str3930)
|
|
%t690 = load ptr, ptr %t682
|
|
call void @fn_emit(ptr %t690)
|
|
call void @fn_emit(ptr @.str3931)
|
|
%t691 = load ptr, ptr %t45
|
|
%t692 = call ptr @fn_str_concat(ptr @.str3932, ptr %t691)
|
|
%t693 = call ptr @fn_emit_bind(ptr %t692)
|
|
store ptr %t693, ptr %t694
|
|
%t695 = call ptr @fn_emit_alloca(ptr @.str3933)
|
|
store ptr %t695, ptr %t696
|
|
%t697 = load ptr, ptr %t696
|
|
call void @fn_store_at(ptr @.str3934, ptr @.str3935, ptr %t697)
|
|
%t698 = call ptr @fn_lbl(ptr @.str3936)
|
|
store ptr %t698, ptr %t699
|
|
%t700 = call ptr @fn_lbl(ptr @.str3937)
|
|
store ptr %t700, ptr %t701
|
|
%t702 = call ptr @fn_lbl(ptr @.str3938)
|
|
store ptr %t702, ptr %t703
|
|
call void @fn_emit(ptr @.str3939)
|
|
%t704 = load ptr, ptr %t699
|
|
call void @fn_emit(ptr %t704)
|
|
call void @fn_emit(ptr @.str3940)
|
|
%t705 = load ptr, ptr %t699
|
|
call void @fn_emit(ptr %t705)
|
|
call void @fn_emit(ptr @.str3941)
|
|
%t706 = load ptr, ptr %t696
|
|
%t707 = call ptr @fn_str_concat(ptr @.str3942, 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 @.str3943, ptr %t710)
|
|
%t712 = call ptr @fn_str_concat(ptr %t711, ptr @.str3944)
|
|
%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 @.str3945)
|
|
%t717 = load ptr, ptr %t716
|
|
call void @fn_emit(ptr %t717)
|
|
call void @fn_emit(ptr @.str3946)
|
|
%t718 = load ptr, ptr %t701
|
|
call void @fn_emit(ptr %t718)
|
|
call void @fn_emit(ptr @.str3947)
|
|
%t719 = load ptr, ptr %t703
|
|
call void @fn_emit(ptr %t719)
|
|
call void @fn_emit(ptr @.str3948)
|
|
%t720 = load ptr, ptr %t701
|
|
call void @fn_emit(ptr %t720)
|
|
call void @fn_emit(ptr @.str3949)
|
|
%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 @.str3950, ptr %t726)
|
|
%t728 = call ptr @fn_str_concat(ptr %t727, ptr @.str3951)
|
|
%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 @.str3952)
|
|
store ptr %t733, ptr %t734
|
|
%t735 = load ptr, ptr %t709
|
|
%t736 = call ptr @fn_str_concat(ptr @.str3953, ptr %t735)
|
|
%t737 = call ptr @fn_str_concat(ptr %t736, ptr @.str3954)
|
|
%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 @.str3955, ptr %t740, ptr %t741)
|
|
%t742 = call ptr @fn_lbl(ptr @.str3956)
|
|
store ptr %t742, ptr %t743
|
|
%t744 = call ptr @fn_lbl(ptr @.str3957)
|
|
store ptr %t744, ptr %t745
|
|
%t746 = call ptr @fn_lbl(ptr @.str3958)
|
|
store ptr %t746, ptr %t747
|
|
call void @fn_emit(ptr @.str3959)
|
|
%t748 = load ptr, ptr %t743
|
|
call void @fn_emit(ptr %t748)
|
|
call void @fn_emit(ptr @.str3960)
|
|
%t749 = load ptr, ptr %t743
|
|
call void @fn_emit(ptr %t749)
|
|
call void @fn_emit(ptr @.str3961)
|
|
%t750 = load ptr, ptr %t734
|
|
%t751 = call ptr @fn_str_concat(ptr @.str3962, 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 @.str3963, ptr %t754)
|
|
%t756 = call ptr @fn_str_concat(ptr %t755, ptr @.str3964)
|
|
%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 @.str3965, ptr %t764)
|
|
%t766 = call ptr @fn_str_concat(ptr %t765, ptr @.str3966)
|
|
%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 @.str3967, ptr %t771)
|
|
%t773 = call ptr @fn_str_concat(ptr %t772, ptr @.str3968)
|
|
%t774 = load ptr, ptr %t770
|
|
%t775 = call ptr @fn_str_concat(ptr %t773, ptr %t774)
|
|
%t776 = call ptr @fn_str_concat(ptr %t775, ptr @.str3969)
|
|
%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 @.str3970, ptr %t781)
|
|
%t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str3971)
|
|
%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 @.str3972)
|
|
%t788 = load ptr, ptr %t787
|
|
call void @fn_emit(ptr %t788)
|
|
call void @fn_emit(ptr @.str3973)
|
|
%t789 = load ptr, ptr %t745
|
|
call void @fn_emit(ptr %t789)
|
|
call void @fn_emit(ptr @.str3974)
|
|
%t790 = load ptr, ptr %t747
|
|
call void @fn_emit(ptr %t790)
|
|
call void @fn_emit(ptr @.str3975)
|
|
%t791 = load ptr, ptr %t745
|
|
call void @fn_emit(ptr %t791)
|
|
call void @fn_emit(ptr @.str3976)
|
|
%t792 = load ptr, ptr %t753
|
|
%t793 = call ptr @fn_str_concat(ptr @.str3977, ptr %t792)
|
|
%t794 = call ptr @fn_str_concat(ptr %t793, ptr @.str3978)
|
|
%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 @.str3979)
|
|
%t802 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t802)
|
|
call void @fn_emit(ptr @.str3980)
|
|
%t803 = load ptr, ptr %t770
|
|
call void @fn_emit(ptr %t803)
|
|
call void @fn_emit(ptr @.str3981)
|
|
%t804 = load ptr, ptr %t801
|
|
call void @fn_emit(ptr %t804)
|
|
call void @fn_emit(ptr @.str3982)
|
|
%t805 = load ptr, ptr %t753
|
|
%t806 = call ptr @fn_str_concat(ptr @.str3983, ptr %t805)
|
|
%t807 = call ptr @fn_str_concat(ptr %t806, ptr @.str3984)
|
|
%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 @.str3985, ptr %t810, ptr %t811)
|
|
call void @fn_emit(ptr @.str3986)
|
|
%t812 = load ptr, ptr %t743
|
|
call void @fn_emit(ptr %t812)
|
|
call void @fn_emit(ptr @.str3987)
|
|
%t813 = load ptr, ptr %t747
|
|
call void @fn_emit(ptr %t813)
|
|
call void @fn_emit(ptr @.str3988)
|
|
%t814 = load ptr, ptr %t734
|
|
%t815 = call ptr @fn_str_concat(ptr @.str3989, 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 @.str3990, ptr %t818)
|
|
%t820 = call ptr @fn_str_concat(ptr %t819, ptr @.str3991)
|
|
%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 @.str3992)
|
|
%t828 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t828)
|
|
call void @fn_emit(ptr @.str3993)
|
|
%t829 = load ptr, ptr %t732
|
|
call void @fn_emit(ptr %t829)
|
|
call void @fn_emit(ptr @.str3994)
|
|
%t830 = load ptr, ptr %t827
|
|
call void @fn_emit(ptr %t830)
|
|
call void @fn_emit(ptr @.str3995)
|
|
%t831 = load ptr, ptr %t709
|
|
%t832 = call ptr @fn_str_concat(ptr @.str3996, ptr %t831)
|
|
%t833 = call ptr @fn_str_concat(ptr %t832, ptr @.str3997)
|
|
%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 @.str3998, ptr %t836, ptr %t837)
|
|
call void @fn_emit(ptr @.str3999)
|
|
%t838 = load ptr, ptr %t699
|
|
call void @fn_emit(ptr %t838)
|
|
call void @fn_emit(ptr @.str4000)
|
|
%t839 = load ptr, ptr %t703
|
|
call void @fn_emit(ptr %t839)
|
|
call void @fn_emit(ptr @.str4001)
|
|
call void @fn_emit(ptr @.str4002)
|
|
%t840 = load ptr, ptr %t686
|
|
call void @fn_emit(ptr %t840)
|
|
call void @fn_emit(ptr @.str4003)
|
|
%t841 = load ptr, ptr %t684
|
|
call void @fn_emit(ptr %t841)
|
|
call void @fn_emit(ptr @.str4004)
|
|
%t842 = load ptr, ptr %t42
|
|
%t843 = load ptr, ptr %t38
|
|
call void @fn_emit_merge_sort(ptr %t842, ptr %t843, i32 3, ptr @.str4005, ptr @.str4006)
|
|
call void @fn_emit(ptr @.str4007)
|
|
%t844 = load ptr, ptr %t686
|
|
call void @fn_emit(ptr %t844)
|
|
call void @fn_emit(ptr @.str4008)
|
|
%t845 = load ptr, ptr %t686
|
|
call void @fn_emit(ptr %t845)
|
|
call void @fn_emit(ptr @.str4009)
|
|
%t846 = call ptr @fn_val(ptr @.str4010, ptr @.str4011)
|
|
store ptr %t846, ptr %retval
|
|
br label %ret
|
|
ifend43:
|
|
%t847 = load ptr, ptr %t0
|
|
%t848 = call i32 @fn_str_eq(ptr %t847, ptr @.str4012)
|
|
%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 @.str4013, ptr %t862)
|
|
%t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str4014)
|
|
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 @.str4015)
|
|
%t868 = call ptr @fn_val(ptr @.str4016, ptr @.str4017)
|
|
store ptr %t868, ptr %retval
|
|
br label %ret
|
|
ifend46:
|
|
%t870 = load ptr, ptr %t0
|
|
%t871 = call i32 @fn_str_eq(ptr %t870, ptr @.str4018)
|
|
%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 @.str4019)
|
|
%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 @.str4020, ptr %t894)
|
|
%t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str4021)
|
|
%t897 = load ptr, ptr %t883
|
|
%t898 = call ptr @fn_str_concat(ptr %t896, ptr %t897)
|
|
%t899 = call ptr @fn_str_concat(ptr %t898, ptr @.str4022)
|
|
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 @.str4023)
|
|
%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 @.str4024)
|
|
%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 @.str4025, ptr %t916)
|
|
%t918 = call ptr @fn_str_concat(ptr %t917, ptr @.str4026)
|
|
%t919 = load ptr, ptr %t883
|
|
%t920 = call ptr @fn_str_concat(ptr %t918, ptr %t919)
|
|
%t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str4027)
|
|
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 @.str4028)
|
|
%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 @.str4029, ptr @.str4030)
|
|
store ptr %t931, ptr %retval
|
|
br label %ret
|
|
ifend54:
|
|
%t932 = load ptr, ptr %t45
|
|
%t933 = call ptr @fn_str_concat(ptr @.str4031, ptr %t932)
|
|
%t934 = call ptr @fn_emit_bind(ptr %t933)
|
|
store ptr %t934, ptr %t935
|
|
%t936 = call ptr @fn_emit_alloca(ptr @.str4032)
|
|
store ptr %t936, ptr %t937
|
|
%t938 = load ptr, ptr %t937
|
|
call void @fn_store_at(ptr @.str4033, ptr @.str4034, ptr %t938)
|
|
%t939 = call ptr @fn_emit_alloca(ptr @.str4035)
|
|
store ptr %t939, ptr %t940
|
|
%t941 = load ptr, ptr %t935
|
|
%t942 = call ptr @fn_str_concat(ptr @.str4036, ptr %t941)
|
|
%t943 = call ptr @fn_str_concat(ptr %t942, ptr @.str4037)
|
|
%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 @.str4038, ptr %t946, ptr %t947)
|
|
%t948 = call ptr @fn_lbl(ptr @.str4039)
|
|
store ptr %t948, ptr %t949
|
|
%t950 = call ptr @fn_lbl(ptr @.str4040)
|
|
store ptr %t950, ptr %t951
|
|
%t952 = call ptr @fn_lbl(ptr @.str4041)
|
|
store ptr %t952, ptr %t953
|
|
call void @fn_emit(ptr @.str4042)
|
|
%t954 = load ptr, ptr %t949
|
|
call void @fn_emit(ptr %t954)
|
|
call void @fn_emit(ptr @.str4043)
|
|
%t955 = load ptr, ptr %t949
|
|
call void @fn_emit(ptr %t955)
|
|
call void @fn_emit(ptr @.str4044)
|
|
%t956 = load ptr, ptr %t937
|
|
%t957 = call ptr @fn_str_concat(ptr @.str4045, 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 @.str4046, 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 @.str4047, ptr %t964)
|
|
%t966 = call ptr @fn_str_concat(ptr %t965, ptr @.str4048)
|
|
%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 @.str4049)
|
|
%t971 = load ptr, ptr %t970
|
|
call void @fn_emit(ptr %t971)
|
|
call void @fn_emit(ptr @.str4050)
|
|
%t972 = load ptr, ptr %t951
|
|
call void @fn_emit(ptr %t972)
|
|
call void @fn_emit(ptr @.str4051)
|
|
%t973 = load ptr, ptr %t953
|
|
call void @fn_emit(ptr %t973)
|
|
call void @fn_emit(ptr @.str4052)
|
|
%t974 = load ptr, ptr %t951
|
|
call void @fn_emit(ptr %t974)
|
|
call void @fn_emit(ptr @.str4053)
|
|
%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 @.str4054, ptr %t985)
|
|
%t987 = call ptr @fn_str_concat(ptr %t986, ptr @.str4055)
|
|
%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 @.str4056, ptr %t992)
|
|
%t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str4057)
|
|
%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 @.str4058)
|
|
%t999 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t999)
|
|
call void @fn_emit(ptr @.str4059)
|
|
%t1000 = load ptr, ptr %t998
|
|
call void @fn_emit(ptr %t1000)
|
|
call void @fn_emit(ptr @.str4060)
|
|
%t1001 = load ptr, ptr %t979
|
|
call void @fn_emit(ptr %t1001)
|
|
call void @fn_emit(ptr @.str4061)
|
|
call void @fn_emit(ptr @.str4062)
|
|
%t1002 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t1002)
|
|
call void @fn_emit(ptr @.str4063)
|
|
%t1003 = load ptr, ptr %t991
|
|
call void @fn_emit(ptr %t1003)
|
|
call void @fn_emit(ptr @.str4064)
|
|
%t1004 = load ptr, ptr %t984
|
|
call void @fn_emit(ptr %t1004)
|
|
call void @fn_emit(ptr @.str4065)
|
|
%t1005 = load ptr, ptr %t959
|
|
%t1006 = call ptr @fn_str_concat(ptr @.str4066, ptr %t1005)
|
|
%t1007 = call ptr @fn_str_concat(ptr %t1006, ptr @.str4067)
|
|
%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 @.str4068, ptr %t1010, ptr %t1011)
|
|
%t1012 = load ptr, ptr %t963
|
|
%t1013 = call ptr @fn_str_concat(ptr @.str4069, ptr %t1012)
|
|
%t1014 = call ptr @fn_str_concat(ptr %t1013, ptr @.str4070)
|
|
%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 @.str4071, ptr %t1017, ptr %t1018)
|
|
call void @fn_emit(ptr @.str4072)
|
|
%t1019 = load ptr, ptr %t949
|
|
call void @fn_emit(ptr %t1019)
|
|
call void @fn_emit(ptr @.str4073)
|
|
%t1020 = load ptr, ptr %t953
|
|
call void @fn_emit(ptr %t1020)
|
|
call void @fn_emit(ptr @.str4074)
|
|
%t1021 = call ptr @fn_val(ptr @.str4075, ptr @.str4076)
|
|
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 @.str4077)
|
|
%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 @.str4078)
|
|
%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 @.str4079)
|
|
%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 @.str4080)
|
|
%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 @.str4081)
|
|
%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 @.str4082)
|
|
%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 @.str4083)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t7 = load ptr, ptr %retval
|
|
ret ptr %t7
|
|
}
|
|
|
|
define ptr @fn_ease_bounce_code(ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t8 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t16 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t24 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t34 = alloca ptr
|
|
%t37 = alloca ptr
|
|
%t42 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t57 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t72 = alloca ptr
|
|
%t77 = alloca ptr
|
|
store ptr %arg_t, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_ease_bounce_seg(ptr %t1)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call ptr @fn_str_concat(ptr @.str4084, ptr %t4)
|
|
%t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str4085)
|
|
%t7 = call ptr @fn_emit_bind(ptr %t6)
|
|
store ptr %t7, ptr %t8
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = call ptr @fn_ease_bounce_seg(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = call ptr @fn_str_concat(ptr @.str4086, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4087)
|
|
%t15 = call ptr @fn_emit_bind(ptr %t14)
|
|
store ptr %t15, ptr %t16
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call ptr @fn_str_concat(ptr @.str4088, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str4089)
|
|
%t20 = call ptr @fn_emit_bind(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = call ptr @fn_ease_bounce_seg(ptr %t22)
|
|
store ptr %t23, ptr %t24
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_str_concat(ptr @.str4090, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4091)
|
|
%t28 = call ptr @fn_emit_bind(ptr %t27)
|
|
store ptr %t28, ptr %t29
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = call ptr @fn_str_concat(ptr @.str4092, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4093)
|
|
%t33 = call ptr @fn_emit_bind(ptr %t32)
|
|
store ptr %t33, ptr %t34
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call ptr @fn_ease_bounce_seg(ptr %t35)
|
|
store ptr %t36, ptr %t37
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_str_concat(ptr @.str4094, ptr %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str4095)
|
|
%t41 = call ptr @fn_emit_bind(ptr %t40)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = load ptr, ptr %t0
|
|
%t44 = call ptr @fn_str_concat(ptr @.str4096, ptr %t43)
|
|
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4097)
|
|
%t46 = call ptr @fn_emit_bind(ptr %t45)
|
|
store ptr %t46, ptr %t47
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = call ptr @fn_str_concat(ptr @.str4098, ptr %t48)
|
|
%t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str4099)
|
|
%t51 = load ptr, ptr %t29
|
|
%t52 = call ptr @fn_str_concat(ptr %t50, ptr %t51)
|
|
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4100)
|
|
%t54 = load ptr, ptr %t42
|
|
%t55 = call ptr @fn_str_concat(ptr %t53, ptr %t54)
|
|
%t56 = call ptr @fn_emit_bind(ptr %t55)
|
|
store ptr %t56, ptr %t57
|
|
%t58 = load ptr, ptr %t0
|
|
%t59 = call ptr @fn_str_concat(ptr @.str4101, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4102)
|
|
%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 @.str4103, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4104)
|
|
%t66 = load ptr, ptr %t16
|
|
%t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
|
|
%t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str4105)
|
|
%t69 = load ptr, ptr %t57
|
|
%t70 = call ptr @fn_str_concat(ptr %t68, ptr %t69)
|
|
%t71 = call ptr @fn_emit_bind(ptr %t70)
|
|
store ptr %t71, ptr %t72
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = call ptr @fn_str_concat(ptr @.str4106, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4107)
|
|
%t76 = call ptr @fn_emit_bind(ptr %t75)
|
|
store ptr %t76, ptr %t77
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = call ptr @fn_str_concat(ptr @.str4108, ptr %t78)
|
|
%t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str4109)
|
|
%t81 = load ptr, ptr %t3
|
|
%t82 = call ptr @fn_str_concat(ptr %t80, ptr %t81)
|
|
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4110)
|
|
%t84 = load ptr, ptr %t72
|
|
%t85 = call ptr @fn_str_concat(ptr %t83, ptr %t84)
|
|
%t86 = call ptr @fn_emit_bind(ptr %t85)
|
|
store ptr %t86, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t87 = load ptr, ptr %retval
|
|
ret ptr %t87
|
|
}
|
|
|
|
define ptr @fn_ease_eval(i32 %arg_mode, ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca i32
|
|
%t1 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t32 = alloca ptr
|
|
%t36 = alloca ptr
|
|
%t41 = alloca ptr
|
|
%t46 = alloca ptr
|
|
%t60 = alloca ptr
|
|
%t64 = alloca ptr
|
|
%t67 = alloca ptr
|
|
%t70 = alloca ptr
|
|
%t85 = alloca ptr
|
|
%t89 = alloca ptr
|
|
%t94 = alloca ptr
|
|
%t99 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t107 = alloca ptr
|
|
%t111 = alloca ptr
|
|
store i32 %arg_mode, ptr %t0
|
|
store ptr %arg_t, ptr %t1
|
|
%t2 = load i32, ptr %t0
|
|
%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 %t1
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load i32, ptr %t0
|
|
%t8 = icmp eq i32 %t7, 1
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %then3, label %ifend5
|
|
then3:
|
|
%t11 = load ptr, ptr %t1
|
|
%t12 = load ptr, ptr %t1
|
|
%t13 = call ptr @fn_fx_mul_code(ptr %t11, ptr %t12)
|
|
store ptr %t13, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t14 = load i32, ptr %t0
|
|
%t15 = icmp eq i32 %t14, 2
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %then6, label %ifend8
|
|
then6:
|
|
%t18 = load ptr, ptr %t1
|
|
%t19 = call ptr @fn_str_concat(ptr @.str4111, ptr %t18)
|
|
%t20 = call ptr @fn_emit_bind(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t1
|
|
%t23 = load ptr, ptr %t21
|
|
%t24 = call ptr @fn_fx_mul_code(ptr %t22, ptr %t23)
|
|
store ptr %t24, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t25 = load i32, ptr %t0
|
|
%t26 = icmp eq i32 %t25, 3
|
|
%t27 = zext i1 %t26 to i32
|
|
%t28 = icmp ne i32 %t27, 0
|
|
br i1 %t28, label %then9, label %ifend11
|
|
then9:
|
|
%t29 = load ptr, ptr %t1
|
|
%t30 = load ptr, ptr %t1
|
|
%t31 = call ptr @fn_fx_mul_code(ptr %t29, ptr %t30)
|
|
store ptr %t31, ptr %t32
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = load ptr, ptr %t1
|
|
%t35 = call ptr @fn_fx_mul_code(ptr %t33, ptr %t34)
|
|
store ptr %t35, ptr %t36
|
|
%t37 = load ptr, ptr %t32
|
|
%t38 = call ptr @fn_str_concat(ptr @.str4112, ptr %t37)
|
|
%t39 = call ptr @fn_str_concat(ptr %t38, ptr @.str4113)
|
|
%t40 = call ptr @fn_emit_bind(ptr %t39)
|
|
store ptr %t40, ptr %t41
|
|
%t42 = load ptr, ptr %t36
|
|
%t43 = call ptr @fn_str_concat(ptr @.str4114, ptr %t42)
|
|
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str4115)
|
|
%t45 = call ptr @fn_emit_bind(ptr %t44)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = load ptr, ptr %t41
|
|
%t48 = call ptr @fn_str_concat(ptr @.str4116, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4117)
|
|
%t50 = load ptr, ptr %t46
|
|
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
|
|
%t52 = call ptr @fn_emit_bind(ptr %t51)
|
|
store ptr %t52, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t53 = load i32, ptr %t0
|
|
%t54 = icmp eq i32 %t53, 4
|
|
%t55 = zext i1 %t54 to i32
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then12, label %ifend14
|
|
then12:
|
|
%t57 = load ptr, ptr %t1
|
|
%t58 = load ptr, ptr %t1
|
|
%t59 = call ptr @fn_fx_mul_code(ptr %t57, ptr %t58)
|
|
store ptr %t59, ptr %t60
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = load ptr, ptr %t1
|
|
%t63 = call ptr @fn_fx_mul_code(ptr %t61, ptr %t62)
|
|
store ptr %t63, ptr %t64
|
|
%t65 = load ptr, ptr %t64
|
|
%t66 = call ptr @fn_fx_mul_code(ptr %t65, ptr @.str4118)
|
|
store ptr %t66, ptr %t67
|
|
%t68 = load ptr, ptr %t60
|
|
%t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str4119)
|
|
store ptr %t69, ptr %t70
|
|
%t71 = load ptr, ptr %t67
|
|
%t72 = call ptr @fn_str_concat(ptr @.str4120, ptr %t71)
|
|
%t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str4121)
|
|
%t74 = load ptr, ptr %t70
|
|
%t75 = call ptr @fn_str_concat(ptr %t73, ptr %t74)
|
|
%t76 = call ptr @fn_emit_bind(ptr %t75)
|
|
store ptr %t76, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t77 = load i32, ptr %t0
|
|
%t78 = icmp eq i32 %t77, 5
|
|
%t79 = zext i1 %t78 to i32
|
|
%t80 = icmp ne i32 %t79, 0
|
|
br i1 %t80, label %then15, label %ifend17
|
|
then15:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t81 = load ptr, ptr %t1
|
|
%t82 = call ptr @fn_str_concat(ptr @.str4122, ptr %t81)
|
|
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4123)
|
|
%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 @.str4124, 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 @.str4125, ptr %t90)
|
|
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str4126)
|
|
%t93 = call ptr @fn_emit_bind(ptr %t92)
|
|
store ptr %t93, ptr %t94
|
|
%t95 = load ptr, ptr %t85
|
|
%t96 = call ptr @fn_str_concat(ptr @.str4127, ptr %t95)
|
|
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str4128)
|
|
%t98 = call ptr @fn_emit_bind(ptr %t97)
|
|
store ptr %t98, ptr %t99
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = call ptr @fn_fx_mul_code(ptr %t100, ptr @.str4129)
|
|
store ptr %t101, ptr %t102
|
|
%t103 = load ptr, ptr %t102
|
|
%t104 = call ptr @fn_str_concat(ptr @.str4130, ptr %t103)
|
|
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str4131)
|
|
%t106 = call ptr @fn_emit_bind(ptr %t105)
|
|
store ptr %t106, ptr %t107
|
|
%t108 = load ptr, ptr %t94
|
|
%t109 = load ptr, ptr %t107
|
|
%t110 = call ptr @fn_fx_mul_code(ptr %t108, ptr %t109)
|
|
store ptr %t110, ptr %t111
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = call ptr @fn_str_concat(ptr @.str4132, ptr %t112)
|
|
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4133)
|
|
%t115 = call ptr @fn_emit_bind(ptr %t114)
|
|
store ptr %t115, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t116 = load ptr, ptr %t1
|
|
%t117 = call ptr @fn_ease_bounce_code(ptr %t116)
|
|
store ptr %t117, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t118 = load ptr, ptr %retval
|
|
ret ptr %t118
|
|
}
|
|
|
|
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
|
|
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 @.str4134)
|
|
%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_ease_eval(i32 1, ptr %t16)
|
|
%t18 = call ptr @fn_val(ptr %t17, ptr @.str4135)
|
|
store ptr %t18, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str4136)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then3, label %ifend5
|
|
then3:
|
|
%t22 = load ptr, ptr %t10
|
|
%t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call ptr @fn_ease_eval(i32 2, ptr %t24)
|
|
%t26 = call ptr @fn_val(ptr %t25, ptr @.str4137)
|
|
store ptr %t26, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str4138)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then6, label %ifend8
|
|
then6:
|
|
%t30 = load ptr, ptr %t10
|
|
%t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = call ptr @fn_ease_eval(i32 3, ptr %t32)
|
|
%t34 = call ptr @fn_val(ptr %t33, ptr @.str4139)
|
|
store ptr %t34, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t35 = load ptr, ptr %t0
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4140)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
br i1 %t37, label %then9, label %ifend11
|
|
then9:
|
|
%t38 = load ptr, ptr %t10
|
|
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_ease_eval(i32 4, ptr %t40)
|
|
%t42 = call ptr @fn_val(ptr %t41, ptr @.str4141)
|
|
store ptr %t42, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t43 = load ptr, ptr %t0
|
|
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str4142)
|
|
%t45 = icmp ne i32 %t44, 0
|
|
br i1 %t45, label %then12, label %ifend14
|
|
then12:
|
|
%t46 = load ptr, ptr %t10
|
|
%t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = call ptr @fn_ease_eval(i32 5, ptr %t48)
|
|
%t50 = call ptr @fn_val(ptr %t49, ptr @.str4143)
|
|
store ptr %t50, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%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_ease_eval(i32 6, ptr %t53)
|
|
%t55 = call ptr @fn_val(ptr %t54, ptr @.str4144)
|
|
store ptr %t55, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t56 = load ptr, ptr %retval
|
|
ret ptr %t56
|
|
}
|
|
|
|
define i32 @fn_is_anim_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t31 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4145)
|
|
%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 @.str4146)
|
|
%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 @.str4147)
|
|
%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 @.str4148)
|
|
%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 @.str4149)
|
|
%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:
|
|
%t32 = load ptr, ptr %t0
|
|
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str4150)
|
|
%t34 = icmp ne i32 %t33, 0
|
|
%t35 = zext i1 %t34 to i32
|
|
store i32 %t35, ptr %t31
|
|
br i1 %t34, label %scend13, label %sc12
|
|
sc12:
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str4151)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
%t39 = zext i1 %t38 to i32
|
|
store i32 %t39, ptr %t31
|
|
br label %scend13
|
|
scend13:
|
|
%t40 = load i32, ptr %t31
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then14, label %ifend16
|
|
then14:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend16:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t42 = load i32, ptr %retval
|
|
ret i32 %t42
|
|
}
|
|
|
|
define ptr @fn_anim_elapsed(ptr %arg_timer, ptr %arg_fps) {
|
|
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_timer, ptr %t0
|
|
store ptr %arg_fps, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_str_concat(ptr @.str4152, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4153)
|
|
%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 @.str4154, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str4155)
|
|
%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 @.str4156, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4157)
|
|
%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 @.str4158, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4159)
|
|
%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 @.str4160, ptr %t24)
|
|
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str4161)
|
|
%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_anim_atleast1(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 @.str4162, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4163)
|
|
%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 @.str4164, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4165)
|
|
%t9 = load ptr, ptr %t0
|
|
%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_anim_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
|
|
%t39 = alloca ptr
|
|
%t44 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t72 = alloca ptr
|
|
%t81 = alloca ptr
|
|
%t89 = alloca ptr
|
|
%t96 = alloca ptr
|
|
%t103 = alloca ptr
|
|
%t125 = alloca ptr
|
|
%t134 = alloca ptr
|
|
%t143 = alloca ptr
|
|
%t151 = alloca ptr
|
|
%t158 = alloca ptr
|
|
%t163 = alloca ptr
|
|
%t166 = alloca ptr
|
|
%t173 = alloca ptr
|
|
%t180 = alloca ptr
|
|
%t189 = alloca ptr
|
|
%t211 = alloca ptr
|
|
%t220 = alloca ptr
|
|
%t229 = alloca ptr
|
|
%t237 = alloca ptr
|
|
%t246 = alloca ptr
|
|
%t263 = alloca ptr
|
|
%t272 = alloca ptr
|
|
%t279 = alloca ptr
|
|
%t284 = alloca ptr
|
|
%t303 = alloca ptr
|
|
%t312 = alloca ptr
|
|
%t321 = alloca ptr
|
|
%t326 = alloca ptr
|
|
%t335 = alloca ptr
|
|
%t353 = alloca ptr
|
|
%t362 = alloca ptr
|
|
%t371 = alloca ptr
|
|
%t376 = alloca ptr
|
|
%t385 = 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 @.str4166)
|
|
%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 = call ptr @fn_anim_elapsed(ptr %t34, ptr %t37)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t31
|
|
%t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = call ptr @fn_anim_atleast1(ptr %t42)
|
|
store ptr %t43, ptr %t44
|
|
%t45 = load ptr, ptr %t39
|
|
%t46 = call ptr @fn_str_concat(ptr @.str4167, ptr %t45)
|
|
%t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4168)
|
|
%t48 = load ptr, ptr %t44
|
|
%t49 = call ptr @fn_str_concat(ptr %t47, ptr %t48)
|
|
%t50 = call ptr @fn_emit_bind(ptr %t49)
|
|
%t51 = call ptr @fn_val(ptr %t50, ptr @.str4169)
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str4170)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then3, label %ifend5
|
|
then3:
|
|
%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 %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 1
|
|
%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 2
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = call ptr @fn_emit_expr(ptr %t79)
|
|
store ptr %t80, ptr %t81
|
|
%t82 = load ptr, ptr %t63
|
|
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = load ptr, ptr %t72
|
|
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = call ptr @fn_anim_elapsed(ptr %t84, ptr %t87)
|
|
store ptr %t88, ptr %t89
|
|
%t90 = load ptr, ptr %t81
|
|
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
|
|
%t92 = load ptr, ptr %t91
|
|
%t93 = call ptr @fn_str_concat(ptr @.str4171, ptr %t92)
|
|
%t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str4172)
|
|
%t95 = call ptr @fn_emit_bind(ptr %t94)
|
|
store ptr %t95, ptr %t96
|
|
%t97 = load ptr, ptr %t89
|
|
%t98 = call ptr @fn_str_concat(ptr @.str4173, ptr %t97)
|
|
%t99 = call ptr @fn_str_concat(ptr %t98, ptr @.str4174)
|
|
%t100 = load ptr, ptr %t96
|
|
%t101 = call ptr @fn_str_concat(ptr %t99, ptr %t100)
|
|
%t102 = call ptr @fn_emit_bind(ptr %t101)
|
|
store ptr %t102, ptr %t103
|
|
%t104 = load ptr, ptr %t103
|
|
%t105 = call ptr @fn_str_concat(ptr @.str4175, ptr %t104)
|
|
%t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str4176)
|
|
%t107 = load ptr, ptr %t89
|
|
%t108 = call ptr @fn_str_concat(ptr %t106, ptr %t107)
|
|
%t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str4177)
|
|
%t110 = load ptr, ptr %t96
|
|
%t111 = call ptr @fn_str_concat(ptr %t109, ptr %t110)
|
|
%t112 = call ptr @fn_emit_bind(ptr %t111)
|
|
%t113 = call ptr @fn_val(ptr %t112, ptr @.str4178)
|
|
store ptr %t113, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t114 = load ptr, ptr %t0
|
|
%t115 = call i32 @fn_str_eq(ptr %t114, ptr @.str4179)
|
|
%t116 = icmp ne i32 %t115, 0
|
|
br i1 %t116, label %then6, label %ifend8
|
|
then6:
|
|
%t117 = load ptr, ptr %t1
|
|
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = getelementptr inbounds ptr, ptr %t121, i32 0
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = call ptr @fn_emit_expr(ptr %t123)
|
|
store ptr %t124, ptr %t125
|
|
%t126 = load ptr, ptr %t1
|
|
%t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 7
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = getelementptr inbounds ptr, ptr %t130, i32 1
|
|
%t132 = load ptr, ptr %t131
|
|
%t133 = call ptr @fn_emit_expr(ptr %t132)
|
|
store ptr %t133, ptr %t134
|
|
%t135 = load ptr, ptr %t1
|
|
%t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 7
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0
|
|
%t139 = load ptr, ptr %t138
|
|
%t140 = getelementptr inbounds ptr, ptr %t139, i32 2
|
|
%t141 = load ptr, ptr %t140
|
|
%t142 = call ptr @fn_emit_expr(ptr %t141)
|
|
store ptr %t142, ptr %t143
|
|
%t144 = load ptr, ptr %t125
|
|
%t145 = getelementptr inbounds %Cmp_Val, ptr %t144, i32 0, i32 0
|
|
%t146 = load ptr, ptr %t145
|
|
%t147 = load ptr, ptr %t134
|
|
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
|
|
%t149 = load ptr, ptr %t148
|
|
%t150 = call ptr @fn_anim_elapsed(ptr %t146, ptr %t149)
|
|
store ptr %t150, ptr %t151
|
|
%t152 = load ptr, ptr %t143
|
|
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = call ptr @fn_str_concat(ptr @.str4180, ptr %t154)
|
|
%t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str4181)
|
|
%t157 = call ptr @fn_emit_bind(ptr %t156)
|
|
store ptr %t157, ptr %t158
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = call ptr @fn_str_concat(ptr @.str4182, ptr %t159)
|
|
%t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str4183)
|
|
%t162 = call ptr @fn_emit_bind(ptr %t161)
|
|
store ptr %t162, ptr %t163
|
|
%t164 = load ptr, ptr %t163
|
|
%t165 = call ptr @fn_anim_atleast1(ptr %t164)
|
|
store ptr %t165, ptr %t166
|
|
%t167 = load ptr, ptr %t151
|
|
%t168 = call ptr @fn_str_concat(ptr @.str4184, ptr %t167)
|
|
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str4185)
|
|
%t170 = load ptr, ptr %t166
|
|
%t171 = call ptr @fn_str_concat(ptr %t169, ptr %t170)
|
|
%t172 = call ptr @fn_emit_bind(ptr %t171)
|
|
store ptr %t172, ptr %t173
|
|
%t174 = load ptr, ptr %t166
|
|
%t175 = call ptr @fn_str_concat(ptr @.str4186, ptr %t174)
|
|
%t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str4187)
|
|
%t177 = load ptr, ptr %t173
|
|
%t178 = call ptr @fn_str_concat(ptr %t176, ptr %t177)
|
|
%t179 = call ptr @fn_emit_bind(ptr %t178)
|
|
store ptr %t179, ptr %t180
|
|
%t181 = load ptr, ptr %t173
|
|
%t182 = call ptr @fn_str_concat(ptr @.str4188, ptr %t181)
|
|
%t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4189)
|
|
%t184 = load ptr, ptr %t143
|
|
%t185 = getelementptr inbounds %Cmp_Val, ptr %t184, i32 0, i32 0
|
|
%t186 = load ptr, ptr %t185
|
|
%t187 = call ptr @fn_str_concat(ptr %t183, ptr %t186)
|
|
%t188 = call ptr @fn_emit_bind(ptr %t187)
|
|
store ptr %t188, ptr %t189
|
|
%t190 = load ptr, ptr %t189
|
|
%t191 = call ptr @fn_str_concat(ptr @.str4190, ptr %t190)
|
|
%t192 = call ptr @fn_str_concat(ptr %t191, ptr @.str4191)
|
|
%t193 = load ptr, ptr %t173
|
|
%t194 = call ptr @fn_str_concat(ptr %t192, ptr %t193)
|
|
%t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4192)
|
|
%t196 = load ptr, ptr %t180
|
|
%t197 = call ptr @fn_str_concat(ptr %t195, ptr %t196)
|
|
%t198 = call ptr @fn_emit_bind(ptr %t197)
|
|
%t199 = call ptr @fn_val(ptr %t198, ptr @.str4193)
|
|
store ptr %t199, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t200 = load ptr, ptr %t0
|
|
%t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str4194)
|
|
%t202 = icmp ne i32 %t201, 0
|
|
br i1 %t202, label %then9, label %ifend11
|
|
then9:
|
|
%t203 = load ptr, ptr %t1
|
|
%t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 7
|
|
%t205 = load ptr, ptr %t204
|
|
%t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0
|
|
%t207 = load ptr, ptr %t206
|
|
%t208 = getelementptr inbounds ptr, ptr %t207, i32 0
|
|
%t209 = load ptr, ptr %t208
|
|
%t210 = call ptr @fn_emit_expr(ptr %t209)
|
|
store ptr %t210, ptr %t211
|
|
%t212 = load ptr, ptr %t1
|
|
%t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 7
|
|
%t214 = load ptr, ptr %t213
|
|
%t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0
|
|
%t216 = load ptr, ptr %t215
|
|
%t217 = getelementptr inbounds ptr, ptr %t216, i32 1
|
|
%t218 = load ptr, ptr %t217
|
|
%t219 = call ptr @fn_emit_expr(ptr %t218)
|
|
store ptr %t219, ptr %t220
|
|
%t221 = load ptr, ptr %t1
|
|
%t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 7
|
|
%t223 = load ptr, ptr %t222
|
|
%t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0
|
|
%t225 = load ptr, ptr %t224
|
|
%t226 = getelementptr inbounds ptr, ptr %t225, i32 2
|
|
%t227 = load ptr, ptr %t226
|
|
%t228 = call ptr @fn_emit_expr(ptr %t227)
|
|
store ptr %t228, ptr %t229
|
|
%t230 = load ptr, ptr %t211
|
|
%t231 = getelementptr inbounds %Cmp_Val, ptr %t230, i32 0, i32 0
|
|
%t232 = load ptr, ptr %t231
|
|
%t233 = load ptr, ptr %t220
|
|
%t234 = getelementptr inbounds %Cmp_Val, ptr %t233, i32 0, i32 0
|
|
%t235 = load ptr, ptr %t234
|
|
%t236 = call ptr @fn_anim_elapsed(ptr %t232, ptr %t235)
|
|
store ptr %t236, ptr %t237
|
|
%t238 = load ptr, ptr %t237
|
|
%t239 = call ptr @fn_str_concat(ptr @.str4195, ptr %t238)
|
|
%t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str4196)
|
|
%t241 = load ptr, ptr %t229
|
|
%t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0
|
|
%t243 = load ptr, ptr %t242
|
|
%t244 = call ptr @fn_str_concat(ptr %t240, ptr %t243)
|
|
%t245 = call ptr @fn_emit_bind(ptr %t244)
|
|
store ptr %t245, ptr %t246
|
|
%t247 = load ptr, ptr %t246
|
|
%t248 = call ptr @fn_str_concat(ptr @.str4197, ptr %t247)
|
|
%t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str4198)
|
|
%t250 = call ptr @fn_emit_bind(ptr %t249)
|
|
%t251 = call ptr @fn_val(ptr %t250, ptr @.str4199)
|
|
store ptr %t251, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t252 = load ptr, ptr %t0
|
|
%t253 = call i32 @fn_str_eq(ptr %t252, ptr @.str4200)
|
|
%t254 = icmp ne i32 %t253, 0
|
|
br i1 %t254, label %then12, label %ifend14
|
|
then12:
|
|
%t255 = load ptr, ptr %t1
|
|
%t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 7
|
|
%t257 = load ptr, ptr %t256
|
|
%t258 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 0
|
|
%t259 = load ptr, ptr %t258
|
|
%t260 = getelementptr inbounds ptr, ptr %t259, i32 0
|
|
%t261 = load ptr, ptr %t260
|
|
%t262 = call ptr @fn_emit_expr(ptr %t261)
|
|
store ptr %t262, ptr %t263
|
|
%t264 = load ptr, ptr %t1
|
|
%t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 7
|
|
%t266 = load ptr, ptr %t265
|
|
%t267 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0
|
|
%t268 = load ptr, ptr %t267
|
|
%t269 = getelementptr inbounds ptr, ptr %t268, i32 1
|
|
%t270 = load ptr, ptr %t269
|
|
%t271 = call ptr @fn_emit_expr(ptr %t270)
|
|
store ptr %t271, ptr %t272
|
|
%t273 = load ptr, ptr %t272
|
|
%t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0
|
|
%t275 = load ptr, ptr %t274
|
|
%t276 = call ptr @fn_str_concat(ptr @.str4201, ptr %t275)
|
|
%t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4202)
|
|
%t278 = call ptr @fn_emit_bind(ptr %t277)
|
|
store ptr %t278, ptr %t279
|
|
%t280 = load ptr, ptr %t263
|
|
%t281 = getelementptr inbounds %Cmp_Val, ptr %t280, i32 0, i32 0
|
|
%t282 = load ptr, ptr %t281
|
|
%t283 = call ptr @fn_anim_atleast1(ptr %t282)
|
|
store ptr %t283, ptr %t284
|
|
%t285 = load ptr, ptr %t279
|
|
%t286 = call ptr @fn_str_concat(ptr @.str4203, ptr %t285)
|
|
%t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4204)
|
|
%t288 = load ptr, ptr %t284
|
|
%t289 = call ptr @fn_str_concat(ptr %t287, ptr %t288)
|
|
%t290 = call ptr @fn_emit_bind(ptr %t289)
|
|
%t291 = call ptr @fn_val(ptr %t290, ptr @.str4205)
|
|
store ptr %t291, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t292 = load ptr, ptr %t0
|
|
%t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str4206)
|
|
%t294 = icmp ne i32 %t293, 0
|
|
br i1 %t294, label %then15, label %ifend17
|
|
then15:
|
|
%t295 = load ptr, ptr %t1
|
|
%t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 7
|
|
%t297 = load ptr, ptr %t296
|
|
%t298 = getelementptr inbounds %LSlice, ptr %t297, i32 0, i32 0
|
|
%t299 = load ptr, ptr %t298
|
|
%t300 = getelementptr inbounds ptr, ptr %t299, i32 0
|
|
%t301 = load ptr, ptr %t300
|
|
%t302 = call ptr @fn_emit_expr(ptr %t301)
|
|
store ptr %t302, ptr %t303
|
|
%t304 = load ptr, ptr %t1
|
|
%t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 7
|
|
%t306 = load ptr, ptr %t305
|
|
%t307 = getelementptr inbounds %LSlice, ptr %t306, i32 0, i32 0
|
|
%t308 = load ptr, ptr %t307
|
|
%t309 = getelementptr inbounds ptr, ptr %t308, i32 1
|
|
%t310 = load ptr, ptr %t309
|
|
%t311 = call ptr @fn_emit_expr(ptr %t310)
|
|
store ptr %t311, ptr %t312
|
|
%t313 = load ptr, ptr %t1
|
|
%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 0
|
|
%t317 = load ptr, ptr %t316
|
|
%t318 = getelementptr inbounds ptr, ptr %t317, i32 2
|
|
%t319 = load ptr, ptr %t318
|
|
%t320 = call ptr @fn_emit_expr(ptr %t319)
|
|
store ptr %t320, ptr %t321
|
|
%t322 = load ptr, ptr %t312
|
|
%t323 = getelementptr inbounds %Cmp_Val, ptr %t322, i32 0, i32 0
|
|
%t324 = load ptr, ptr %t323
|
|
%t325 = call ptr @fn_anim_atleast1(ptr %t324)
|
|
store ptr %t325, ptr %t326
|
|
%t327 = load ptr, ptr %t303
|
|
%t328 = getelementptr inbounds %Cmp_Val, ptr %t327, i32 0, i32 0
|
|
%t329 = load ptr, ptr %t328
|
|
%t330 = call ptr @fn_str_concat(ptr @.str4207, ptr %t329)
|
|
%t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str4208)
|
|
%t332 = load ptr, ptr %t326
|
|
%t333 = call ptr @fn_str_concat(ptr %t331, 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 @.str4209, ptr %t336)
|
|
%t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str4210)
|
|
%t339 = load ptr, ptr %t321
|
|
%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)
|
|
%t344 = call ptr @fn_val(ptr %t343, ptr @.str4211)
|
|
store ptr %t344, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t345 = load ptr, ptr %t1
|
|
%t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 7
|
|
%t347 = load ptr, ptr %t346
|
|
%t348 = getelementptr inbounds %LSlice, ptr %t347, i32 0, i32 0
|
|
%t349 = load ptr, ptr %t348
|
|
%t350 = getelementptr inbounds ptr, ptr %t349, i32 0
|
|
%t351 = load ptr, ptr %t350
|
|
%t352 = call ptr @fn_emit_expr(ptr %t351)
|
|
store ptr %t352, ptr %t353
|
|
%t354 = load ptr, ptr %t1
|
|
%t355 = getelementptr inbounds %Cmp_Node, ptr %t354, i32 0, i32 7
|
|
%t356 = load ptr, ptr %t355
|
|
%t357 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0
|
|
%t358 = load ptr, ptr %t357
|
|
%t359 = getelementptr inbounds ptr, ptr %t358, i32 1
|
|
%t360 = load ptr, ptr %t359
|
|
%t361 = call ptr @fn_emit_expr(ptr %t360)
|
|
store ptr %t361, ptr %t362
|
|
%t363 = load ptr, ptr %t1
|
|
%t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 7
|
|
%t365 = load ptr, ptr %t364
|
|
%t366 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 0
|
|
%t367 = load ptr, ptr %t366
|
|
%t368 = getelementptr inbounds ptr, ptr %t367, i32 2
|
|
%t369 = load ptr, ptr %t368
|
|
%t370 = call ptr @fn_emit_expr(ptr %t369)
|
|
store ptr %t370, ptr %t371
|
|
%t372 = load ptr, ptr %t362
|
|
%t373 = getelementptr inbounds %Cmp_Val, ptr %t372, i32 0, i32 0
|
|
%t374 = load ptr, ptr %t373
|
|
%t375 = call ptr @fn_anim_atleast1(ptr %t374)
|
|
store ptr %t375, ptr %t376
|
|
%t377 = load ptr, ptr %t353
|
|
%t378 = getelementptr inbounds %Cmp_Val, ptr %t377, i32 0, i32 0
|
|
%t379 = load ptr, ptr %t378
|
|
%t380 = call ptr @fn_str_concat(ptr @.str4212, ptr %t379)
|
|
%t381 = call ptr @fn_str_concat(ptr %t380, ptr @.str4213)
|
|
%t382 = load ptr, ptr %t376
|
|
%t383 = call ptr @fn_str_concat(ptr %t381, ptr %t382)
|
|
%t384 = call ptr @fn_emit_bind(ptr %t383)
|
|
store ptr %t384, ptr %t385
|
|
%t386 = load ptr, ptr %t385
|
|
%t387 = call ptr @fn_str_concat(ptr @.str4214, ptr %t386)
|
|
%t388 = call ptr @fn_str_concat(ptr %t387, ptr @.str4215)
|
|
%t389 = load ptr, ptr %t371
|
|
%t390 = getelementptr inbounds %Cmp_Val, ptr %t389, i32 0, i32 0
|
|
%t391 = load ptr, ptr %t390
|
|
%t392 = call ptr @fn_str_concat(ptr %t388, ptr %t391)
|
|
%t393 = call ptr @fn_emit_bind(ptr %t392)
|
|
%t394 = call ptr @fn_val(ptr %t393, ptr @.str4216)
|
|
store ptr %t394, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t395 = load ptr, ptr %retval
|
|
ret ptr %t395
|
|
}
|
|
|
|
define i32 @fn_is_tween_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
|
|
store ptr %arg_meth, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4217)
|
|
%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 @.str4218)
|
|
%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 @.str4219)
|
|
%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 @.str4220)
|
|
%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 @.str4221)
|
|
%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 @.str4222)
|
|
%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 @.str4223)
|
|
%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:
|
|
%t48 = load ptr, ptr %t0
|
|
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str4224)
|
|
%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 @.str4225)
|
|
%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:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t58 = load i32, ptr %retval
|
|
ret i32 %t58
|
|
}
|
|
|
|
define ptr @fn_tween_den(ptr %arg_dur) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
store ptr %arg_dur, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_str_concat(ptr @.str4226, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4227)
|
|
%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 @.str4228, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4229)
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
|
|
%t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str4230)
|
|
%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_emit_tween_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t39 = alloca ptr
|
|
%t45 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t57 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t69 = alloca ptr
|
|
%t89 = alloca ptr
|
|
%t98 = alloca ptr
|
|
%t103 = alloca ptr
|
|
%t109 = alloca ptr
|
|
%t126 = alloca ptr
|
|
%t135 = alloca ptr
|
|
%t140 = alloca ptr
|
|
%t146 = alloca ptr
|
|
%t151 = alloca ptr
|
|
%t155 = alloca ptr
|
|
%t160 = alloca ptr
|
|
%t182 = alloca ptr
|
|
%t191 = alloca ptr
|
|
%t202 = alloca ptr
|
|
%t219 = alloca ptr
|
|
%t227 = alloca ptr
|
|
%t253 = alloca ptr
|
|
%t262 = alloca ptr
|
|
%t271 = alloca ptr
|
|
%t294 = alloca ptr
|
|
%t303 = alloca ptr
|
|
%t312 = alloca ptr
|
|
%t323 = alloca ptr
|
|
%t328 = alloca ptr
|
|
%t335 = alloca ptr
|
|
%t342 = alloca ptr
|
|
%t347 = alloca ptr
|
|
%t352 = alloca ptr
|
|
%t357 = alloca ptr
|
|
%t378 = alloca ptr
|
|
%t387 = alloca ptr
|
|
%t396 = alloca ptr
|
|
%t401 = alloca ptr
|
|
%t406 = alloca ptr
|
|
%t411 = alloca ptr
|
|
%t416 = alloca ptr
|
|
%t423 = alloca ptr
|
|
%t430 = alloca ptr
|
|
%t443 = alloca ptr
|
|
%t452 = alloca ptr
|
|
%t461 = alloca ptr
|
|
%t474 = alloca ptr
|
|
%t487 = alloca ptr
|
|
%t500 = 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 @.str4231)
|
|
%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 %t22
|
|
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_str_concat(ptr @.str4232, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4233)
|
|
%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 @.str4234, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4235)
|
|
%t33 = load ptr, ptr %t22
|
|
%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_str_concat(ptr %t36, ptr @.str4236)
|
|
%t38 = call ptr @fn_emit_bind(ptr %t37)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t13
|
|
%t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = load ptr, ptr %t39
|
|
%t44 = call ptr @fn_fx_div_code(ptr %t42, ptr %t43)
|
|
store ptr %t44, ptr %t45
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = call ptr @fn_str_concat(ptr @.str4237, ptr %t46)
|
|
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str4238)
|
|
%t49 = call ptr @fn_emit_bind(ptr %t48)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = call ptr @fn_str_concat(ptr @.str4239, ptr %t51)
|
|
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4240)
|
|
%t54 = load ptr, ptr %t45
|
|
%t55 = call ptr @fn_str_concat(ptr %t53, ptr %t54)
|
|
%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 @.str4241, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4242)
|
|
%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 @.str4243, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4244)
|
|
%t66 = load ptr, ptr %t57
|
|
%t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
|
|
%t68 = call ptr @fn_emit_bind(ptr %t67)
|
|
store ptr %t68, ptr %t69
|
|
%t70 = load ptr, ptr %t29
|
|
%t71 = call ptr @fn_str_concat(ptr @.str4245, ptr %t70)
|
|
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4246)
|
|
%t73 = load ptr, ptr %t69
|
|
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4247)
|
|
%t76 = call ptr @fn_emit_bind(ptr %t75)
|
|
%t77 = call ptr @fn_val(ptr %t76, ptr @.str4248)
|
|
store ptr %t77, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t78 = load ptr, ptr %t0
|
|
%t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str4249)
|
|
%t80 = icmp ne i32 %t79, 0
|
|
br i1 %t80, label %then3, label %ifend5
|
|
then3:
|
|
%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 0
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = call ptr @fn_emit_expr(ptr %t87)
|
|
store ptr %t88, ptr %t89
|
|
%t90 = load ptr, ptr %t1
|
|
%t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 7
|
|
%t92 = load ptr, ptr %t91
|
|
%t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0
|
|
%t94 = load ptr, ptr %t93
|
|
%t95 = getelementptr inbounds ptr, ptr %t94, i32 1
|
|
%t96 = load ptr, ptr %t95
|
|
%t97 = call ptr @fn_emit_expr(ptr %t96)
|
|
store ptr %t97, ptr %t98
|
|
%t99 = load ptr, ptr %t98
|
|
%t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0
|
|
%t101 = load ptr, ptr %t100
|
|
%t102 = call ptr @fn_tween_den(ptr %t101)
|
|
store ptr %t102, ptr %t103
|
|
%t104 = load ptr, ptr %t89
|
|
%t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = load ptr, ptr %t103
|
|
%t108 = call ptr @fn_fx_div_code(ptr %t106, ptr %t107)
|
|
store ptr %t108, ptr %t109
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = call ptr @fn_str_concat(ptr @.str4250, ptr %t110)
|
|
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4251)
|
|
%t113 = call ptr @fn_emit_bind(ptr %t112)
|
|
%t114 = call ptr @fn_val(ptr %t113, ptr @.str4252)
|
|
store ptr %t114, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t115 = load ptr, ptr %t0
|
|
%t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str4253)
|
|
%t117 = icmp ne i32 %t116, 0
|
|
br i1 %t117, label %then6, label %ifend8
|
|
then6:
|
|
%t118 = load ptr, ptr %t1
|
|
%t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 7
|
|
%t120 = load ptr, ptr %t119
|
|
%t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0
|
|
%t122 = load ptr, ptr %t121
|
|
%t123 = getelementptr inbounds ptr, ptr %t122, i32 0
|
|
%t124 = load ptr, ptr %t123
|
|
%t125 = call ptr @fn_emit_expr(ptr %t124)
|
|
store ptr %t125, ptr %t126
|
|
%t127 = load ptr, ptr %t1
|
|
%t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 7
|
|
%t129 = load ptr, ptr %t128
|
|
%t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0
|
|
%t131 = load ptr, ptr %t130
|
|
%t132 = getelementptr inbounds ptr, ptr %t131, i32 1
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = call ptr @fn_emit_expr(ptr %t133)
|
|
store ptr %t134, ptr %t135
|
|
%t136 = load ptr, ptr %t135
|
|
%t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0
|
|
%t138 = load ptr, ptr %t137
|
|
%t139 = call ptr @fn_tween_den(ptr %t138)
|
|
store ptr %t139, ptr %t140
|
|
%t141 = load ptr, ptr %t126
|
|
%t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0
|
|
%t143 = load ptr, ptr %t142
|
|
%t144 = load ptr, ptr %t140
|
|
%t145 = call ptr @fn_fx_div_code(ptr %t143, ptr %t144)
|
|
store ptr %t145, ptr %t146
|
|
%t147 = load ptr, ptr %t146
|
|
%t148 = call ptr @fn_str_concat(ptr @.str4254, ptr %t147)
|
|
%t149 = call ptr @fn_str_concat(ptr %t148, ptr @.str4255)
|
|
%t150 = call ptr @fn_emit_bind(ptr %t149)
|
|
store ptr %t150, ptr %t151
|
|
%t152 = load ptr, ptr %t151
|
|
%t153 = call ptr @fn_str_concat(ptr @.str4256, ptr %t152)
|
|
%t154 = call ptr @fn_emit_bind(ptr %t153)
|
|
store ptr %t154, ptr %t155
|
|
%t156 = load ptr, ptr %t151
|
|
%t157 = call ptr @fn_str_concat(ptr @.str4257, ptr %t156)
|
|
%t158 = call ptr @fn_str_concat(ptr %t157, ptr @.str4258)
|
|
%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 @.str4259, ptr %t161)
|
|
%t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str4260)
|
|
%t164 = load ptr, ptr %t151
|
|
%t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164)
|
|
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4261)
|
|
%t167 = load ptr, ptr %t155
|
|
%t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
|
|
%t169 = call ptr @fn_emit_bind(ptr %t168)
|
|
%t170 = call ptr @fn_val(ptr %t169, ptr @.str4262)
|
|
store ptr %t170, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t171 = load ptr, ptr %t0
|
|
%t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str4263)
|
|
%t173 = icmp ne i32 %t172, 0
|
|
br i1 %t173, label %then9, label %ifend11
|
|
then9:
|
|
%t174 = load ptr, ptr %t1
|
|
%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 0
|
|
%t178 = load ptr, ptr %t177
|
|
%t179 = getelementptr inbounds ptr, ptr %t178, i32 0
|
|
%t180 = load ptr, ptr %t179
|
|
%t181 = call ptr @fn_emit_expr(ptr %t180)
|
|
store ptr %t181, ptr %t182
|
|
%t183 = load ptr, ptr %t1
|
|
%t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 7
|
|
%t185 = load ptr, ptr %t184
|
|
%t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0
|
|
%t187 = load ptr, ptr %t186
|
|
%t188 = getelementptr inbounds ptr, ptr %t187, i32 1
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = call ptr @fn_emit_expr(ptr %t189)
|
|
store ptr %t190, ptr %t191
|
|
%t192 = load ptr, ptr %t182
|
|
%t193 = getelementptr inbounds %Cmp_Val, ptr %t192, i32 0, i32 0
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = call ptr @fn_str_concat(ptr @.str4264, ptr %t194)
|
|
%t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str4265)
|
|
%t197 = load ptr, ptr %t191
|
|
%t198 = getelementptr inbounds %Cmp_Val, ptr %t197, i32 0, i32 0
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = call ptr @fn_str_concat(ptr %t196, ptr %t199)
|
|
%t201 = call ptr @fn_emit_bind(ptr %t200)
|
|
store ptr %t201, ptr %t202
|
|
%t203 = load ptr, ptr %t202
|
|
%t204 = call ptr @fn_str_concat(ptr @.str4266, ptr %t203)
|
|
%t205 = call ptr @fn_str_concat(ptr %t204, ptr @.str4267)
|
|
%t206 = call ptr @fn_emit_bind(ptr %t205)
|
|
%t207 = call ptr @fn_val(ptr %t206, ptr @.str4268)
|
|
store ptr %t207, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t208 = load ptr, ptr %t0
|
|
%t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str4269)
|
|
%t210 = icmp ne i32 %t209, 0
|
|
br i1 %t210, label %then12, label %ifend14
|
|
then12:
|
|
%t211 = load ptr, ptr %t1
|
|
%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 = getelementptr inbounds ptr, ptr %t215, i32 0
|
|
%t217 = load ptr, ptr %t216
|
|
%t218 = call ptr @fn_emit_expr(ptr %t217)
|
|
store ptr %t218, ptr %t219
|
|
%t220 = load ptr, ptr %t1
|
|
%t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 7
|
|
%t222 = load ptr, ptr %t221
|
|
%t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0
|
|
%t224 = load ptr, ptr %t223
|
|
%t225 = getelementptr inbounds ptr, ptr %t224, i32 1
|
|
%t226 = load ptr, ptr %t225
|
|
store ptr %t226, ptr %t227
|
|
%t228 = load ptr, ptr %t227
|
|
%t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 0
|
|
%t230 = load i32, ptr %t229
|
|
%t231 = icmp ne i32 %t230, 30
|
|
%t232 = zext i1 %t231 to i32
|
|
%t233 = icmp ne i32 %t232, 0
|
|
br i1 %t233, label %then15, label %ifend17
|
|
then15:
|
|
call void @fn_perr(ptr @.str4270)
|
|
br label %ifend17
|
|
ifend17:
|
|
%t234 = load ptr, ptr %t227
|
|
%t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 2
|
|
%t236 = load i32, ptr %t235
|
|
%t237 = load ptr, ptr %t219
|
|
%t238 = getelementptr inbounds %Cmp_Val, ptr %t237, i32 0, i32 0
|
|
%t239 = load ptr, ptr %t238
|
|
%t240 = call ptr @fn_ease_eval(i32 %t236, ptr %t239)
|
|
%t241 = call ptr @fn_val(ptr %t240, ptr @.str4271)
|
|
store ptr %t241, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t242 = load ptr, ptr %t0
|
|
%t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str4272)
|
|
%t244 = icmp ne i32 %t243, 0
|
|
br i1 %t244, label %then18, label %ifend20
|
|
then18:
|
|
%t245 = load ptr, ptr %t1
|
|
%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 %t1
|
|
%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
|
|
%t263 = load ptr, ptr %t1
|
|
%t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 7
|
|
%t265 = load ptr, ptr %t264
|
|
%t266 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 0
|
|
%t267 = load ptr, ptr %t266
|
|
%t268 = getelementptr inbounds ptr, ptr %t267, i32 2
|
|
%t269 = load ptr, ptr %t268
|
|
%t270 = call ptr @fn_emit_expr(ptr %t269)
|
|
store ptr %t270, ptr %t271
|
|
%t272 = load ptr, ptr %t253
|
|
%t273 = getelementptr inbounds %Cmp_Val, ptr %t272, i32 0, i32 0
|
|
%t274 = load ptr, ptr %t273
|
|
%t275 = load ptr, ptr %t262
|
|
%t276 = getelementptr inbounds %Cmp_Val, ptr %t275, i32 0, i32 0
|
|
%t277 = load ptr, ptr %t276
|
|
%t278 = load ptr, ptr %t271
|
|
%t279 = getelementptr inbounds %Cmp_Val, ptr %t278, i32 0, i32 0
|
|
%t280 = load ptr, ptr %t279
|
|
%t281 = call ptr @fn_fx_lerp_code(ptr %t274, ptr %t277, ptr %t280)
|
|
%t282 = call ptr @fn_val(ptr %t281, ptr @.str4273)
|
|
store ptr %t282, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t283 = load ptr, ptr %t0
|
|
%t284 = call i32 @fn_str_eq(ptr %t283, ptr @.str4274)
|
|
%t285 = icmp ne i32 %t284, 0
|
|
br i1 %t285, label %then21, label %ifend23
|
|
then21:
|
|
%t286 = load ptr, ptr %t1
|
|
%t287 = getelementptr inbounds %Cmp_Node, ptr %t286, i32 0, i32 7
|
|
%t288 = load ptr, ptr %t287
|
|
%t289 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 0
|
|
%t290 = load ptr, ptr %t289
|
|
%t291 = getelementptr inbounds ptr, ptr %t290, i32 0
|
|
%t292 = load ptr, ptr %t291
|
|
%t293 = call ptr @fn_emit_expr(ptr %t292)
|
|
store ptr %t293, ptr %t294
|
|
%t295 = load ptr, ptr %t1
|
|
%t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 7
|
|
%t297 = load ptr, ptr %t296
|
|
%t298 = getelementptr inbounds %LSlice, ptr %t297, i32 0, i32 0
|
|
%t299 = load ptr, ptr %t298
|
|
%t300 = getelementptr inbounds ptr, ptr %t299, i32 1
|
|
%t301 = load ptr, ptr %t300
|
|
%t302 = call ptr @fn_emit_expr(ptr %t301)
|
|
store ptr %t302, ptr %t303
|
|
%t304 = load ptr, ptr %t1
|
|
%t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 7
|
|
%t306 = load ptr, ptr %t305
|
|
%t307 = getelementptr inbounds %LSlice, ptr %t306, i32 0, i32 0
|
|
%t308 = load ptr, ptr %t307
|
|
%t309 = getelementptr inbounds ptr, ptr %t308, i32 2
|
|
%t310 = load ptr, ptr %t309
|
|
%t311 = call ptr @fn_emit_expr(ptr %t310)
|
|
store ptr %t311, ptr %t312
|
|
%t313 = load ptr, ptr %t303
|
|
%t314 = getelementptr inbounds %Cmp_Val, ptr %t313, i32 0, i32 0
|
|
%t315 = load ptr, ptr %t314
|
|
%t316 = call ptr @fn_str_concat(ptr @.str4275, ptr %t315)
|
|
%t317 = call ptr @fn_str_concat(ptr %t316, ptr @.str4276)
|
|
%t318 = load ptr, ptr %t294
|
|
%t319 = getelementptr inbounds %Cmp_Val, ptr %t318, i32 0, i32 0
|
|
%t320 = load ptr, ptr %t319
|
|
%t321 = call ptr @fn_str_concat(ptr %t317, ptr %t320)
|
|
%t322 = call ptr @fn_emit_bind(ptr %t321)
|
|
store ptr %t322, ptr %t323
|
|
%t324 = load ptr, ptr %t323
|
|
%t325 = call ptr @fn_str_concat(ptr @.str4277, ptr %t324)
|
|
%t326 = call ptr @fn_str_concat(ptr %t325, ptr @.str4278)
|
|
%t327 = call ptr @fn_emit_bind(ptr %t326)
|
|
store ptr %t327, ptr %t328
|
|
%t329 = load ptr, ptr %t312
|
|
%t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0
|
|
%t331 = load ptr, ptr %t330
|
|
%t332 = call ptr @fn_str_concat(ptr @.str4279, ptr %t331)
|
|
%t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str4280)
|
|
%t334 = call ptr @fn_emit_bind(ptr %t333)
|
|
store ptr %t334, ptr %t335
|
|
%t336 = load ptr, ptr %t328
|
|
%t337 = call ptr @fn_str_concat(ptr @.str4281, ptr %t336)
|
|
%t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str4282)
|
|
%t339 = load ptr, ptr %t335
|
|
%t340 = call ptr @fn_str_concat(ptr %t338, 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 @.str4283, ptr %t343)
|
|
%t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str4284)
|
|
%t346 = call ptr @fn_emit_bind(ptr %t345)
|
|
store ptr %t346, ptr %t347
|
|
%t348 = load ptr, ptr %t347
|
|
%t349 = call ptr @fn_str_concat(ptr @.str4285, ptr %t348)
|
|
%t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str4286)
|
|
%t351 = call ptr @fn_emit_bind(ptr %t350)
|
|
store ptr %t351, ptr %t352
|
|
%t353 = load ptr, ptr %t352
|
|
%t354 = call ptr @fn_str_concat(ptr @.str4287, ptr %t353)
|
|
%t355 = call ptr @fn_str_concat(ptr %t354, ptr @.str4288)
|
|
%t356 = call ptr @fn_emit_bind(ptr %t355)
|
|
store ptr %t356, ptr %t357
|
|
%t358 = load ptr, ptr %t294
|
|
%t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0
|
|
%t360 = load ptr, ptr %t359
|
|
%t361 = call ptr @fn_str_concat(ptr @.str4289, ptr %t360)
|
|
%t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str4290)
|
|
%t363 = load ptr, ptr %t357
|
|
%t364 = call ptr @fn_str_concat(ptr %t362, ptr %t363)
|
|
%t365 = call ptr @fn_emit_bind(ptr %t364)
|
|
%t366 = call ptr @fn_val(ptr %t365, ptr @.str4291)
|
|
store ptr %t366, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t367 = load ptr, ptr %t0
|
|
%t368 = call i32 @fn_str_eq(ptr %t367, ptr @.str4292)
|
|
%t369 = icmp ne i32 %t368, 0
|
|
br i1 %t369, label %then24, label %ifend26
|
|
then24:
|
|
%t370 = load ptr, ptr %t1
|
|
%t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 7
|
|
%t372 = load ptr, ptr %t371
|
|
%t373 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 0
|
|
%t374 = load ptr, ptr %t373
|
|
%t375 = getelementptr inbounds ptr, ptr %t374, i32 0
|
|
%t376 = load ptr, ptr %t375
|
|
%t377 = call ptr @fn_emit_expr(ptr %t376)
|
|
store ptr %t377, ptr %t378
|
|
%t379 = load ptr, ptr %t1
|
|
%t380 = getelementptr inbounds %Cmp_Node, ptr %t379, i32 0, i32 7
|
|
%t381 = load ptr, ptr %t380
|
|
%t382 = getelementptr inbounds %LSlice, ptr %t381, i32 0, i32 0
|
|
%t383 = load ptr, ptr %t382
|
|
%t384 = getelementptr inbounds ptr, ptr %t383, i32 1
|
|
%t385 = load ptr, ptr %t384
|
|
%t386 = call ptr @fn_emit_expr(ptr %t385)
|
|
store ptr %t386, ptr %t387
|
|
%t388 = load ptr, ptr %t1
|
|
%t389 = getelementptr inbounds %Cmp_Node, ptr %t388, i32 0, i32 7
|
|
%t390 = load ptr, ptr %t389
|
|
%t391 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 0
|
|
%t392 = load ptr, ptr %t391
|
|
%t393 = getelementptr inbounds ptr, ptr %t392, i32 2
|
|
%t394 = load ptr, ptr %t393
|
|
%t395 = call ptr @fn_emit_expr(ptr %t394)
|
|
store ptr %t395, ptr %t396
|
|
%t397 = load ptr, ptr %t378
|
|
%t398 = getelementptr inbounds %Cmp_Val, ptr %t397, i32 0, i32 0
|
|
%t399 = load ptr, ptr %t398
|
|
%t400 = call ptr @fn_vec_x(ptr %t399)
|
|
store ptr %t400, ptr %t401
|
|
%t402 = load ptr, ptr %t378
|
|
%t403 = getelementptr inbounds %Cmp_Val, ptr %t402, i32 0, i32 0
|
|
%t404 = load ptr, ptr %t403
|
|
%t405 = call ptr @fn_vec_y(ptr %t404)
|
|
store ptr %t405, ptr %t406
|
|
%t407 = load ptr, ptr %t387
|
|
%t408 = getelementptr inbounds %Cmp_Val, ptr %t407, i32 0, i32 0
|
|
%t409 = load ptr, ptr %t408
|
|
%t410 = call ptr @fn_vec_x(ptr %t409)
|
|
store ptr %t410, ptr %t411
|
|
%t412 = load ptr, ptr %t387
|
|
%t413 = getelementptr inbounds %Cmp_Val, ptr %t412, i32 0, i32 0
|
|
%t414 = load ptr, ptr %t413
|
|
%t415 = call ptr @fn_vec_y(ptr %t414)
|
|
store ptr %t415, ptr %t416
|
|
%t417 = load ptr, ptr %t401
|
|
%t418 = load ptr, ptr %t411
|
|
%t419 = load ptr, ptr %t396
|
|
%t420 = getelementptr inbounds %Cmp_Val, ptr %t419, i32 0, i32 0
|
|
%t421 = load ptr, ptr %t420
|
|
%t422 = call ptr @fn_fx_lerp_code(ptr %t417, ptr %t418, ptr %t421)
|
|
store ptr %t422, ptr %t423
|
|
%t424 = load ptr, ptr %t406
|
|
%t425 = load ptr, ptr %t416
|
|
%t426 = load ptr, ptr %t396
|
|
%t427 = getelementptr inbounds %Cmp_Val, ptr %t426, i32 0, i32 0
|
|
%t428 = load ptr, ptr %t427
|
|
%t429 = call ptr @fn_fx_lerp_code(ptr %t424, ptr %t425, ptr %t428)
|
|
store ptr %t429, ptr %t430
|
|
%t431 = load ptr, ptr %t423
|
|
%t432 = load ptr, ptr %t430
|
|
%t433 = call ptr @fn_vec_pack(ptr %t431, ptr %t432)
|
|
%t434 = call ptr @fn_val(ptr %t433, ptr @.str4293)
|
|
store ptr %t434, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t435 = load ptr, ptr %t1
|
|
%t436 = getelementptr inbounds %Cmp_Node, ptr %t435, i32 0, i32 7
|
|
%t437 = load ptr, ptr %t436
|
|
%t438 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 0
|
|
%t439 = load ptr, ptr %t438
|
|
%t440 = getelementptr inbounds ptr, ptr %t439, i32 0
|
|
%t441 = load ptr, ptr %t440
|
|
%t442 = call ptr @fn_emit_expr(ptr %t441)
|
|
store ptr %t442, ptr %t443
|
|
%t444 = load ptr, ptr %t1
|
|
%t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 7
|
|
%t446 = load ptr, ptr %t445
|
|
%t447 = getelementptr inbounds %LSlice, ptr %t446, i32 0, i32 0
|
|
%t448 = load ptr, ptr %t447
|
|
%t449 = getelementptr inbounds ptr, ptr %t448, i32 1
|
|
%t450 = load ptr, ptr %t449
|
|
%t451 = call ptr @fn_emit_expr(ptr %t450)
|
|
store ptr %t451, ptr %t452
|
|
%t453 = load ptr, ptr %t1
|
|
%t454 = getelementptr inbounds %Cmp_Node, ptr %t453, i32 0, i32 7
|
|
%t455 = load ptr, ptr %t454
|
|
%t456 = getelementptr inbounds %LSlice, ptr %t455, i32 0, i32 0
|
|
%t457 = load ptr, ptr %t456
|
|
%t458 = getelementptr inbounds ptr, ptr %t457, i32 2
|
|
%t459 = load ptr, ptr %t458
|
|
%t460 = call ptr @fn_emit_expr(ptr %t459)
|
|
store ptr %t460, ptr %t461
|
|
%t462 = load ptr, ptr %t443
|
|
%t463 = getelementptr inbounds %Cmp_Val, ptr %t462, i32 0, i32 0
|
|
%t464 = load ptr, ptr %t463
|
|
%t465 = call ptr @fn_color_ch(ptr %t464, ptr @.str4294)
|
|
%t466 = load ptr, ptr %t452
|
|
%t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 0
|
|
%t468 = load ptr, ptr %t467
|
|
%t469 = call ptr @fn_color_ch(ptr %t468, ptr @.str4295)
|
|
%t470 = load ptr, ptr %t461
|
|
%t471 = getelementptr inbounds %Cmp_Val, ptr %t470, i32 0, i32 0
|
|
%t472 = load ptr, ptr %t471
|
|
%t473 = call ptr @fn_color_lerp_ch(ptr %t465, ptr %t469, ptr %t472)
|
|
store ptr %t473, ptr %t474
|
|
%t475 = load ptr, ptr %t443
|
|
%t476 = getelementptr inbounds %Cmp_Val, ptr %t475, i32 0, i32 0
|
|
%t477 = load ptr, ptr %t476
|
|
%t478 = call ptr @fn_color_ch(ptr %t477, ptr @.str4296)
|
|
%t479 = load ptr, ptr %t452
|
|
%t480 = getelementptr inbounds %Cmp_Val, ptr %t479, i32 0, i32 0
|
|
%t481 = load ptr, ptr %t480
|
|
%t482 = call ptr @fn_color_ch(ptr %t481, ptr @.str4297)
|
|
%t483 = load ptr, ptr %t461
|
|
%t484 = getelementptr inbounds %Cmp_Val, ptr %t483, i32 0, i32 0
|
|
%t485 = load ptr, ptr %t484
|
|
%t486 = call ptr @fn_color_lerp_ch(ptr %t478, ptr %t482, ptr %t485)
|
|
store ptr %t486, ptr %t487
|
|
%t488 = load ptr, ptr %t443
|
|
%t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0
|
|
%t490 = load ptr, ptr %t489
|
|
%t491 = call ptr @fn_color_ch(ptr %t490, ptr @.str4298)
|
|
%t492 = load ptr, ptr %t452
|
|
%t493 = getelementptr inbounds %Cmp_Val, ptr %t492, i32 0, i32 0
|
|
%t494 = load ptr, ptr %t493
|
|
%t495 = call ptr @fn_color_ch(ptr %t494, ptr @.str4299)
|
|
%t496 = load ptr, ptr %t461
|
|
%t497 = getelementptr inbounds %Cmp_Val, ptr %t496, i32 0, i32 0
|
|
%t498 = load ptr, ptr %t497
|
|
%t499 = call ptr @fn_color_lerp_ch(ptr %t491, ptr %t495, ptr %t498)
|
|
store ptr %t499, ptr %t500
|
|
%t501 = load ptr, ptr %t474
|
|
%t502 = load ptr, ptr %t487
|
|
%t503 = load ptr, ptr %t500
|
|
%t504 = call ptr @fn_color_pack(ptr %t501, ptr %t502, ptr %t503)
|
|
%t505 = call ptr @fn_val(ptr %t504, ptr @.str4300)
|
|
store ptr %t505, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t506 = load ptr, ptr %retval
|
|
ret ptr %t506
|
|
}
|
|
|
|
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 @.str4301)
|
|
%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 @.str4302)
|
|
%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 @.str4303)
|
|
%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 @.str4304)
|
|
%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 @.str4305, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4306)
|
|
%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 @.str4307, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str4308)
|
|
%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 @.str4309, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4310)
|
|
%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 @.str4311, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4312)
|
|
%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 @.str4313, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str4314)
|
|
%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 @.str4315, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str4316)
|
|
%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 @.str4317, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4318)
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4319)
|
|
%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 @.str4320, ptr %t20)
|
|
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str4321)
|
|
%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 @.str4322, ptr %t27)
|
|
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str4323)
|
|
%t30 = load ptr, ptr %t1
|
|
%t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4324)
|
|
%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 @.str4325)
|
|
%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 @.str4326, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str4327)
|
|
%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 @.str4328, ptr %t90)
|
|
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str4329)
|
|
%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 @.str4330, ptr %t101)
|
|
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str4331)
|
|
%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 @.str4332, ptr %t112)
|
|
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4333)
|
|
%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 @.str4334, ptr %t123)
|
|
%t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str4335)
|
|
%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 @.str4336, ptr %t132)
|
|
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str4337)
|
|
%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 @.str4338, ptr %t141)
|
|
%t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str4339)
|
|
%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 @.str4340, ptr %t150)
|
|
%t152 = call ptr @fn_str_concat(ptr %t151, ptr @.str4341)
|
|
%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 @.str4342, ptr %t157)
|
|
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str4343)
|
|
%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 @.str4344, ptr %t164)
|
|
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4345)
|
|
%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 @.str4346, ptr %t171)
|
|
%t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str4347)
|
|
%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 @.str4348, ptr %t178)
|
|
%t180 = call ptr @fn_str_concat(ptr %t179, ptr @.str4349)
|
|
%t181 = call ptr @fn_emit_bind(ptr %t180)
|
|
%t182 = call ptr @fn_val(ptr %t181, ptr @.str4350)
|
|
store ptr %t182, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t183 = load ptr, ptr %t0
|
|
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str4351)
|
|
%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 @.str4352, ptr %t242)
|
|
%t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str4353)
|
|
%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 @.str4354, ptr %t253)
|
|
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str4355)
|
|
%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 @.str4356, ptr %t264)
|
|
%t266 = call ptr @fn_str_concat(ptr %t265, ptr @.str4357)
|
|
%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 @.str4358, ptr %t275)
|
|
%t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4359)
|
|
%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 @.str4360, ptr %t284)
|
|
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str4361)
|
|
%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 @.str4362, ptr %t295)
|
|
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str4363)
|
|
%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 @.str4364, ptr %t302)
|
|
%t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str4365)
|
|
%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 @.str4366, ptr %t309)
|
|
%t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str4367)
|
|
%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 @.str4368, ptr %t316)
|
|
%t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str4369)
|
|
%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 @.str4370, ptr %t323)
|
|
%t325 = call ptr @fn_str_concat(ptr %t324, ptr @.str4371)
|
|
%t326 = call ptr @fn_emit_bind(ptr %t325)
|
|
%t327 = call ptr @fn_val(ptr %t326, ptr @.str4372)
|
|
store ptr %t327, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t328 = load ptr, ptr %t0
|
|
%t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str4373)
|
|
%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 @.str4374, ptr %t387)
|
|
%t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str4375)
|
|
%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 @.str4376, ptr %t398)
|
|
%t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str4377)
|
|
%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 @.str4378, ptr %t413)
|
|
%t415 = call ptr @fn_str_concat(ptr %t414, ptr @.str4379)
|
|
%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 @.str4380, ptr %t422)
|
|
%t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str4381)
|
|
%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 @.str4382, ptr %t427)
|
|
%t429 = call ptr @fn_str_concat(ptr %t428, ptr @.str4383)
|
|
%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 @.str4384, ptr %t434)
|
|
%t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str4385)
|
|
%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 @.str4386, ptr %t441)
|
|
%t443 = call ptr @fn_str_concat(ptr %t442, ptr @.str4387)
|
|
%t444 = call ptr @fn_emit_bind(ptr %t443)
|
|
%t445 = call ptr @fn_val(ptr %t444, ptr @.str4388)
|
|
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 @.str4389, ptr %t511)
|
|
%t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str4390)
|
|
%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 @.str4391, ptr %t522)
|
|
%t524 = call ptr @fn_str_concat(ptr %t523, ptr @.str4392)
|
|
%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 @.str4393, ptr %t551)
|
|
%t553 = call ptr @fn_str_concat(ptr %t552, ptr @.str4394)
|
|
%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 @.str4395, ptr %t560)
|
|
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str4396)
|
|
%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 @.str4397, ptr %t573)
|
|
%t575 = call ptr @fn_str_concat(ptr %t574, ptr @.str4398)
|
|
%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 @.str4399, ptr %t578)
|
|
%t580 = call ptr @fn_str_concat(ptr %t579, ptr @.str4400)
|
|
%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 @.str4401, ptr %t585)
|
|
%t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str4402)
|
|
%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 @.str4403, ptr %t592)
|
|
%t594 = call ptr @fn_str_concat(ptr %t593, ptr @.str4404)
|
|
%t595 = call ptr @fn_emit_bind(ptr %t594)
|
|
%t596 = call ptr @fn_val(ptr %t595, ptr @.str4405)
|
|
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 @.str4406)
|
|
%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 @.str4407)
|
|
%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 @.str4408)
|
|
%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 @.str4409)
|
|
%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 @.str4410)
|
|
%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 @.str4411)
|
|
%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 @.str4412)
|
|
%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 @.str4413, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str4414)
|
|
%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 @.str4415, ptr %t21)
|
|
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str4416)
|
|
%t24 = call ptr @fn_emit_bind(ptr %t23)
|
|
%t25 = call ptr @fn_val(ptr %t24, ptr @.str4417)
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str4418)
|
|
%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 @.str4419, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4420)
|
|
%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 @.str4421, ptr %t45)
|
|
%t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4422)
|
|
%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 @.str4423, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4424)
|
|
%t53 = call ptr @fn_emit_bind(ptr %t52)
|
|
%t54 = call ptr @fn_val(ptr %t53, ptr @.str4425)
|
|
store ptr %t54, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t55 = load ptr, ptr %t0
|
|
%t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str4426)
|
|
%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 @.str4427, ptr %t87)
|
|
%t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str4428)
|
|
%t90 = call ptr @fn_emit_bind(ptr %t89)
|
|
store ptr %t90, ptr %t91
|
|
call void @fn_emit(ptr @.str4429)
|
|
%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 @.str4430)
|
|
%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 @.str4431)
|
|
%t98 = load ptr, ptr %t91
|
|
call void @fn_emit(ptr %t98)
|
|
call void @fn_emit(ptr @.str4432)
|
|
%t99 = call ptr @fn_val(ptr @.str4433, ptr @.str4434)
|
|
store ptr %t99, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str4435)
|
|
%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 @.str4436, ptr %t132)
|
|
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str4437)
|
|
%t135 = call ptr @fn_emit_bind(ptr %t134)
|
|
store ptr %t135, ptr %t136
|
|
call void @fn_emit(ptr @.str4438)
|
|
%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 @.str4439)
|
|
%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 @.str4440)
|
|
%t143 = load ptr, ptr %t136
|
|
call void @fn_emit(ptr %t143)
|
|
call void @fn_emit(ptr @.str4441)
|
|
%t144 = call ptr @fn_val(ptr @.str4442, ptr @.str4443)
|
|
store ptr %t144, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t145 = load ptr, ptr %t0
|
|
%t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str4444)
|
|
%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 @.str4445, ptr %t168)
|
|
%t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str4446)
|
|
%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 @.str4447, 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 @.str4448, ptr %t181)
|
|
%t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4449)
|
|
%t184 = call ptr @fn_emit_bind(ptr %t183)
|
|
%t185 = call ptr @fn_val(ptr %t184, ptr @.str4450)
|
|
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 @.str4451, ptr %t215)
|
|
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str4452)
|
|
%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 @.str4453, ptr %t226)
|
|
%t228 = call ptr @fn_str_concat(ptr %t227, ptr @.str4454)
|
|
%t229 = call ptr @fn_emit_bind(ptr %t228)
|
|
store ptr %t229, ptr %t230
|
|
call void @fn_emit(ptr @.str4455)
|
|
%t231 = load ptr, ptr %t230
|
|
call void @fn_emit(ptr %t231)
|
|
call void @fn_emit(ptr @.str4456)
|
|
%t232 = load ptr, ptr %t223
|
|
call void @fn_emit(ptr %t232)
|
|
call void @fn_emit(ptr @.str4457)
|
|
%t233 = call ptr @fn_val(ptr @.str4458, ptr @.str4459)
|
|
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 @.str4460)
|
|
%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 @.str4461)
|
|
%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 @.str4462)
|
|
%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 @.str4463)
|
|
%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 @.str4464)
|
|
%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 @.str4465)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = call ptr @fn_emit_bind(ptr @.str4466)
|
|
%t6 = call ptr @fn_val(ptr %t5, ptr @.str4467)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4468)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
%t10 = call ptr @fn_val(ptr @.str4469, ptr @.str4470)
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4471)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then6, label %ifend8
|
|
then6:
|
|
%t14 = call ptr @fn_emit_bind(ptr @.str4472)
|
|
store ptr %t14, ptr %t15
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_str_concat(ptr @.str4473, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str4474)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str4475)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str4476)
|
|
%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 @.str4477)
|
|
store ptr %t33, ptr %t34
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call ptr @fn_str_concat(ptr @.str4478, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4479)
|
|
%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 @.str4480, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4481)
|
|
%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 @.str4482)
|
|
store ptr %t48, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t49 = call ptr @fn_emit_bind(ptr @.str4483)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = call ptr @fn_str_concat(ptr @.str4484, ptr %t51)
|
|
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4485)
|
|
%t54 = call ptr @fn_emit_bind(ptr %t53)
|
|
%t55 = call ptr @fn_val(ptr %t54, ptr @.str4486)
|
|
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 @.str4487)
|
|
%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 @.str4488)
|
|
%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 @.str4489)
|
|
%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 @.str4490)
|
|
%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 @.str4491)
|
|
%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 @.str4492)
|
|
%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 @.str4493)
|
|
%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 @.str4494)
|
|
%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 @.str4495)
|
|
%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 @.str4496)
|
|
store ptr %t17, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str4497)
|
|
%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 @.str4498, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str4499)
|
|
%t26 = call ptr @fn_emit_bind(ptr %t25)
|
|
%t27 = call ptr @fn_val(ptr %t26, ptr @.str4500)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str4501)
|
|
%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 @.str4502, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str4503)
|
|
%t36 = call ptr @fn_emit_bind(ptr %t35)
|
|
%t37 = call ptr @fn_val(ptr %t36, ptr @.str4504)
|
|
store ptr %t37, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t38 = load ptr, ptr %t0
|
|
%t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str4505)
|
|
%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 @.str4506, ptr %t43)
|
|
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4507)
|
|
%t46 = call ptr @fn_emit_bind(ptr %t45)
|
|
%t47 = call ptr @fn_val(ptr %t46, ptr @.str4508)
|
|
store ptr %t47, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t48 = load ptr, ptr %t0
|
|
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str4509)
|
|
%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 @.str4510)
|
|
store ptr %t54, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t55 = load ptr, ptr %t0
|
|
%t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str4511)
|
|
%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 @.str4512, ptr %t60)
|
|
%t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str4513)
|
|
%t63 = call ptr @fn_emit_bind(ptr %t62)
|
|
%t64 = call ptr @fn_val(ptr %t63, ptr @.str4514)
|
|
store ptr %t64, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t65 = load ptr, ptr %t0
|
|
%t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str4515)
|
|
%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 @.str4516, ptr %t70)
|
|
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4517)
|
|
%t73 = call ptr @fn_emit_bind(ptr %t72)
|
|
%t74 = call ptr @fn_val(ptr %t73, ptr @.str4518)
|
|
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 @.str4519, ptr %t77)
|
|
%t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str4520)
|
|
%t80 = call ptr @fn_emit_bind(ptr %t79)
|
|
%t81 = call ptr @fn_val(ptr %t80, ptr @.str4521)
|
|
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 @.str4522)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = call ptr @fn_emit_alloca(ptr @.str4523)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_emit_alloca(ptr @.str4524)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call ptr @fn_str_concat(ptr @.str4525, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str4526)
|
|
%t11 = load ptr, ptr %t3
|
|
%t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str4527)
|
|
%t14 = load ptr, ptr %t5
|
|
%t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str4528)
|
|
%t17 = load ptr, ptr %t7
|
|
%t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str4529)
|
|
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 @.str4530, 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 @.str4531)
|
|
%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 @.str4532)
|
|
%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 @.str4533)
|
|
%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 @.str4534)
|
|
%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 @.str4535)
|
|
%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 @.str4536)
|
|
%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 @.str4537)
|
|
%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 @.str4538)
|
|
%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 @.str4539)
|
|
%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 @.str4540)
|
|
%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 @.str4541)
|
|
%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 @.str4542, ptr %t34)
|
|
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str4543)
|
|
%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 @.str4544)
|
|
%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 @.str4545)
|
|
%t47 = call ptr @fn_emit_bind(ptr %t46)
|
|
%t48 = call ptr @fn_val(ptr %t47, ptr @.str4546)
|
|
store ptr %t48, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str4547)
|
|
%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 @.str4548)
|
|
store ptr %t65, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t66 = load ptr, ptr %t0
|
|
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str4549)
|
|
%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 @.str4550)
|
|
store ptr %t82, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t83 = load ptr, ptr %t0
|
|
%t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str4551)
|
|
%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 @.str4552)
|
|
store ptr %t99, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str4553)
|
|
%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 @.str4554, ptr %t114)
|
|
%t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str4555)
|
|
%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 @.str4556, ptr %t119)
|
|
%t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str4557)
|
|
%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 @.str4558, ptr %t124)
|
|
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str4559)
|
|
%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 @.str4560, ptr %t129)
|
|
%t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str4561)
|
|
%t132 = call ptr @fn_emit_bind(ptr %t131)
|
|
%t133 = call ptr @fn_val(ptr %t132, ptr @.str4562)
|
|
store ptr %t133, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t134 = load ptr, ptr %t0
|
|
%t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str4563)
|
|
%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 @.str4564, ptr %t148)
|
|
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str4565)
|
|
%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 @.str4566, ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str4567)
|
|
%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 @.str4568, ptr %t160)
|
|
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str4569)
|
|
%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 @.str4570, ptr %t165)
|
|
%t167 = call ptr @fn_str_concat(ptr %t166, ptr @.str4571)
|
|
%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 @.str4572, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str4573)
|
|
%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 @.str4574, ptr %t177)
|
|
%t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str4575)
|
|
%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 @.str4576, ptr %t182)
|
|
%t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str4577)
|
|
%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 @.str4578, ptr %t189)
|
|
%t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str4579)
|
|
%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 @.str4580, ptr %t196)
|
|
%t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str4581)
|
|
%t199 = call ptr @fn_emit_bind(ptr %t198)
|
|
%t200 = call ptr @fn_val(ptr %t199, ptr @.str4582)
|
|
store ptr %t200, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t201 = load ptr, ptr %t0
|
|
%t202 = call i32 @fn_str_eq(ptr %t201, ptr @.str4583)
|
|
%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 @.str4584, ptr %t224)
|
|
%t226 = call ptr @fn_str_concat(ptr %t225, ptr @.str4585)
|
|
%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 @.str4586)
|
|
%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 @.str4587, ptr %t236)
|
|
%t238 = call ptr @fn_str_concat(ptr %t237, ptr @.str4588)
|
|
%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 @.str4589, ptr %t243)
|
|
%t245 = call ptr @fn_str_concat(ptr %t244, ptr @.str4590)
|
|
%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 @.str4591, ptr %t248)
|
|
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str4592)
|
|
%t251 = load ptr, ptr %t247
|
|
%t252 = call ptr @fn_str_concat(ptr %t250, ptr %t251)
|
|
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str4593)
|
|
%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 @.str4594, ptr %t262)
|
|
%t264 = call ptr @fn_str_concat(ptr %t263, ptr @.str4595)
|
|
%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 @.str4596, ptr %t267)
|
|
%t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str4597)
|
|
%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 @.str4598, ptr %t274)
|
|
%t276 = call ptr @fn_str_concat(ptr %t275, ptr @.str4599)
|
|
%t277 = load ptr, ptr %t273
|
|
%t278 = call ptr @fn_str_concat(ptr %t276, ptr %t277)
|
|
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str4600)
|
|
%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 @.str4601, ptr %t282)
|
|
%t284 = call ptr @fn_str_concat(ptr %t283, ptr @.str4602)
|
|
%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 @.str4603)
|
|
store ptr %t288, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t289 = load ptr, ptr %t0
|
|
%t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str4604)
|
|
%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 @.str4605, ptr %t303)
|
|
%t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str4606)
|
|
%t306 = call ptr @fn_emit_bind(ptr %t305)
|
|
%t307 = call ptr @fn_val(ptr %t306, ptr @.str4607)
|
|
store ptr %t307, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t308 = load ptr, ptr %t0
|
|
%t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str4608)
|
|
%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 @.str4609, ptr %t331)
|
|
%t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str4610)
|
|
%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 @.str4611)
|
|
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 @.str4612, ptr %t360)
|
|
%t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str4613)
|
|
%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 @.str4614)
|
|
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 @.str4615, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4616)
|
|
%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 @.str4617, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4618)
|
|
%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 @.str4619, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str4620)
|
|
%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 @.str4621, ptr %t4)
|
|
%t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str4622)
|
|
%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 @.str4623, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str4624)
|
|
%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 @.str4625)
|
|
%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 @.str4626)
|
|
%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 @.str4627)
|
|
%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 @.str4628)
|
|
%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 @.str4629)
|
|
%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 @.str4630)
|
|
%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 @.str4631)
|
|
%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 @.str4632)
|
|
%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 @.str4633)
|
|
%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 @.str4634)
|
|
%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 @.str4635)
|
|
%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 @.str4636)
|
|
%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 @.str4637, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4638)
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5)
|
|
%t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str4639)
|
|
%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 @.str4640)
|
|
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 @.str4641)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = call ptr @fn_emit_alloca(ptr @.str4642)
|
|
store ptr %t43, ptr %t44
|
|
%t45 = call ptr @fn_emit_alloca(ptr @.str4643)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = load ptr, ptr %t40
|
|
%t48 = call ptr @fn_str_concat(ptr @.str4644, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4645)
|
|
%t50 = load ptr, ptr %t42
|
|
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4646)
|
|
%t53 = load ptr, ptr %t44
|
|
%t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str4647)
|
|
%t56 = load ptr, ptr %t46
|
|
%t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str4648)
|
|
call void @fn_emit(ptr %t58)
|
|
%t59 = load ptr, ptr %t42
|
|
%t60 = call ptr @fn_str_concat(ptr @.str4649, 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 @.str4650, 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 @.str4651, 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 @.str4652, ptr %t76)
|
|
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str4653)
|
|
%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 @.str4654, ptr %t81)
|
|
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4655)
|
|
%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 @.str4656, ptr %t86)
|
|
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str4657)
|
|
%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 @.str4658, ptr %t91)
|
|
%t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str4659)
|
|
%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 @.str4660, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str4661)
|
|
%t99 = call ptr @fn_emit_bind(ptr %t98)
|
|
store ptr %t99, ptr %t100
|
|
%t101 = call ptr @fn_emit_str_const(ptr @.str4662)
|
|
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 @.str4663, 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 @.str4664, 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 @.str4665, 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 @.str4666, 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 @.str4667, 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 @.str4668, 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 @.str4669, 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 @.str4670, ptr %t181)
|
|
%t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4671)
|
|
%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 @.str4672)
|
|
%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 @.str4673)
|
|
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 @.str4674)
|
|
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 @.str4675)
|
|
store ptr %t36, ptr %t37
|
|
%t38 = load ptr, ptr %t37
|
|
call void @fn_store_at(ptr @.str4676, ptr @.str4677, ptr %t38)
|
|
%t39 = call ptr @fn_emit_alloca(ptr @.str4678)
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
call void @fn_store_at(ptr @.str4679, ptr @.str4680, ptr %t41)
|
|
%t42 = call ptr @fn_emit_alloca(ptr @.str4681)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = load ptr, ptr %t43
|
|
call void @fn_store_at(ptr @.str4682, ptr @.str4683, ptr %t44)
|
|
%t45 = call ptr @fn_emit_alloca(ptr @.str4684)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = load ptr, ptr %t46
|
|
call void @fn_store_at(ptr @.str4685, ptr @.str4686, ptr %t47)
|
|
%t48 = call ptr @fn_emit_alloca(ptr @.str4687)
|
|
store ptr %t48, ptr %t49
|
|
%t50 = load ptr, ptr %t49
|
|
call void @fn_store_at(ptr @.str4688, ptr @.str4689, ptr %t50)
|
|
%t51 = call ptr @fn_emit_alloca(ptr @.str4690)
|
|
store ptr %t51, ptr %t52
|
|
%t53 = load ptr, ptr %t52
|
|
call void @fn_store_at(ptr @.str4691, ptr @.str4692, ptr %t53)
|
|
%t54 = call ptr @fn_emit_alloca(ptr @.str4693)
|
|
store ptr %t54, ptr %t55
|
|
%t56 = load ptr, ptr %t55
|
|
call void @fn_store_at(ptr @.str4694, ptr @.str4695, 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 @.str4696, 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 @.str4697, 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 @.str4698, 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 @.str4699, 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 @.str4700, 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 @.str4701, 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 @.str4702, ptr %t113)
|
|
%t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str4703)
|
|
%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 @.str4704)
|
|
%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 @.str4705)
|
|
%t124 = load ptr, ptr %t37
|
|
%t125 = call ptr @fn_str_concat(ptr %t123, ptr %t124)
|
|
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str4706)
|
|
%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 @.str4707, 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 @.str4708, 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 @.str4709, 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 @.str4710, 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 @.str4711, 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 @.str4712, 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 @.str4713, 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 @.str4714, ptr %t161)
|
|
%t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str4715)
|
|
%t164 = load ptr, ptr %t144
|
|
%t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164)
|
|
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4716)
|
|
%t167 = load ptr, ptr %t148
|
|
%t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
|
|
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str4717)
|
|
%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 @.str4718, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str4719)
|
|
%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 @.str4720, ptr %t177)
|
|
%t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str4721)
|
|
%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 @.str4722, ptr %t182)
|
|
%t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str4723)
|
|
%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 @.str4724, ptr %t187)
|
|
%t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str4725)
|
|
%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 @.str4726, ptr %t194)
|
|
%t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str4727)
|
|
%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 @.str4728, ptr %t201)
|
|
%t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str4729)
|
|
%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 @.str4730, 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 @.str4731, ptr %t212)
|
|
%t214 = call ptr @fn_str_concat(ptr %t213, ptr @.str4732)
|
|
%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 @.str4733, ptr %t217)
|
|
%t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str4734)
|
|
%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 @.str4735)
|
|
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 @.str4736)
|
|
%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 @.str4737)
|
|
%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 @.str4738)
|
|
%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 @.str4739, ptr %t71)
|
|
%t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str4740)
|
|
%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 @.str4741)
|
|
%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 @.str4742)
|
|
%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 @.str4743, ptr %t86)
|
|
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str4744)
|
|
%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 @.str4745, ptr %t93)
|
|
%t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str4746)
|
|
%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 @.str4747, ptr %t100)
|
|
%t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str4748)
|
|
%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 @.str4749, ptr %t105)
|
|
%t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str4750)
|
|
%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 @.str4751, ptr %t112)
|
|
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4752)
|
|
%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 @.str4753, ptr %t119)
|
|
%t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str4754)
|
|
%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 @.str4755)
|
|
store ptr %t127, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t128 = load ptr, ptr %t0
|
|
%t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str4756)
|
|
%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 @.str4757)
|
|
store ptr %t144, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t145 = load ptr, ptr %t0
|
|
%t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str4758)
|
|
%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 @.str4759, ptr %t168)
|
|
%t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str4760)
|
|
%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 @.str4761)
|
|
store ptr %t176, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t177 = load ptr, ptr %t0
|
|
%t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str4762)
|
|
%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 @.str4763)
|
|
store ptr %t194, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t195 = load ptr, ptr %t0
|
|
%t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str4764)
|
|
%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 @.str4765)
|
|
store ptr %t212, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t213 = load ptr, ptr %t0
|
|
%t214 = call i32 @fn_str_eq(ptr %t213, ptr @.str4766)
|
|
%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 @.str4767)
|
|
store ptr %t230, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t231 = load ptr, ptr %t0
|
|
%t232 = call i32 @fn_str_eq(ptr %t231, ptr @.str4768)
|
|
%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 @.str4769, ptr %t248)
|
|
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str4770)
|
|
%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 @.str4771, ptr %t253)
|
|
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str4772)
|
|
%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 @.str4773, ptr %t258)
|
|
%t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str4774)
|
|
%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 @.str4775, ptr %t263)
|
|
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str4776)
|
|
%t266 = call ptr @fn_emit_bind(ptr %t265)
|
|
%t267 = call ptr @fn_val(ptr %t266, ptr @.str4777)
|
|
store ptr %t267, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t268 = load ptr, ptr %t0
|
|
%t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str4778)
|
|
%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 @.str4779, ptr %t285)
|
|
%t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4780)
|
|
%t288 = call ptr @fn_emit_bind(ptr %t287)
|
|
%t289 = call ptr @fn_val(ptr %t288, ptr @.str4781)
|
|
store ptr %t289, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t290 = load ptr, ptr %t0
|
|
%t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str4782)
|
|
%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 @.str4783, ptr %t307)
|
|
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str4784)
|
|
%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 @.str4785, ptr %t312)
|
|
%t314 = call ptr @fn_str_concat(ptr %t313, ptr @.str4786)
|
|
%t315 = call ptr @fn_emit_bind(ptr %t314)
|
|
%t316 = call ptr @fn_val(ptr %t315, ptr @.str4787)
|
|
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 @.str4788, ptr %t331)
|
|
%t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str4789)
|
|
%t334 = call ptr @fn_emit_bind(ptr %t333)
|
|
%t335 = call ptr @fn_val(ptr %t334, ptr @.str4790)
|
|
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 @.str4791)
|
|
call void @fn_emith(ptr @.str4792)
|
|
call void @fn_emith(ptr @.str4793)
|
|
call void @fn_emith(ptr @.str4794)
|
|
call void @fn_emith(ptr @.str4795)
|
|
call void @fn_emith(ptr @.str4796)
|
|
call void @fn_emith(ptr @.str4797)
|
|
call void @fn_emith(ptr @.str4798)
|
|
call void @fn_emith(ptr @.str4799)
|
|
call void @fn_emith(ptr @.str4800)
|
|
call void @fn_emith(ptr @.str4801)
|
|
call void @fn_emith(ptr @.str4802)
|
|
call void @fn_emith(ptr @.str4803)
|
|
call void @fn_emith(ptr @.str4804)
|
|
call void @fn_emith(ptr @.str4805)
|
|
call void @fn_emith(ptr @.str4806)
|
|
call void @fn_emith(ptr @.str4807)
|
|
call void @fn_emith(ptr @.str4808)
|
|
call void @fn_emith(ptr @.str4809)
|
|
call void @fn_emith(ptr @.str4810)
|
|
call void @fn_emith(ptr @.str4811)
|
|
call void @fn_emith(ptr @.str4812)
|
|
call void @fn_emith(ptr @.str4813)
|
|
call void @fn_emith(ptr @.str4814)
|
|
call void @fn_emith(ptr @.str4815)
|
|
call void @fn_emith(ptr @.str4816)
|
|
call void @fn_emith(ptr @.str4817)
|
|
call void @fn_emith(ptr @.str4818)
|
|
call void @fn_emith(ptr @.str4819)
|
|
call void @fn_emith(ptr @.str4820)
|
|
call void @fn_emith(ptr @.str4821)
|
|
call void @fn_emith(ptr @.str4822)
|
|
call void @fn_emith(ptr @.str4823)
|
|
call void @fn_emith(ptr @.str4824)
|
|
call void @fn_emith(ptr @.str4825)
|
|
call void @fn_emith(ptr @.str4826)
|
|
call void @fn_emith(ptr @.str4827)
|
|
call void @fn_emith(ptr @.str4828)
|
|
call void @fn_emith(ptr @.str4829)
|
|
call void @fn_emith(ptr @.str4830)
|
|
call void @fn_emith(ptr @.str4831)
|
|
call void @fn_emith(ptr @.str4832)
|
|
call void @fn_emith(ptr @.str4833)
|
|
call void @fn_emith(ptr @.str4834)
|
|
call void @fn_emith(ptr @.str4835)
|
|
call void @fn_emith(ptr @.str4836)
|
|
call void @fn_emith(ptr @.str4837)
|
|
call void @fn_emith(ptr @.str4838)
|
|
call void @fn_emith(ptr @.str4839)
|
|
call void @fn_emith(ptr @.str4840)
|
|
call void @fn_emith(ptr @.str4841)
|
|
call void @fn_emith(ptr @.str4842)
|
|
call void @fn_emith(ptr @.str4843)
|
|
call void @fn_emith(ptr @.str4844)
|
|
call void @fn_emith(ptr @.str4845)
|
|
call void @fn_emith(ptr @.str4846)
|
|
call void @fn_emith(ptr @.str4847)
|
|
call void @fn_emith(ptr @.str4848)
|
|
call void @fn_emith(ptr @.str4849)
|
|
call void @fn_emith(ptr @.str4850)
|
|
call void @fn_emith(ptr @.str4851)
|
|
call void @fn_emith(ptr @.str4852)
|
|
call void @fn_emith(ptr @.str4853)
|
|
call void @fn_emith(ptr @.str4854)
|
|
call void @fn_emith(ptr @.str4855)
|
|
call void @fn_emith(ptr @.str4856)
|
|
call void @fn_emith(ptr @.str4857)
|
|
call void @fn_emith(ptr @.str4858)
|
|
call void @fn_emith(ptr @.str4859)
|
|
call void @fn_emith(ptr @.str4860)
|
|
call void @fn_emith(ptr @.str4861)
|
|
call void @fn_emith(ptr @.str4862)
|
|
call void @fn_emith(ptr @.str4863)
|
|
call void @fn_emith(ptr @.str4864)
|
|
call void @fn_emith(ptr @.str4865)
|
|
call void @fn_emith(ptr @.str4866)
|
|
call void @fn_emith(ptr @.str4867)
|
|
call void @fn_emith(ptr @.str4868)
|
|
call void @fn_emith(ptr @.str4869)
|
|
call void @fn_emith(ptr @.str4870)
|
|
call void @fn_emith(ptr @.str4871)
|
|
call void @fn_emith(ptr @.str4872)
|
|
call void @fn_emith(ptr @.str4873)
|
|
call void @fn_emith(ptr @.str4874)
|
|
call void @fn_emith(ptr @.str4875)
|
|
call void @fn_emith(ptr @.str4876)
|
|
call void @fn_emith(ptr @.str4877)
|
|
call void @fn_emith(ptr @.str4878)
|
|
call void @fn_emith(ptr @.str4879)
|
|
call void @fn_emith(ptr @.str4880)
|
|
call void @fn_emith(ptr @.str4881)
|
|
call void @fn_emith(ptr @.str4882)
|
|
call void @fn_emith(ptr @.str4883)
|
|
call void @fn_emith(ptr @.str4884)
|
|
call void @fn_emith(ptr @.str4885)
|
|
call void @fn_emith(ptr @.str4886)
|
|
call void @fn_emith(ptr @.str4887)
|
|
call void @fn_emith(ptr @.str4888)
|
|
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 @.str4889)
|
|
%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 @.str4890)
|
|
%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 @.str4891)
|
|
%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 @.str4892)
|
|
%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 @.str4893)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = call ptr @fn_emit_bind(ptr @.str4894)
|
|
%t6 = call ptr @fn_val(ptr %t5, ptr @.str4895)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4896)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str4897)
|
|
%t10 = call ptr @fn_val(ptr @.str4898, ptr @.str4899)
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4900)
|
|
%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 @.str4901, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4902)
|
|
call void @fn_emit(ptr %t27)
|
|
%t28 = call ptr @fn_val(ptr @.str4903, ptr @.str4904)
|
|
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 @.str4905)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_str_concat(ptr @.str4906, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4907)
|
|
%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 @.str4908, ptr %t49)
|
|
%t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str4909)
|
|
call void @fn_emit(ptr %t51)
|
|
%t52 = call ptr @fn_val(ptr @.str4910, ptr @.str4911)
|
|
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 @.str4912)
|
|
%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 @.str4913)
|
|
%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 @.str4914)
|
|
%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 @.str4915)
|
|
%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 @.str4916)
|
|
%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 @.str4917)
|
|
%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 @.str4918, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4919)
|
|
%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 @.str4920, ptr %t9)
|
|
%t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str4921)
|
|
%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 @.str4922, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str4923)
|
|
%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 @.str4924, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str4925)
|
|
%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 @.str4926, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4927)
|
|
%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 @.str4928, ptr %t20)
|
|
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str4929)
|
|
%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 @.str4930, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str4931)
|
|
%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 @.str4932, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4933)
|
|
%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 @.str4934, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str4935)
|
|
%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 @.str4936, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str4937)
|
|
%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 @.str4938)
|
|
%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 @.str4939)
|
|
store ptr %t42, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t43 = load ptr, ptr %t0
|
|
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str4940)
|
|
%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 @.str4941, ptr %t95)
|
|
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str4942)
|
|
%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 @.str4943, ptr %t100)
|
|
%t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str4944)
|
|
%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 @.str4945)
|
|
store ptr %t106, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t107 = load ptr, ptr %t0
|
|
%t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str4946)
|
|
%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 @.str4947, ptr %t130)
|
|
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str4948)
|
|
%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 @.str4949, ptr %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str4950)
|
|
%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 @.str4951, ptr %t142)
|
|
%t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str4952)
|
|
%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 @.str4953)
|
|
store ptr %t148, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t149 = load ptr, ptr %t0
|
|
%t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str4954)
|
|
%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 @.str4955)
|
|
%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 @.str4956)
|
|
%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 @.str4957)
|
|
%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 @.str4958)
|
|
%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 @.str4959)
|
|
%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 @.str4960)
|
|
%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 @.str4961)
|
|
store ptr %t222, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t223 = load ptr, ptr %t0
|
|
%t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str4962)
|
|
%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 @.str4963, 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 @.str4964)
|
|
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 @.str4965)
|
|
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 @.str4966)
|
|
store ptr %t263, ptr %t264
|
|
%t265 = load ptr, ptr %t254
|
|
%t266 = call ptr @fn_str_concat(ptr @.str4967, ptr %t265)
|
|
%t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str4968)
|
|
%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 @.str4969, ptr %t272)
|
|
%t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str4970)
|
|
%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 @.str4971, ptr %t277)
|
|
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str4972)
|
|
%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 @.str4973, ptr %t284)
|
|
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str4974)
|
|
%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 @.str4975, ptr %t289)
|
|
%t291 = call ptr @fn_str_concat(ptr %t290, ptr @.str4976)
|
|
%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 @.str4977, ptr %t296)
|
|
%t298 = call ptr @fn_str_concat(ptr %t297, ptr @.str4978)
|
|
%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 @.str4979)
|
|
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 @.str4980)
|
|
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 @.str4981)
|
|
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 @.str4982)
|
|
store ptr %t337, ptr %t338
|
|
%t339 = load ptr, ptr %t328
|
|
%t340 = call ptr @fn_str_concat(ptr @.str4983, 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 @.str4984, ptr %t343)
|
|
%t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str4985)
|
|
%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 @.str4986, ptr %t352)
|
|
%t354 = call ptr @fn_str_concat(ptr %t353, ptr @.str4987)
|
|
%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 @.str4988, ptr %t357)
|
|
%t359 = call ptr @fn_str_concat(ptr %t358, ptr @.str4989)
|
|
%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 @.str4990, 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 @.str4991, ptr %t368)
|
|
%t370 = call ptr @fn_str_concat(ptr %t369, ptr @.str4992)
|
|
%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 @.str4993, ptr %t377)
|
|
%t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str4994)
|
|
%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 @.str4995, ptr %t382)
|
|
%t384 = call ptr @fn_str_concat(ptr %t383, ptr @.str4996)
|
|
%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 @.str4997, 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 @.str4998, ptr %t393)
|
|
%t395 = call ptr @fn_str_concat(ptr %t394, ptr @.str4999)
|
|
%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 @.str5000, ptr %t402)
|
|
%t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str5001)
|
|
%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 @.str5002, ptr %t407)
|
|
%t409 = call ptr @fn_str_concat(ptr %t408, ptr @.str5003)
|
|
%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 @.str5004)
|
|
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 @.str5005)
|
|
%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 @.str5006)
|
|
%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 @.str5007)
|
|
%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 @.str5008)
|
|
%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 @.str5009)
|
|
%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 @.str5010)
|
|
%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 @.str5011)
|
|
%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 @.str5012)
|
|
%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 @.str5013)
|
|
%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 @.str5014)
|
|
%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 @.str5015)
|
|
%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 @.str5016)
|
|
%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 @.str5017)
|
|
%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 @.str5018)
|
|
%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 @.str5019)
|
|
%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 @.str5020)
|
|
%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 @.str5021)
|
|
%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 @.str5022)
|
|
%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 @.str5023)
|
|
%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 @.str5024)
|
|
%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 @.str5025)
|
|
%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 @.str5026)
|
|
%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 @.str5027)
|
|
%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 @.str5028)
|
|
%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 @.str5029)
|
|
%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 @.str5030)
|
|
%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 @.str5031)
|
|
%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 @.str5032)
|
|
%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 @.str5033)
|
|
%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 @.str5034)
|
|
%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 @.str5035)
|
|
%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 @.str5036)
|
|
%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 @.str5037)
|
|
%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 @.str5038)
|
|
%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 @.str5039)
|
|
%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 @.str5040)
|
|
%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 @.str5041)
|
|
%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 @.str5042)
|
|
%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 @.str5043)
|
|
%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 @.str5044)
|
|
%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 @.str5045)
|
|
%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 @.str5046)
|
|
%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 @.str5047)
|
|
%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 @.str5048)
|
|
%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 @.str5049)
|
|
%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 @.str5050)
|
|
%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 @.str5051)
|
|
%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 @.str5052)
|
|
%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 @.str5053)
|
|
%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 @.str5054)
|
|
%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 @.str5055)
|
|
%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 @.str5056)
|
|
%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 @.str5057)
|
|
%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 @.str5058)
|
|
%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 @.str5059)
|
|
%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 @.str5060)
|
|
%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 @.str5061)
|
|
%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 @.str5062)
|
|
%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 @.str5063)
|
|
%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 @.str5064)
|
|
%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 @.str5065)
|
|
%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 @.str5066)
|
|
%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 @.str5067)
|
|
%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 @.str5068)
|
|
%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 @.str5069)
|
|
%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 @.str5070)
|
|
%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 @.str5071)
|
|
%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 @.str5072)
|
|
%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 @.str5073)
|
|
%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 @.str5074)
|
|
%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 @.str5075)
|
|
%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 @.str5076)
|
|
%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 @.str5077)
|
|
%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 @.str5078)
|
|
%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 @.str5079)
|
|
%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 @.str5080)
|
|
%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 @.str5081)
|
|
%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 @.str5082)
|
|
%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 @.str5083)
|
|
%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 @.str5084)
|
|
%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 @.str5085)
|
|
%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 @.str5086)
|
|
%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 @.str5087)
|
|
%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 @.str5088)
|
|
%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 @.str5089)
|
|
%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 @.str5090)
|
|
%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 @.str5091)
|
|
%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 @.str5092)
|
|
%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 @.str5093)
|
|
%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 @.str5094)
|
|
%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 @.str5095)
|
|
%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 @.str5096)
|
|
%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 @.str5097)
|
|
%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 @.str5098)
|
|
%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 @.str5099)
|
|
%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 @.str5100)
|
|
%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 @.str5101)
|
|
%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 @.str5102)
|
|
%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 @.str5103)
|
|
%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 @.str5104)
|
|
%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 @.str5105)
|
|
%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 @.str5106)
|
|
%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 @.str5107)
|
|
%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 @.str5108)
|
|
%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 @.str5109)
|
|
%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 @.str5110)
|
|
%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 @.str5111)
|
|
%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 @.str5112)
|
|
%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 @.str5113)
|
|
%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 @.str5114)
|
|
%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 @.str5115)
|
|
%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 @.str5116)
|
|
%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 @.str5117)
|
|
%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 @.str5118)
|
|
%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 @.str5119)
|
|
%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 @.str5120)
|
|
%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 @.str5121)
|
|
%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 @.str5122)
|
|
%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 @.str5123)
|
|
%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 @.str5124)
|
|
%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 @.str5125)
|
|
%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 @.str5126)
|
|
%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 @.str5127)
|
|
%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 @.str5128)
|
|
%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 @.str5129)
|
|
%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 @.str5130)
|
|
%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 @.str5131)
|
|
%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 @.str5132)
|
|
%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 @.str5133)
|
|
%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 @.str5134)
|
|
%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 @.str5135)
|
|
%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 @.str5136)
|
|
%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 @.str5137)
|
|
%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 @.str5138)
|
|
%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 @.str5139)
|
|
%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 @.str5140)
|
|
%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 @.str5141)
|
|
%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 @.str5142)
|
|
%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 @.str5143)
|
|
%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 @.str5144)
|
|
%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 @.str5145)
|
|
%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 @.str5146)
|
|
%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 @.str5147)
|
|
%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 @.str5148)
|
|
%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 @.str5149)
|
|
%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 @.str5150)
|
|
%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 @.str5151)
|
|
%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 @.str5152)
|
|
%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 @.str5153)
|
|
%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 @.str5154)
|
|
%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 @.str5155)
|
|
%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 @.str5156)
|
|
%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 @.str5157)
|
|
%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 @.str5158)
|
|
%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 @.str5159)
|
|
%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 @.str5160)
|
|
%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 @.str5161)
|
|
%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 @.str5162)
|
|
%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 @.str5163)
|
|
%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 @.str5164)
|
|
%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 @.str5165)
|
|
%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 @.str5166)
|
|
%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 @.str5167)
|
|
%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 @.str5168)
|
|
%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 @.str5169)
|
|
%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 @.str5170)
|
|
%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 @.str5171)
|
|
%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 @.str5172)
|
|
%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 @.str5173)
|
|
%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 @.str5174)
|
|
%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 @.str5175)
|
|
%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 @.str5176)
|
|
%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 @.str5177)
|
|
%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 @.str5178)
|
|
%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 @.str5179)
|
|
%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 @.str5180)
|
|
%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 @.str5181)
|
|
%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 @.str5182)
|
|
%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 @.str5183)
|
|
%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 @.str5184)
|
|
%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 @.str5185)
|
|
%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 @.str5186)
|
|
%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 @.str5187)
|
|
%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 @.str5188)
|
|
%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 @.str5189)
|
|
%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 @.str5190)
|
|
%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 @.str5191)
|
|
%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 @.str5192)
|
|
%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 @.str5193)
|
|
%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 @.str5194)
|
|
%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 @.str5195)
|
|
%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 @.str5196)
|
|
%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 @.str5197)
|
|
%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 @.str5198)
|
|
%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 @.str5199)
|
|
%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 @.str5200)
|
|
%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 @.str5201)
|
|
%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 @.str5202)
|
|
%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 @.str5203)
|
|
%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 @.str5204)
|
|
%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 @.str5205)
|
|
%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 @.str5206)
|
|
%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 @.str5207)
|
|
%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 @.str5208)
|
|
%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 @.str5209)
|
|
%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 @.str5210)
|
|
%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 @.str5211)
|
|
%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 @.str5212)
|
|
%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 @.str5213)
|
|
%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 @.str5214)
|
|
%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 @.str5215)
|
|
%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 @.str5216)
|
|
%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 @.str5217)
|
|
%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 @.str5218)
|
|
%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 @.str5219)
|
|
%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 @.str5220)
|
|
%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 @.str5221)
|
|
%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 @.str5222)
|
|
%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 @.str5223)
|
|
%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 @.str5224)
|
|
%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 @.str5225)
|
|
%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 @.str5226, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str5227)
|
|
%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 @.str5228, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str5229)
|
|
%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_rec_field(ptr %arg_rec, ptr %arg_fname) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t6 = alloca i32
|
|
%t24 = alloca ptr
|
|
store ptr %arg_rec, ptr %t0
|
|
store ptr %arg_fname, 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:
|
|
store i32 0, ptr %t6
|
|
br label %wcond3
|
|
wcond3:
|
|
%t7 = load i32, ptr %t6
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
|
|
%t12 = load i32, ptr %t11
|
|
%t13 = icmp slt i32 %t7, %t12
|
|
%t14 = zext i1 %t13 to i32
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t16 = load ptr, ptr %t0
|
|
%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 %t6
|
|
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
|
|
%t23 = load ptr, ptr %t22
|
|
store ptr %t23, ptr %t24
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = load ptr, ptr %t1
|
|
%t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then6, label %ifend8
|
|
then6:
|
|
%t31 = load ptr, ptr %t24
|
|
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4
|
|
%t33 = load ptr, ptr %t32
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t34 = load i32, ptr %t6
|
|
%t35 = add i32 %t34, 1
|
|
store i32 %t35, ptr %t6
|
|
br label %wcond3
|
|
wend5:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t36 = load ptr, ptr %retval
|
|
ret ptr %t36
|
|
}
|
|
|
|
define ptr @fn_emit_new_struct(ptr %arg_name, ptr %arg_rec) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t20 = alloca i32
|
|
%t38 = alloca ptr
|
|
%t40 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t51 = alloca ptr
|
|
%t65 = alloca ptr
|
|
%t74 = alloca ptr
|
|
%t81 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
store ptr %arg_rec, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_layout_node(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:
|
|
call void @fn_perr(ptr @.str5230)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = call ptr @fn_layout_ty(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = call ptr @fn_emit_sizeof(ptr %t12)
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call ptr @fn_str_concat(ptr @.str5231, ptr %t15)
|
|
%t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5232)
|
|
%t18 = call ptr @fn_emit_bind(ptr %t17)
|
|
store ptr %t18, ptr %t19
|
|
store i32 0, ptr %t20
|
|
br label %wcond3
|
|
wcond3:
|
|
%t21 = load i32, ptr %t20
|
|
%t22 = load ptr, ptr %t4
|
|
%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 1
|
|
%t26 = load i32, ptr %t25
|
|
%t27 = icmp slt i32 %t21, %t26
|
|
%t28 = zext i1 %t27 to i32
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t30 = load ptr, ptr %t4
|
|
%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 %t20
|
|
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
|
|
%t37 = load ptr, ptr %t36
|
|
store ptr %t37, ptr %t38
|
|
%t39 = call ptr @fn_nreg()
|
|
store ptr %t39, ptr %t40
|
|
call void @fn_emit(ptr @.str5233)
|
|
%t41 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str5234)
|
|
%t42 = load ptr, ptr %t11
|
|
call void @fn_emit(ptr %t42)
|
|
call void @fn_emit(ptr @.str5235)
|
|
%t43 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t43)
|
|
call void @fn_emit(ptr @.str5236)
|
|
%t44 = load i32, ptr %t20
|
|
%t45 = call ptr @fn_itoa(i32 %t44)
|
|
call void @fn_emit(ptr %t45)
|
|
call void @fn_emit(ptr @.str5237)
|
|
%t46 = load ptr, ptr %t38
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = call ptr @fn_llty(ptr %t48)
|
|
store ptr %t49, ptr %t50
|
|
store ptr @.str5238, ptr %t51
|
|
%t52 = load ptr, ptr %t50
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5239)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str5240, ptr %t51
|
|
br label %ifend8
|
|
ifend8:
|
|
%t55 = load ptr, ptr %t38
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = icmp ne ptr %t57, null
|
|
%t59 = zext i1 %t58 to i32
|
|
%t60 = icmp ne i32 %t59, 0
|
|
br i1 %t60, label %then9, label %ifend11
|
|
then9:
|
|
%t61 = load ptr, ptr %t38
|
|
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4
|
|
%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
|
|
store ptr %t68, ptr %t51
|
|
br label %ifend11
|
|
ifend11:
|
|
%t69 = load ptr, ptr %t1
|
|
%t70 = load ptr, ptr %t38
|
|
%t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1
|
|
%t72 = load ptr, ptr %t71
|
|
%t73 = call ptr @fn_rec_field(ptr %t69, ptr %t72)
|
|
store ptr %t73, ptr %t74
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = icmp ne ptr %t75, null
|
|
%t77 = zext i1 %t76 to i32
|
|
%t78 = icmp ne i32 %t77, 0
|
|
br i1 %t78, label %then12, label %ifend14
|
|
then12:
|
|
%t79 = load ptr, ptr %t74
|
|
%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
|
|
store ptr %t84, ptr %t51
|
|
br label %ifend14
|
|
ifend14:
|
|
call void @fn_emit(ptr @.str5241)
|
|
%t85 = load ptr, ptr %t50
|
|
call void @fn_emit(ptr %t85)
|
|
call void @fn_emit(ptr @.str5242)
|
|
%t86 = load ptr, ptr %t51
|
|
call void @fn_emit(ptr %t86)
|
|
call void @fn_emit(ptr @.str5243)
|
|
%t87 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t87)
|
|
call void @fn_emit(ptr @.str5244)
|
|
%t88 = load i32, ptr %t20
|
|
%t89 = add i32 %t88, 1
|
|
store i32 %t89, ptr %t20
|
|
br label %wcond3
|
|
wend5:
|
|
%t90 = load ptr, ptr %t19
|
|
%t91 = load ptr, ptr %t0
|
|
%t92 = call ptr @fn_val(ptr %t90, ptr %t91)
|
|
store ptr %t92, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t93 = load ptr, ptr %retval
|
|
ret ptr %t93
|
|
}
|
|
|
|
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 @.str5245)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_str_concat(ptr @.str5246, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5247)
|
|
%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 @.str5248)
|
|
%t10 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t10)
|
|
call void @fn_emit(ptr @.str5249)
|
|
%t11 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t11)
|
|
call void @fn_emit(ptr @.str5250)
|
|
call void @fn_emit(ptr @.str5251)
|
|
%t12 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t12)
|
|
call void @fn_emit(ptr @.str5252)
|
|
%t13 = call ptr @fn_nreg()
|
|
store ptr %t13, ptr %t14
|
|
call void @fn_emit(ptr @.str5253)
|
|
%t15 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t15)
|
|
call void @fn_emit(ptr @.str5254)
|
|
%t16 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str5255)
|
|
call void @fn_emit(ptr @.str5256)
|
|
%t17 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str5257)
|
|
%t18 = call ptr @fn_nreg()
|
|
store ptr %t18, ptr %t19
|
|
call void @fn_emit(ptr @.str5258)
|
|
%t20 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str5259)
|
|
%t21 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str5260)
|
|
call void @fn_emit(ptr @.str5261)
|
|
%t22 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t22)
|
|
call void @fn_emit(ptr @.str5262)
|
|
%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 @.str5263)
|
|
%t4 = load ptr, ptr %t3
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str5264)
|
|
%t5 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t5)
|
|
call void @fn_emit(ptr @.str5265)
|
|
%t6 = load i32, ptr %t1
|
|
%t7 = call ptr @fn_itoa(i32 %t6)
|
|
call void @fn_emit(ptr %t7)
|
|
call void @fn_emit(ptr @.str5266)
|
|
%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 @.str5267, ptr %t20)
|
|
%t22 = call ptr @fn_emit_bind(ptr %t21)
|
|
%t23 = call ptr @fn_val(ptr %t22, ptr @.str5268)
|
|
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 @.str5269, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str5270)
|
|
%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 @.str5271, ptr %t31)
|
|
%t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str5272)
|
|
%t34 = call ptr @fn_emit_bind(ptr %t33)
|
|
%t35 = call ptr @fn_val(ptr %t34, ptr @.str5273)
|
|
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 @.str5274, 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 @.str5275, 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 @.str5276, ptr %t39)
|
|
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5277)
|
|
%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 @.str5278)
|
|
store ptr %t46, ptr %t47
|
|
%t48 = call ptr @fn_lbl(ptr @.str5279)
|
|
store ptr %t48, ptr %t49
|
|
call void @fn_emit(ptr @.str5280)
|
|
%t50 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str5281)
|
|
%t51 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str5282)
|
|
%t52 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t52)
|
|
call void @fn_emit(ptr @.str5283)
|
|
%t53 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str5284)
|
|
%t54 = load ptr, ptr %t38
|
|
%t55 = call ptr @fn_str_concat(ptr @.str5285, ptr %t54)
|
|
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str5286)
|
|
%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 @.str5287, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str5288)
|
|
%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 @.str5289, ptr %t64)
|
|
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str5290)
|
|
%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 @.str5291, ptr %t74)
|
|
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str5292)
|
|
%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 @.str5293, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str5294)
|
|
%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 @.str5295, 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 @.str5296, ptr %t90)
|
|
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str5297)
|
|
%t93 = load ptr, ptr %t85
|
|
%t94 = call ptr @fn_str_concat(ptr %t92, ptr %t93)
|
|
%t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str5298)
|
|
%t96 = call ptr @fn_emit_bind(ptr %t95)
|
|
store ptr %t96, ptr %t97
|
|
call void @fn_emit(ptr @.str5299)
|
|
%t98 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t98)
|
|
call void @fn_emit(ptr @.str5300)
|
|
%t99 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t99)
|
|
call void @fn_emit(ptr @.str5301)
|
|
call void @fn_emit(ptr @.str5302)
|
|
%t100 = load ptr, ptr %t70
|
|
call void @fn_emit(ptr %t100)
|
|
call void @fn_emit(ptr @.str5303)
|
|
%t101 = load ptr, ptr %t27
|
|
call void @fn_emit(ptr %t101)
|
|
call void @fn_emit(ptr @.str5304)
|
|
call void @fn_emit(ptr @.str5305)
|
|
%t102 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t102)
|
|
call void @fn_emit(ptr @.str5306)
|
|
%t103 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str5307)
|
|
%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 @.str5308, 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 @.str5309)
|
|
%t119 = load ptr, ptr %t118
|
|
call void @fn_emit(ptr %t119)
|
|
call void @fn_emit(ptr @.str5310)
|
|
%t120 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t120)
|
|
call void @fn_emit(ptr @.str5311)
|
|
%t121 = load ptr, ptr %t116
|
|
call void @fn_emit(ptr %t121)
|
|
call void @fn_emit(ptr @.str5312)
|
|
%t122 = load ptr, ptr %t34
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str5313)
|
|
call void @fn_emit(ptr @.str5314)
|
|
%t123 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t123)
|
|
call void @fn_emit(ptr @.str5315)
|
|
%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 @.str5316)
|
|
%t127 = load ptr, ptr %t118
|
|
call void @fn_emit(ptr %t127)
|
|
call void @fn_emit(ptr @.str5317)
|
|
%t128 = load ptr, ptr %t34
|
|
%t129 = call ptr @fn_str_concat(ptr @.str5318, ptr %t128)
|
|
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str5319)
|
|
%t131 = call ptr @fn_emit_bind(ptr %t130)
|
|
store ptr %t131, ptr %t132
|
|
call void @fn_emit(ptr @.str5320)
|
|
%t133 = load ptr, ptr %t132
|
|
call void @fn_emit(ptr %t133)
|
|
call void @fn_emit(ptr @.str5321)
|
|
%t134 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t134)
|
|
call void @fn_emit(ptr @.str5322)
|
|
%t135 = call ptr @fn_val(ptr @.str5323, ptr @.str5324)
|
|
store ptr %t135, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t136 = load ptr, ptr %retval
|
|
ret ptr %t136
|
|
}
|
|
|
|
define void @fn_emit_try_body(ptr %arg_b, ptr %arg_slot) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t22 = alloca ptr
|
|
%t23 = alloca i32
|
|
%t51 = alloca ptr
|
|
store ptr %arg_b, ptr %t0
|
|
store ptr %arg_slot, 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 i32, ptr @g_g_term
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then3, label %ifend5
|
|
then3:
|
|
br label %ret
|
|
ifend5:
|
|
%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 %t2
|
|
%t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19
|
|
%t21 = load ptr, ptr %t20
|
|
store ptr %t21, ptr %t22
|
|
%t24 = load i32, ptr %t2
|
|
%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 1
|
|
%t29 = load i32, ptr %t28
|
|
%t30 = sub i32 %t29, 1
|
|
%t31 = icmp eq i32 %t24, %t30
|
|
%t32 = zext i1 %t31 to i32
|
|
%t33 = icmp ne i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
store i32 %t34, ptr %t23
|
|
br i1 %t33, label %sc6, label %scend7
|
|
sc6:
|
|
%t35 = load ptr, ptr %t22
|
|
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0
|
|
%t37 = load i32, ptr %t36
|
|
%t38 = icmp eq i32 %t37, 16
|
|
%t39 = zext i1 %t38 to i32
|
|
%t40 = icmp ne i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
store i32 %t41, ptr %t23
|
|
br label %scend7
|
|
scend7:
|
|
%t42 = load i32, ptr %t23
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then8, label %else9
|
|
then8:
|
|
%t44 = load ptr, ptr %t22
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 8
|
|
%t46 = load i32, ptr %t45
|
|
call void @fn_emit_cov_hit(i32 %t46)
|
|
%t47 = load ptr, ptr %t22
|
|
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = call ptr @fn_emit_expr(ptr %t49)
|
|
store ptr %t50, ptr %t51
|
|
%t52 = load ptr, ptr %t51
|
|
%t53 = call ptr @fn_coerce_code(ptr %t52, ptr @.str5326)
|
|
%t54 = call ptr @fn_str_concat(ptr @.str5325, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5327)
|
|
%t56 = load ptr, ptr %t1
|
|
%t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5328)
|
|
call void @fn_emit(ptr %t58)
|
|
br label %ifend10
|
|
else9:
|
|
%t59 = load ptr, ptr %t22
|
|
call void @fn_emit_stmt(ptr %t59)
|
|
br label %ifend10
|
|
ifend10:
|
|
%t60 = load i32, ptr %t2
|
|
%t61 = add i32 %t60, 1
|
|
store i32 %t61, ptr %t2
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_emit_try(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t24 = alloca ptr
|
|
%t34 = alloca ptr
|
|
%t38 = alloca ptr
|
|
%t43 = alloca ptr
|
|
%t45 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t67 = alloca ptr
|
|
%t71 = alloca ptr
|
|
%t89 = alloca ptr
|
|
%t93 = alloca ptr
|
|
%t95 = alloca ptr
|
|
%t103 = alloca i32
|
|
store ptr %arg_e, ptr %t0
|
|
store i32 1, ptr @g_g_uses_result
|
|
%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_str_eq(ptr %t8, ptr @.str5329)
|
|
%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 %t5
|
|
%t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call ptr @fn_str_concat(ptr @.str5330, ptr %t15)
|
|
%t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5331)
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 8
|
|
%t20 = load i32, ptr %t19
|
|
%t21 = call ptr @fn_itoa(i32 %t20)
|
|
%t22 = call ptr @fn_str_concat(ptr %t17, ptr %t21)
|
|
call void @fn_perr(ptr %t22)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t23 = call ptr @fn_emit_alloca(ptr @.str5332)
|
|
store ptr %t23, ptr %t24
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_str_concat(ptr @.str5333, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5334)
|
|
call void @fn_emit(ptr %t27)
|
|
%t28 = load ptr, ptr %t5
|
|
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_str_concat(ptr @.str5335, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5336)
|
|
%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 @.str5337, ptr %t35)
|
|
%t37 = call ptr @fn_emit_bind(ptr %t36)
|
|
store ptr %t37, ptr %t38
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = call ptr @fn_str_concat(ptr @.str5338, ptr %t39)
|
|
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5339)
|
|
%t42 = call ptr @fn_emit_bind(ptr %t41)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = call ptr @fn_lbl(ptr @.str5340)
|
|
store ptr %t44, ptr %t45
|
|
%t46 = call ptr @fn_lbl(ptr @.str5341)
|
|
store ptr %t46, ptr %t47
|
|
%t48 = call ptr @fn_lbl(ptr @.str5342)
|
|
store ptr %t48, ptr %t49
|
|
%t50 = load ptr, ptr %t43
|
|
%t51 = call ptr @fn_str_concat(ptr @.str5343, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5344)
|
|
%t53 = load ptr, ptr %t45
|
|
%t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5345)
|
|
%t56 = load ptr, ptr %t47
|
|
%t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5346)
|
|
call void @fn_emit(ptr %t58)
|
|
%t59 = load ptr, ptr %t45
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str5347)
|
|
call void @fn_emit(ptr %t60)
|
|
store i32 0, ptr @g_g_term
|
|
%t61 = load ptr, ptr %t5
|
|
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = call ptr @fn_str_concat(ptr @.str5348, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str5349)
|
|
%t66 = call ptr @fn_emit_bind(ptr %t65)
|
|
store ptr %t66, ptr %t67
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = call ptr @fn_str_concat(ptr @.str5350, ptr %t68)
|
|
%t70 = call ptr @fn_emit_bind(ptr %t69)
|
|
store ptr %t70, ptr %t71
|
|
%t72 = load ptr, ptr %t71
|
|
%t73 = call ptr @fn_str_concat(ptr @.str5351, ptr %t72)
|
|
%t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str5352)
|
|
%t75 = load ptr, ptr %t24
|
|
%t76 = call ptr @fn_str_concat(ptr %t74, ptr %t75)
|
|
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str5353)
|
|
call void @fn_emit(ptr %t77)
|
|
%t78 = load ptr, ptr %t49
|
|
%t79 = call ptr @fn_str_concat(ptr @.str5354, ptr %t78)
|
|
%t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str5355)
|
|
call void @fn_emit(ptr %t80)
|
|
%t81 = load ptr, ptr %t47
|
|
%t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str5356)
|
|
call void @fn_emit(ptr %t82)
|
|
store i32 0, ptr @g_g_term
|
|
%t83 = load ptr, ptr %t5
|
|
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = call ptr @fn_str_concat(ptr @.str5357, ptr %t85)
|
|
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str5358)
|
|
%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 @.str5359, ptr %t90)
|
|
%t92 = call ptr @fn_emit_bind(ptr %t91)
|
|
store ptr %t92, ptr %t93
|
|
%t94 = call ptr @fn_emit_alloca(ptr @.str5360)
|
|
store ptr %t94, ptr %t95
|
|
%t96 = load ptr, ptr %t93
|
|
%t97 = call ptr @fn_str_concat(ptr @.str5361, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str5362)
|
|
%t99 = load ptr, ptr %t95
|
|
%t100 = call ptr @fn_str_concat(ptr %t98, ptr %t99)
|
|
%t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str5363)
|
|
call void @fn_emit(ptr %t101)
|
|
%t102 = load i32, ptr @g_nloc
|
|
store i32 %t102, ptr %t103
|
|
%t104 = load ptr, ptr %t95
|
|
call void @fn_loc_push(ptr @.str5364, ptr %t104, ptr @.str5365)
|
|
%t105 = load ptr, ptr %t0
|
|
%t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 5
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = load ptr, ptr %t24
|
|
call void @fn_emit_try_body(ptr %t107, ptr %t108)
|
|
%t109 = load i32, ptr %t103
|
|
store i32 %t109, ptr @g_nloc
|
|
%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 %then3, label %ifend5
|
|
then3:
|
|
%t114 = load ptr, ptr %t49
|
|
%t115 = call ptr @fn_str_concat(ptr @.str5366, ptr %t114)
|
|
%t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str5367)
|
|
call void @fn_emit(ptr %t116)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t117 = load ptr, ptr %t49
|
|
%t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str5368)
|
|
call void @fn_emit(ptr %t118)
|
|
store i32 0, ptr @g_g_term
|
|
%t119 = load ptr, ptr %t24
|
|
%t120 = call ptr @fn_str_concat(ptr @.str5369, ptr %t119)
|
|
%t121 = call ptr @fn_emit_bind(ptr %t120)
|
|
%t122 = call ptr @fn_val(ptr %t121, ptr @.str5370)
|
|
store ptr %t122, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t123 = load ptr, ptr %retval
|
|
ret ptr %t123
|
|
}
|
|
|
|
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 @.str5371, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5372)
|
|
%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 @.str5373)
|
|
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 @.str5374, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5375)
|
|
%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 @.str5376, ptr %t15)
|
|
%t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5377)
|
|
%t18 = call ptr @fn_emit_bind(ptr %t17)
|
|
store ptr %t18, ptr %t19
|
|
call void @fn_emit(ptr @.str5378)
|
|
%t20 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str5379)
|
|
%t21 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str5380)
|
|
%t22 = call ptr @fn_lbl(ptr @.str5381)
|
|
store ptr %t22, ptr %t23
|
|
%t24 = call ptr @fn_lbl(ptr @.str5382)
|
|
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 @.str5383)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then0, label %else1
|
|
then0:
|
|
call void @fn_emit(ptr @.str5384)
|
|
%t31 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str5385)
|
|
%t32 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str5386)
|
|
%t33 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str5387)
|
|
br label %ifend2
|
|
else1:
|
|
call void @fn_emit(ptr @.str5388)
|
|
%t34 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str5389)
|
|
%t35 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str5390)
|
|
%t36 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t36)
|
|
call void @fn_emit(ptr @.str5391)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t37 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t37)
|
|
call void @fn_emit(ptr @.str5392)
|
|
%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 @.str5393, ptr %t45)
|
|
%t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str5394)
|
|
%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 @.str5395, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5396)
|
|
%t53 = call ptr @fn_emit_bind(ptr %t52)
|
|
store ptr %t53, ptr %t54
|
|
call void @fn_emit(ptr @.str5397)
|
|
%t55 = load ptr, ptr %t54
|
|
call void @fn_emit(ptr %t55)
|
|
call void @fn_emit(ptr @.str5398)
|
|
%t56 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t56)
|
|
call void @fn_emit(ptr @.str5399)
|
|
call void @fn_emit(ptr @.str5400)
|
|
%t57 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t57)
|
|
call void @fn_emit(ptr @.str5401)
|
|
%t58 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t58)
|
|
call void @fn_emit(ptr @.str5402)
|
|
%t59 = load ptr, ptr %t2
|
|
%t60 = call ptr @fn_str_concat(ptr @.str5403, ptr %t59)
|
|
%t61 = call ptr @fn_emit_bind(ptr %t60)
|
|
%t62 = call ptr @fn_val(ptr %t61, ptr @.str5404)
|
|
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 @.str5405)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store ptr @.str5406, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5407)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then3, label %ifend5
|
|
then3:
|
|
store ptr @.str5408, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5409)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str5410, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5411)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str5412, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5413)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str5414, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
store ptr @.str5415, 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 @.str5416)
|
|
%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 @.str5417)
|
|
%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 @.str5418)
|
|
%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 @.str5419)
|
|
%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 @.str5420)
|
|
%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 @.str5421)
|
|
%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 @.str5422)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store ptr @.str5423, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5424)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then3, label %ifend5
|
|
then3:
|
|
store ptr @.str5425, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5426)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str5427, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5428)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str5429, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5430)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str5431, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5432)
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then15, label %ifend17
|
|
then15:
|
|
store ptr @.str5433, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5434)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then18, label %ifend20
|
|
then18:
|
|
store ptr @.str5435, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5436)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then21, label %ifend23
|
|
then21:
|
|
store ptr @.str5437, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5438)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then24, label %ifend26
|
|
then24:
|
|
store ptr @.str5439, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
store ptr @.str5440, 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 @.str5441)
|
|
%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 @.str5442, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5443)
|
|
%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 @.str5444)
|
|
%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 @.str5445)
|
|
%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 @.str5446, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5447)
|
|
%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 @.str5448)
|
|
%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 @.str5449)
|
|
%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 @.str5450, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str5451)
|
|
%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 @.str5452)
|
|
%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 @.str5453, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str5454)
|
|
%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 @.str5455)
|
|
%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 @.str5456, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5457)
|
|
%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 @.str5458)
|
|
%t16 = call ptr @fn_emit_bind(ptr %t15)
|
|
%t17 = call ptr @fn_val(ptr %t16, ptr @.str5459)
|
|
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 @.str5460, ptr %t20)
|
|
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5461)
|
|
%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 @.str5462)
|
|
%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 @.str5463)
|
|
%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 @.str5464, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str5465)
|
|
%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 @.str5466, ptr %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str5467)
|
|
%t41 = call ptr @fn_emit_bind(ptr %t40)
|
|
%t42 = call ptr @fn_val(ptr %t41, ptr @.str5468)
|
|
store ptr %t42, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t43 = load ptr, ptr %t29
|
|
%t44 = call ptr @fn_val(ptr %t43, ptr @.str5469)
|
|
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 @.str5470)
|
|
%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 @.str5471)
|
|
%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 @.str5472)
|
|
%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 @.str5473)
|
|
%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 @.str5474)
|
|
%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 @.str5475, 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 @.str5476)
|
|
%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 @.str5477)
|
|
%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 @.str5478)
|
|
%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 @.str5479)
|
|
%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 @.str5480)
|
|
%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 @.str5481)
|
|
%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 @.str5482, 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 @.str5483, 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 @.str5484)
|
|
%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 @.str5485)
|
|
%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 @.str5486, 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 @.str5487, ptr %t202)
|
|
%t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str5488)
|
|
%t205 = load ptr, ptr %t169
|
|
%t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205)
|
|
%t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str5489)
|
|
%t208 = load ptr, ptr %t164
|
|
%t209 = call ptr @fn_str_concat(ptr %t207, ptr %t208)
|
|
%t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str5490)
|
|
%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 @.str5491, ptr %t215)
|
|
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str5492)
|
|
%t218 = call ptr @fn_emit_bind(ptr %t217)
|
|
%t219 = call ptr @fn_val(ptr %t218, ptr @.str5493)
|
|
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 @.str5494)
|
|
%t233 = load ptr, ptr %t224
|
|
%t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233)
|
|
%t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str5495)
|
|
%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 @.str5496)
|
|
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 @.str5497)
|
|
%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 @.str5498, ptr %t253)
|
|
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str5499)
|
|
%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 @.str5500, ptr %t258)
|
|
%t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str5501)
|
|
%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 @.str5502, ptr %t263)
|
|
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str5503)
|
|
%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 @.str5504, ptr %t270)
|
|
%t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str5505)
|
|
%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 @.str5506, ptr %t275)
|
|
%t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str5507)
|
|
%t278 = call ptr @fn_emit_bind(ptr %t277)
|
|
%t279 = call ptr @fn_val(ptr %t278, ptr @.str5508)
|
|
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 @.str5509)
|
|
%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 @.str5510, ptr %t285)
|
|
%t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str5511)
|
|
%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 @.str5512, ptr %t290)
|
|
%t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str5513)
|
|
%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 @.str5514, ptr %t295)
|
|
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str5515)
|
|
%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 @.str5516, ptr %t300)
|
|
%t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str5517)
|
|
%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 @.str5518, ptr %t307)
|
|
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str5519)
|
|
%t310 = call ptr @fn_emit_bind(ptr %t309)
|
|
%t311 = call ptr @fn_val(ptr %t310, ptr @.str5520)
|
|
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 @.str5521)
|
|
%t317 = load ptr, ptr %t244
|
|
%t318 = call ptr @fn_str_concat(ptr %t316, ptr %t317)
|
|
%t319 = call ptr @fn_str_concat(ptr %t318, ptr @.str5522)
|
|
%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 @.str5523)
|
|
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 @.str5524)
|
|
%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 @.str5525)
|
|
%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 @.str5526)
|
|
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 @.str5527)
|
|
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 @.str5528)
|
|
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 @.str5529, 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 void @fn_emit_expect_fail(ptr %arg_cond1, ptr %arg_msgsym, ptr %arg_got, ptr %arg_want) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t7 = alloca ptr
|
|
store ptr %arg_cond1, ptr %t0
|
|
store ptr %arg_msgsym, ptr %t1
|
|
store ptr %arg_got, ptr %t2
|
|
store ptr %arg_want, ptr %t3
|
|
%t4 = call ptr @fn_lbl(ptr @.str5530)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_lbl(ptr @.str5531)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call ptr @fn_str_concat(ptr @.str5532, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5533)
|
|
%t11 = load ptr, ptr %t5
|
|
%t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5534)
|
|
%t14 = load ptr, ptr %t7
|
|
%t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str5535)
|
|
call void @fn_emit(ptr %t16)
|
|
%t17 = load ptr, ptr %t7
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str5536)
|
|
call void @fn_emit(ptr %t18)
|
|
call void @fn_emit(ptr @.str5537)
|
|
%t19 = load ptr, ptr %t2
|
|
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5538)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then0, label %else1
|
|
then0:
|
|
%t22 = load ptr, ptr %t1
|
|
%t23 = call ptr @fn_str_concat(ptr @.str5539, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str5540)
|
|
call void @fn_emit(ptr %t24)
|
|
br label %ifend2
|
|
else1:
|
|
%t25 = load ptr, ptr %t1
|
|
%t26 = call ptr @fn_str_concat(ptr @.str5541, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5542)
|
|
%t28 = load ptr, ptr %t2
|
|
%t29 = call ptr @fn_str_concat(ptr %t27, ptr %t28)
|
|
%t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str5543)
|
|
%t31 = load ptr, ptr %t3
|
|
%t32 = call ptr @fn_str_concat(ptr %t30, ptr %t31)
|
|
%t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str5544)
|
|
call void @fn_emit(ptr %t33)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t34 = load ptr, ptr %t5
|
|
%t35 = call ptr @fn_str_concat(ptr @.str5545, ptr %t34)
|
|
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str5546)
|
|
call void @fn_emit(ptr %t36)
|
|
%t37 = load ptr, ptr %t5
|
|
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str5547)
|
|
call void @fn_emit(ptr %t38)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
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
|
|
%t278 = alloca ptr
|
|
%t285 = alloca ptr
|
|
%t4674 = 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 @.str5548)
|
|
%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 @.str5549, 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 @.str5550)
|
|
%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 @.str5551, 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 @.str5552)
|
|
%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 @.str5553, 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 @.str5554)
|
|
%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 @.str5555, 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 @.str5556)
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then24, label %ifend26
|
|
then24:
|
|
%t50 = load ptr, ptr %t1
|
|
%t51 = call i32 @fn_is_anim_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_anim_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 @.str5557, 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 @.str5558)
|
|
%t60 = icmp ne i32 %t59, 0
|
|
br i1 %t60, label %then30, label %ifend32
|
|
then30:
|
|
%t61 = load ptr, ptr %t1
|
|
%t62 = call i32 @fn_is_tween_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_tween_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 @.str5559, 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 @.str5560)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then36, label %ifend38
|
|
then36:
|
|
%t72 = load ptr, ptr %t1
|
|
%t73 = call i32 @fn_is_collide_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_collide_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 @.str5561, 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 @.str5562)
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %then42, label %ifend44
|
|
then42:
|
|
%t83 = load ptr, ptr %t1
|
|
%t84 = call i32 @fn_is_mem_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_mem_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 @.str5563, 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 @.str5564)
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then48, label %ifend50
|
|
then48:
|
|
%t94 = load ptr, ptr %t1
|
|
%t95 = call i32 @fn_is_colorfn_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_colorfn_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 @.str5565, 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 @.str5566)
|
|
%t104 = icmp ne i32 %t103, 0
|
|
br i1 %t104, label %then54, label %ifend56
|
|
then54:
|
|
%t105 = load ptr, ptr %t1
|
|
%t106 = call i32 @fn_is_time_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_time_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 @.str5567, 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 @.str5568)
|
|
%t115 = icmp ne i32 %t114, 0
|
|
br i1 %t115, label %then60, label %ifend62
|
|
then60:
|
|
%t116 = load ptr, ptr %t1
|
|
%t117 = call i32 @fn_is_hash_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_hash_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 @.str5569, 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 @.str5570)
|
|
%t126 = icmp ne i32 %t125, 0
|
|
br i1 %t126, label %then66, label %ifend68
|
|
then66:
|
|
%t127 = load ptr, ptr %t1
|
|
%t128 = call i32 @fn_is_crypto_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_crypto_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 @.str5571, 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 @.str5572)
|
|
%t137 = icmp ne i32 %t136, 0
|
|
br i1 %t137, label %then72, label %ifend74
|
|
then72:
|
|
%t138 = load ptr, ptr %t1
|
|
%t139 = call i32 @fn_is_uuid_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_uuid_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 @.str5573, 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 @.str5574)
|
|
%t148 = icmp ne i32 %t147, 0
|
|
br i1 %t148, label %then78, label %ifend80
|
|
then78:
|
|
%t149 = load ptr, ptr %t1
|
|
%t150 = call i32 @fn_is_noise_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_noise_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 @.str5575, 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 @.str5576)
|
|
%t159 = icmp ne i32 %t158, 0
|
|
br i1 %t159, label %then84, label %ifend86
|
|
then84:
|
|
%t160 = load ptr, ptr %t1
|
|
%t161 = call i32 @fn_is_log_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_log_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 @.str5577, ptr %t166)
|
|
call void @fn_perr(ptr %t167)
|
|
br label %ifend86
|
|
ifend86:
|
|
%t168 = load ptr, ptr %t0
|
|
%t169 = call i32 @fn_str_eq(ptr %t168, ptr @.str5578)
|
|
%t170 = icmp ne i32 %t169, 0
|
|
br i1 %t170, label %then90, label %ifend92
|
|
then90:
|
|
%t171 = load ptr, ptr %t1
|
|
%t172 = call i32 @fn_is_os_ns(ptr %t171)
|
|
%t173 = icmp ne i32 %t172, 0
|
|
br i1 %t173, label %then93, label %ifend95
|
|
then93:
|
|
%t174 = load ptr, ptr %t1
|
|
%t175 = load ptr, ptr %t2
|
|
%t176 = call ptr @fn_emit_os_ns(ptr %t174, ptr %t175)
|
|
store ptr %t176, ptr %retval
|
|
br label %ret
|
|
ifend95:
|
|
%t177 = load ptr, ptr %t1
|
|
%t178 = call ptr @fn_str_concat(ptr @.str5579, ptr %t177)
|
|
call void @fn_perr(ptr %t178)
|
|
br label %ifend92
|
|
ifend92:
|
|
%t179 = load ptr, ptr %t0
|
|
%t180 = call i32 @fn_str_eq(ptr %t179, ptr @.str5580)
|
|
%t181 = icmp ne i32 %t180, 0
|
|
br i1 %t181, label %then96, label %ifend98
|
|
then96:
|
|
%t182 = load ptr, ptr %t1
|
|
%t183 = call i32 @fn_is_unicode_ns(ptr %t182)
|
|
%t184 = icmp ne i32 %t183, 0
|
|
br i1 %t184, label %then99, label %ifend101
|
|
then99:
|
|
%t185 = load ptr, ptr %t1
|
|
%t186 = load ptr, ptr %t2
|
|
%t187 = call ptr @fn_emit_unicode_ns(ptr %t185, ptr %t186)
|
|
store ptr %t187, ptr %retval
|
|
br label %ret
|
|
ifend101:
|
|
%t188 = load ptr, ptr %t1
|
|
%t189 = call ptr @fn_str_concat(ptr @.str5581, ptr %t188)
|
|
call void @fn_perr(ptr %t189)
|
|
br label %ifend98
|
|
ifend98:
|
|
%t190 = load ptr, ptr %t0
|
|
%t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str5582)
|
|
%t192 = icmp ne i32 %t191, 0
|
|
br i1 %t192, label %then102, label %ifend104
|
|
then102:
|
|
%t193 = load ptr, ptr %t1
|
|
%t194 = call i32 @fn_is_fs_ns(ptr %t193)
|
|
%t195 = icmp ne i32 %t194, 0
|
|
br i1 %t195, label %then105, label %ifend107
|
|
then105:
|
|
%t196 = load ptr, ptr %t1
|
|
%t197 = load ptr, ptr %t2
|
|
%t198 = call ptr @fn_emit_fs_ns(ptr %t196, ptr %t197)
|
|
store ptr %t198, ptr %retval
|
|
br label %ret
|
|
ifend107:
|
|
%t199 = load ptr, ptr %t1
|
|
%t200 = call ptr @fn_str_concat(ptr @.str5583, ptr %t199)
|
|
call void @fn_perr(ptr %t200)
|
|
br label %ifend104
|
|
ifend104:
|
|
%t201 = load ptr, ptr %t0
|
|
%t202 = call i32 @fn_str_eq(ptr %t201, ptr @.str5584)
|
|
%t203 = icmp ne i32 %t202, 0
|
|
br i1 %t203, label %then108, label %ifend110
|
|
then108:
|
|
%t204 = load ptr, ptr %t1
|
|
%t205 = call i32 @fn_is_path_ns(ptr %t204)
|
|
%t206 = icmp ne i32 %t205, 0
|
|
br i1 %t206, label %then111, label %ifend113
|
|
then111:
|
|
%t207 = load ptr, ptr %t1
|
|
%t208 = load ptr, ptr %t2
|
|
%t209 = call ptr @fn_emit_path_ns(ptr %t207, ptr %t208)
|
|
store ptr %t209, ptr %retval
|
|
br label %ret
|
|
ifend113:
|
|
%t210 = load ptr, ptr %t1
|
|
%t211 = call ptr @fn_str_concat(ptr @.str5585, ptr %t210)
|
|
call void @fn_perr(ptr %t211)
|
|
br label %ifend110
|
|
ifend110:
|
|
%t212 = load ptr, ptr %t0
|
|
%t213 = call i32 @fn_str_eq(ptr %t212, ptr @.str5586)
|
|
%t214 = icmp ne i32 %t213, 0
|
|
br i1 %t214, label %then114, label %ifend116
|
|
then114:
|
|
%t215 = load ptr, ptr %t1
|
|
%t216 = call i32 @fn_is_mime_ns(ptr %t215)
|
|
%t217 = icmp ne i32 %t216, 0
|
|
br i1 %t217, label %then117, label %ifend119
|
|
then117:
|
|
%t218 = load ptr, ptr %t1
|
|
%t219 = load ptr, ptr %t2
|
|
%t220 = call ptr @fn_emit_mime_ns(ptr %t218, ptr %t219)
|
|
store ptr %t220, ptr %retval
|
|
br label %ret
|
|
ifend119:
|
|
%t221 = load ptr, ptr %t1
|
|
%t222 = call ptr @fn_str_concat(ptr @.str5587, ptr %t221)
|
|
call void @fn_perr(ptr %t222)
|
|
br label %ifend116
|
|
ifend116:
|
|
%t223 = load ptr, ptr %t0
|
|
%t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str5588)
|
|
%t225 = icmp ne i32 %t224, 0
|
|
br i1 %t225, label %then120, label %ifend122
|
|
then120:
|
|
%t226 = load ptr, ptr %t1
|
|
%t227 = call i32 @fn_is_vector_ns(ptr %t226)
|
|
%t228 = icmp ne i32 %t227, 0
|
|
br i1 %t228, label %then123, label %ifend125
|
|
then123:
|
|
%t229 = load ptr, ptr %t1
|
|
%t230 = load ptr, ptr %t2
|
|
%t231 = call ptr @fn_emit_vector_ns(ptr %t229, ptr %t230)
|
|
store ptr %t231, ptr %retval
|
|
br label %ret
|
|
ifend125:
|
|
%t232 = load ptr, ptr %t1
|
|
%t233 = call ptr @fn_str_concat(ptr @.str5589, ptr %t232)
|
|
call void @fn_perr(ptr %t233)
|
|
br label %ifend122
|
|
ifend122:
|
|
%t234 = load ptr, ptr %t0
|
|
%t235 = call i32 @fn_str_eq(ptr %t234, ptr @.str5590)
|
|
%t236 = icmp ne i32 %t235, 0
|
|
br i1 %t236, label %then126, label %ifend128
|
|
then126:
|
|
%t237 = load ptr, ptr %t1
|
|
%t238 = call i32 @fn_is_duration_ns(ptr %t237)
|
|
%t239 = icmp ne i32 %t238, 0
|
|
br i1 %t239, label %then129, label %ifend131
|
|
then129:
|
|
%t240 = load ptr, ptr %t1
|
|
%t241 = load ptr, ptr %t2
|
|
%t242 = call ptr @fn_emit_duration_ns(ptr %t240, ptr %t241)
|
|
store ptr %t242, ptr %retval
|
|
br label %ret
|
|
ifend131:
|
|
%t243 = load ptr, ptr %t1
|
|
%t244 = call ptr @fn_str_concat(ptr @.str5591, ptr %t243)
|
|
call void @fn_perr(ptr %t244)
|
|
br label %ifend128
|
|
ifend128:
|
|
%t245 = load ptr, ptr %t0
|
|
%t246 = call i32 @fn_str_eq(ptr %t245, ptr @.str5592)
|
|
%t247 = icmp ne i32 %t246, 0
|
|
br i1 %t247, label %then132, label %ifend134
|
|
then132:
|
|
%t248 = load ptr, ptr %t1
|
|
%t249 = call i32 @fn_is_date_ns(ptr %t248)
|
|
%t250 = icmp ne i32 %t249, 0
|
|
br i1 %t250, label %then135, label %ifend137
|
|
then135:
|
|
%t251 = load ptr, ptr %t1
|
|
%t252 = load ptr, ptr %t2
|
|
%t253 = call ptr @fn_emit_date_ns(ptr %t251, ptr %t252)
|
|
store ptr %t253, ptr %retval
|
|
br label %ret
|
|
ifend137:
|
|
%t254 = load ptr, ptr %t1
|
|
%t255 = call ptr @fn_str_concat(ptr @.str5593, ptr %t254)
|
|
call void @fn_perr(ptr %t255)
|
|
br label %ifend134
|
|
ifend134:
|
|
%t256 = load ptr, ptr %t0
|
|
%t257 = call i32 @fn_str_eq(ptr %t256, ptr @.str5594)
|
|
%t258 = icmp ne i32 %t257, 0
|
|
br i1 %t258, label %then138, label %ifend140
|
|
then138:
|
|
%t259 = load ptr, ptr %t1
|
|
%t260 = call i32 @fn_is_datetime_ns(ptr %t259)
|
|
%t261 = icmp ne i32 %t260, 0
|
|
br i1 %t261, label %then141, label %ifend143
|
|
then141:
|
|
%t262 = load ptr, ptr %t1
|
|
%t263 = load ptr, ptr %t2
|
|
%t264 = call ptr @fn_emit_datetime_ns(ptr %t262, ptr %t263)
|
|
store ptr %t264, ptr %retval
|
|
br label %ret
|
|
ifend143:
|
|
%t265 = load ptr, ptr %t1
|
|
%t266 = call ptr @fn_str_concat(ptr @.str5595, ptr %t265)
|
|
call void @fn_perr(ptr %t266)
|
|
br label %ifend140
|
|
ifend140:
|
|
%t267 = load ptr, ptr %t0
|
|
%t268 = call i32 @fn_str_eq(ptr %t267, ptr @.str5596)
|
|
%t269 = icmp ne i32 %t268, 0
|
|
br i1 %t269, label %then144, label %ifend146
|
|
then144:
|
|
%t270 = load ptr, ptr %t1
|
|
%t271 = call i32 @fn_is_clock_ns(ptr %t270)
|
|
%t272 = icmp ne i32 %t271, 0
|
|
br i1 %t272, label %then147, label %ifend149
|
|
then147:
|
|
%t273 = load ptr, ptr %t1
|
|
%t274 = load ptr, ptr %t2
|
|
%t275 = call ptr @fn_emit_clock_ns(ptr %t273, ptr %t274)
|
|
store ptr %t275, ptr %retval
|
|
br label %ret
|
|
ifend149:
|
|
%t276 = load ptr, ptr %t1
|
|
%t277 = call ptr @fn_str_concat(ptr @.str5597, ptr %t276)
|
|
call void @fn_perr(ptr %t277)
|
|
br label %ifend146
|
|
ifend146:
|
|
store ptr null, ptr %t278
|
|
%t279 = getelementptr %LSlice, ptr null, i32 1
|
|
%t280 = ptrtoint ptr %t279 to i64
|
|
%t281 = call ptr @malloc(i64 %t280)
|
|
%t282 = getelementptr inbounds %LSlice, ptr %t281, i32 0, i32 0
|
|
store ptr null, ptr %t282
|
|
%t283 = getelementptr inbounds %LSlice, ptr %t281, i32 0, i32 1
|
|
store i32 0, ptr %t283
|
|
%t284 = getelementptr inbounds %LSlice, ptr %t281, i32 0, i32 2
|
|
store i32 0, ptr %t284
|
|
store ptr %t281, ptr %t285
|
|
%t286 = load ptr, ptr %t0
|
|
%t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str5598)
|
|
%t288 = icmp ne i32 %t287, 0
|
|
br i1 %t288, label %then150, label %ifend152
|
|
then150:
|
|
%t289 = load ptr, ptr %t1
|
|
%t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str5599)
|
|
%t291 = icmp ne i32 %t290, 0
|
|
br i1 %t291, label %then153, label %ifend155
|
|
then153:
|
|
store ptr @.str5600, ptr %t278
|
|
%t292 = load ptr, ptr %t285
|
|
%t293 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 1
|
|
%t294 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 2
|
|
%t295 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 0
|
|
%t296 = load i32, ptr %t293
|
|
%t297 = load i32, ptr %t294
|
|
%t298 = icmp sge i32 %t296, %t297
|
|
br i1 %t298, label %grow156, label %put157
|
|
grow156:
|
|
%t299 = mul i32 %t297, 2
|
|
%t300 = icmp eq i32 %t297, 0
|
|
%t301 = select i1 %t300, i32 8, i32 %t299
|
|
%t302 = getelementptr ptr, ptr null, i32 1
|
|
%t303 = ptrtoint ptr %t302 to i64
|
|
%t304 = zext i32 %t301 to i64
|
|
%t305 = mul i64 %t304, %t303
|
|
%t306 = load ptr, ptr %t295
|
|
%t307 = call ptr @realloc(ptr %t306, i64 %t305)
|
|
store ptr %t307, ptr %t295
|
|
store i32 %t301, ptr %t294
|
|
br label %put157
|
|
put157:
|
|
%t308 = load ptr, ptr %t295
|
|
%t309 = getelementptr inbounds ptr, ptr %t308, i32 %t296
|
|
store ptr @.str5601, ptr %t309
|
|
%t310 = add i32 %t296, 1
|
|
store i32 %t310, ptr %t293
|
|
br label %ifend155
|
|
ifend155:
|
|
%t311 = load ptr, ptr %t1
|
|
%t312 = call i32 @fn_str_eq(ptr %t311, ptr @.str5602)
|
|
%t313 = icmp ne i32 %t312, 0
|
|
br i1 %t313, label %then158, label %ifend160
|
|
then158:
|
|
store ptr @.str5603, ptr %t278
|
|
%t314 = load ptr, ptr %t285
|
|
%t315 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 1
|
|
%t316 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 2
|
|
%t317 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 0
|
|
%t318 = load i32, ptr %t315
|
|
%t319 = load i32, ptr %t316
|
|
%t320 = icmp sge i32 %t318, %t319
|
|
br i1 %t320, label %grow161, label %put162
|
|
grow161:
|
|
%t321 = mul i32 %t319, 2
|
|
%t322 = icmp eq i32 %t319, 0
|
|
%t323 = select i1 %t322, i32 8, i32 %t321
|
|
%t324 = getelementptr ptr, ptr null, i32 1
|
|
%t325 = ptrtoint ptr %t324 to i64
|
|
%t326 = zext i32 %t323 to i64
|
|
%t327 = mul i64 %t326, %t325
|
|
%t328 = load ptr, ptr %t317
|
|
%t329 = call ptr @realloc(ptr %t328, i64 %t327)
|
|
store ptr %t329, ptr %t317
|
|
store i32 %t323, ptr %t316
|
|
br label %put162
|
|
put162:
|
|
%t330 = load ptr, ptr %t317
|
|
%t331 = getelementptr inbounds ptr, ptr %t330, i32 %t318
|
|
store ptr @.str5604, ptr %t331
|
|
%t332 = add i32 %t318, 1
|
|
store i32 %t332, ptr %t315
|
|
%t333 = load ptr, ptr %t285
|
|
%t334 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 1
|
|
%t335 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 2
|
|
%t336 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0
|
|
%t337 = load i32, ptr %t334
|
|
%t338 = load i32, ptr %t335
|
|
%t339 = icmp sge i32 %t337, %t338
|
|
br i1 %t339, label %grow163, label %put164
|
|
grow163:
|
|
%t340 = mul i32 %t338, 2
|
|
%t341 = icmp eq i32 %t338, 0
|
|
%t342 = select i1 %t341, i32 8, i32 %t340
|
|
%t343 = getelementptr ptr, ptr null, i32 1
|
|
%t344 = ptrtoint ptr %t343 to i64
|
|
%t345 = zext i32 %t342 to i64
|
|
%t346 = mul i64 %t345, %t344
|
|
%t347 = load ptr, ptr %t336
|
|
%t348 = call ptr @realloc(ptr %t347, i64 %t346)
|
|
store ptr %t348, ptr %t336
|
|
store i32 %t342, ptr %t335
|
|
br label %put164
|
|
put164:
|
|
%t349 = load ptr, ptr %t336
|
|
%t350 = getelementptr inbounds ptr, ptr %t349, i32 %t337
|
|
store ptr @.str5605, ptr %t350
|
|
%t351 = add i32 %t337, 1
|
|
store i32 %t351, ptr %t334
|
|
%t352 = load ptr, ptr %t285
|
|
%t353 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 1
|
|
%t354 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 2
|
|
%t355 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 0
|
|
%t356 = load i32, ptr %t353
|
|
%t357 = load i32, ptr %t354
|
|
%t358 = icmp sge i32 %t356, %t357
|
|
br i1 %t358, label %grow165, label %put166
|
|
grow165:
|
|
%t359 = mul i32 %t357, 2
|
|
%t360 = icmp eq i32 %t357, 0
|
|
%t361 = select i1 %t360, i32 8, i32 %t359
|
|
%t362 = getelementptr ptr, ptr null, i32 1
|
|
%t363 = ptrtoint ptr %t362 to i64
|
|
%t364 = zext i32 %t361 to i64
|
|
%t365 = mul i64 %t364, %t363
|
|
%t366 = load ptr, ptr %t355
|
|
%t367 = call ptr @realloc(ptr %t366, i64 %t365)
|
|
store ptr %t367, ptr %t355
|
|
store i32 %t361, ptr %t354
|
|
br label %put166
|
|
put166:
|
|
%t368 = load ptr, ptr %t355
|
|
%t369 = getelementptr inbounds ptr, ptr %t368, i32 %t356
|
|
store ptr @.str5606, ptr %t369
|
|
%t370 = add i32 %t356, 1
|
|
store i32 %t370, ptr %t353
|
|
%t371 = load ptr, ptr %t285
|
|
%t372 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 1
|
|
%t373 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 2
|
|
%t374 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 0
|
|
%t375 = load i32, ptr %t372
|
|
%t376 = load i32, ptr %t373
|
|
%t377 = icmp sge i32 %t375, %t376
|
|
br i1 %t377, label %grow167, label %put168
|
|
grow167:
|
|
%t378 = mul i32 %t376, 2
|
|
%t379 = icmp eq i32 %t376, 0
|
|
%t380 = select i1 %t379, i32 8, i32 %t378
|
|
%t381 = getelementptr ptr, ptr null, i32 1
|
|
%t382 = ptrtoint ptr %t381 to i64
|
|
%t383 = zext i32 %t380 to i64
|
|
%t384 = mul i64 %t383, %t382
|
|
%t385 = load ptr, ptr %t374
|
|
%t386 = call ptr @realloc(ptr %t385, i64 %t384)
|
|
store ptr %t386, ptr %t374
|
|
store i32 %t380, ptr %t373
|
|
br label %put168
|
|
put168:
|
|
%t387 = load ptr, ptr %t374
|
|
%t388 = getelementptr inbounds ptr, ptr %t387, i32 %t375
|
|
store ptr @.str5607, ptr %t388
|
|
%t389 = add i32 %t375, 1
|
|
store i32 %t389, ptr %t372
|
|
%t390 = load ptr, ptr %t285
|
|
%t391 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 1
|
|
%t392 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 2
|
|
%t393 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 0
|
|
%t394 = load i32, ptr %t391
|
|
%t395 = load i32, ptr %t392
|
|
%t396 = icmp sge i32 %t394, %t395
|
|
br i1 %t396, label %grow169, label %put170
|
|
grow169:
|
|
%t397 = mul i32 %t395, 2
|
|
%t398 = icmp eq i32 %t395, 0
|
|
%t399 = select i1 %t398, i32 8, i32 %t397
|
|
%t400 = getelementptr ptr, ptr null, i32 1
|
|
%t401 = ptrtoint ptr %t400 to i64
|
|
%t402 = zext i32 %t399 to i64
|
|
%t403 = mul i64 %t402, %t401
|
|
%t404 = load ptr, ptr %t393
|
|
%t405 = call ptr @realloc(ptr %t404, i64 %t403)
|
|
store ptr %t405, ptr %t393
|
|
store i32 %t399, ptr %t392
|
|
br label %put170
|
|
put170:
|
|
%t406 = load ptr, ptr %t393
|
|
%t407 = getelementptr inbounds ptr, ptr %t406, i32 %t394
|
|
store ptr @.str5608, ptr %t407
|
|
%t408 = add i32 %t394, 1
|
|
store i32 %t408, ptr %t391
|
|
br label %ifend160
|
|
ifend160:
|
|
%t409 = load ptr, ptr %t1
|
|
%t410 = call i32 @fn_str_eq(ptr %t409, ptr @.str5609)
|
|
%t411 = icmp ne i32 %t410, 0
|
|
br i1 %t411, label %then171, label %ifend173
|
|
then171:
|
|
store ptr @.str5610, ptr %t278
|
|
%t412 = load ptr, ptr %t285
|
|
%t413 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 1
|
|
%t414 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 2
|
|
%t415 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 0
|
|
%t416 = load i32, ptr %t413
|
|
%t417 = load i32, ptr %t414
|
|
%t418 = icmp sge i32 %t416, %t417
|
|
br i1 %t418, label %grow174, label %put175
|
|
grow174:
|
|
%t419 = mul i32 %t417, 2
|
|
%t420 = icmp eq i32 %t417, 0
|
|
%t421 = select i1 %t420, i32 8, i32 %t419
|
|
%t422 = getelementptr ptr, ptr null, i32 1
|
|
%t423 = ptrtoint ptr %t422 to i64
|
|
%t424 = zext i32 %t421 to i64
|
|
%t425 = mul i64 %t424, %t423
|
|
%t426 = load ptr, ptr %t415
|
|
%t427 = call ptr @realloc(ptr %t426, i64 %t425)
|
|
store ptr %t427, ptr %t415
|
|
store i32 %t421, ptr %t414
|
|
br label %put175
|
|
put175:
|
|
%t428 = load ptr, ptr %t415
|
|
%t429 = getelementptr inbounds ptr, ptr %t428, i32 %t416
|
|
store ptr @.str5611, ptr %t429
|
|
%t430 = add i32 %t416, 1
|
|
store i32 %t430, ptr %t413
|
|
%t431 = load ptr, ptr %t285
|
|
%t432 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 1
|
|
%t433 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 2
|
|
%t434 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 0
|
|
%t435 = load i32, ptr %t432
|
|
%t436 = load i32, ptr %t433
|
|
%t437 = icmp sge i32 %t435, %t436
|
|
br i1 %t437, label %grow176, label %put177
|
|
grow176:
|
|
%t438 = mul i32 %t436, 2
|
|
%t439 = icmp eq i32 %t436, 0
|
|
%t440 = select i1 %t439, i32 8, i32 %t438
|
|
%t441 = getelementptr ptr, ptr null, i32 1
|
|
%t442 = ptrtoint ptr %t441 to i64
|
|
%t443 = zext i32 %t440 to i64
|
|
%t444 = mul i64 %t443, %t442
|
|
%t445 = load ptr, ptr %t434
|
|
%t446 = call ptr @realloc(ptr %t445, i64 %t444)
|
|
store ptr %t446, ptr %t434
|
|
store i32 %t440, ptr %t433
|
|
br label %put177
|
|
put177:
|
|
%t447 = load ptr, ptr %t434
|
|
%t448 = getelementptr inbounds ptr, ptr %t447, i32 %t435
|
|
store ptr @.str5612, ptr %t448
|
|
%t449 = add i32 %t435, 1
|
|
store i32 %t449, ptr %t432
|
|
%t450 = load ptr, ptr %t285
|
|
%t451 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 1
|
|
%t452 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 2
|
|
%t453 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 0
|
|
%t454 = load i32, ptr %t451
|
|
%t455 = load i32, ptr %t452
|
|
%t456 = icmp sge i32 %t454, %t455
|
|
br i1 %t456, label %grow178, label %put179
|
|
grow178:
|
|
%t457 = mul i32 %t455, 2
|
|
%t458 = icmp eq i32 %t455, 0
|
|
%t459 = select i1 %t458, i32 8, i32 %t457
|
|
%t460 = getelementptr ptr, ptr null, i32 1
|
|
%t461 = ptrtoint ptr %t460 to i64
|
|
%t462 = zext i32 %t459 to i64
|
|
%t463 = mul i64 %t462, %t461
|
|
%t464 = load ptr, ptr %t453
|
|
%t465 = call ptr @realloc(ptr %t464, i64 %t463)
|
|
store ptr %t465, ptr %t453
|
|
store i32 %t459, ptr %t452
|
|
br label %put179
|
|
put179:
|
|
%t466 = load ptr, ptr %t453
|
|
%t467 = getelementptr inbounds ptr, ptr %t466, i32 %t454
|
|
store ptr @.str5613, ptr %t467
|
|
%t468 = add i32 %t454, 1
|
|
store i32 %t468, ptr %t451
|
|
%t469 = load ptr, ptr %t285
|
|
%t470 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 1
|
|
%t471 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 2
|
|
%t472 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 0
|
|
%t473 = load i32, ptr %t470
|
|
%t474 = load i32, ptr %t471
|
|
%t475 = icmp sge i32 %t473, %t474
|
|
br i1 %t475, label %grow180, label %put181
|
|
grow180:
|
|
%t476 = mul i32 %t474, 2
|
|
%t477 = icmp eq i32 %t474, 0
|
|
%t478 = select i1 %t477, i32 8, i32 %t476
|
|
%t479 = getelementptr ptr, ptr null, i32 1
|
|
%t480 = ptrtoint ptr %t479 to i64
|
|
%t481 = zext i32 %t478 to i64
|
|
%t482 = mul i64 %t481, %t480
|
|
%t483 = load ptr, ptr %t472
|
|
%t484 = call ptr @realloc(ptr %t483, i64 %t482)
|
|
store ptr %t484, ptr %t472
|
|
store i32 %t478, ptr %t471
|
|
br label %put181
|
|
put181:
|
|
%t485 = load ptr, ptr %t472
|
|
%t486 = getelementptr inbounds ptr, ptr %t485, i32 %t473
|
|
store ptr @.str5614, ptr %t486
|
|
%t487 = add i32 %t473, 1
|
|
store i32 %t487, ptr %t470
|
|
%t488 = load ptr, ptr %t285
|
|
%t489 = getelementptr inbounds %LSlice, ptr %t488, i32 0, i32 1
|
|
%t490 = getelementptr inbounds %LSlice, ptr %t488, i32 0, i32 2
|
|
%t491 = getelementptr inbounds %LSlice, ptr %t488, i32 0, i32 0
|
|
%t492 = load i32, ptr %t489
|
|
%t493 = load i32, ptr %t490
|
|
%t494 = icmp sge i32 %t492, %t493
|
|
br i1 %t494, label %grow182, label %put183
|
|
grow182:
|
|
%t495 = mul i32 %t493, 2
|
|
%t496 = icmp eq i32 %t493, 0
|
|
%t497 = select i1 %t496, i32 8, i32 %t495
|
|
%t498 = getelementptr ptr, ptr null, i32 1
|
|
%t499 = ptrtoint ptr %t498 to i64
|
|
%t500 = zext i32 %t497 to i64
|
|
%t501 = mul i64 %t500, %t499
|
|
%t502 = load ptr, ptr %t491
|
|
%t503 = call ptr @realloc(ptr %t502, i64 %t501)
|
|
store ptr %t503, ptr %t491
|
|
store i32 %t497, ptr %t490
|
|
br label %put183
|
|
put183:
|
|
%t504 = load ptr, ptr %t491
|
|
%t505 = getelementptr inbounds ptr, ptr %t504, i32 %t492
|
|
store ptr @.str5615, ptr %t505
|
|
%t506 = add i32 %t492, 1
|
|
store i32 %t506, ptr %t489
|
|
br label %ifend173
|
|
ifend173:
|
|
%t507 = load ptr, ptr %t1
|
|
%t508 = call i32 @fn_str_eq(ptr %t507, ptr @.str5616)
|
|
%t509 = icmp ne i32 %t508, 0
|
|
br i1 %t509, label %then184, label %ifend186
|
|
then184:
|
|
store ptr @.str5617, ptr %t278
|
|
%t510 = load ptr, ptr %t285
|
|
%t511 = getelementptr inbounds %LSlice, ptr %t510, i32 0, i32 1
|
|
%t512 = getelementptr inbounds %LSlice, ptr %t510, i32 0, i32 2
|
|
%t513 = getelementptr inbounds %LSlice, ptr %t510, i32 0, i32 0
|
|
%t514 = load i32, ptr %t511
|
|
%t515 = load i32, ptr %t512
|
|
%t516 = icmp sge i32 %t514, %t515
|
|
br i1 %t516, label %grow187, label %put188
|
|
grow187:
|
|
%t517 = mul i32 %t515, 2
|
|
%t518 = icmp eq i32 %t515, 0
|
|
%t519 = select i1 %t518, i32 8, i32 %t517
|
|
%t520 = getelementptr ptr, ptr null, i32 1
|
|
%t521 = ptrtoint ptr %t520 to i64
|
|
%t522 = zext i32 %t519 to i64
|
|
%t523 = mul i64 %t522, %t521
|
|
%t524 = load ptr, ptr %t513
|
|
%t525 = call ptr @realloc(ptr %t524, i64 %t523)
|
|
store ptr %t525, ptr %t513
|
|
store i32 %t519, ptr %t512
|
|
br label %put188
|
|
put188:
|
|
%t526 = load ptr, ptr %t513
|
|
%t527 = getelementptr inbounds ptr, ptr %t526, i32 %t514
|
|
store ptr @.str5618, ptr %t527
|
|
%t528 = add i32 %t514, 1
|
|
store i32 %t528, ptr %t511
|
|
%t529 = load ptr, ptr %t285
|
|
%t530 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 1
|
|
%t531 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 2
|
|
%t532 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 0
|
|
%t533 = load i32, ptr %t530
|
|
%t534 = load i32, ptr %t531
|
|
%t535 = icmp sge i32 %t533, %t534
|
|
br i1 %t535, label %grow189, label %put190
|
|
grow189:
|
|
%t536 = mul i32 %t534, 2
|
|
%t537 = icmp eq i32 %t534, 0
|
|
%t538 = select i1 %t537, i32 8, i32 %t536
|
|
%t539 = getelementptr ptr, ptr null, i32 1
|
|
%t540 = ptrtoint ptr %t539 to i64
|
|
%t541 = zext i32 %t538 to i64
|
|
%t542 = mul i64 %t541, %t540
|
|
%t543 = load ptr, ptr %t532
|
|
%t544 = call ptr @realloc(ptr %t543, i64 %t542)
|
|
store ptr %t544, ptr %t532
|
|
store i32 %t538, ptr %t531
|
|
br label %put190
|
|
put190:
|
|
%t545 = load ptr, ptr %t532
|
|
%t546 = getelementptr inbounds ptr, ptr %t545, i32 %t533
|
|
store ptr @.str5619, ptr %t546
|
|
%t547 = add i32 %t533, 1
|
|
store i32 %t547, ptr %t530
|
|
%t548 = load ptr, ptr %t285
|
|
%t549 = getelementptr inbounds %LSlice, ptr %t548, i32 0, i32 1
|
|
%t550 = getelementptr inbounds %LSlice, ptr %t548, i32 0, i32 2
|
|
%t551 = getelementptr inbounds %LSlice, ptr %t548, i32 0, i32 0
|
|
%t552 = load i32, ptr %t549
|
|
%t553 = load i32, ptr %t550
|
|
%t554 = icmp sge i32 %t552, %t553
|
|
br i1 %t554, label %grow191, label %put192
|
|
grow191:
|
|
%t555 = mul i32 %t553, 2
|
|
%t556 = icmp eq i32 %t553, 0
|
|
%t557 = select i1 %t556, i32 8, i32 %t555
|
|
%t558 = getelementptr ptr, ptr null, i32 1
|
|
%t559 = ptrtoint ptr %t558 to i64
|
|
%t560 = zext i32 %t557 to i64
|
|
%t561 = mul i64 %t560, %t559
|
|
%t562 = load ptr, ptr %t551
|
|
%t563 = call ptr @realloc(ptr %t562, i64 %t561)
|
|
store ptr %t563, ptr %t551
|
|
store i32 %t557, ptr %t550
|
|
br label %put192
|
|
put192:
|
|
%t564 = load ptr, ptr %t551
|
|
%t565 = getelementptr inbounds ptr, ptr %t564, i32 %t552
|
|
store ptr @.str5620, ptr %t565
|
|
%t566 = add i32 %t552, 1
|
|
store i32 %t566, ptr %t549
|
|
br label %ifend186
|
|
ifend186:
|
|
%t567 = load ptr, ptr %t1
|
|
%t568 = call i32 @fn_str_eq(ptr %t567, ptr @.str5621)
|
|
%t569 = icmp ne i32 %t568, 0
|
|
br i1 %t569, label %then193, label %ifend195
|
|
then193:
|
|
store ptr @.str5622, ptr %t278
|
|
%t570 = load ptr, ptr %t285
|
|
%t571 = getelementptr inbounds %LSlice, ptr %t570, i32 0, i32 1
|
|
%t572 = getelementptr inbounds %LSlice, ptr %t570, i32 0, i32 2
|
|
%t573 = getelementptr inbounds %LSlice, ptr %t570, i32 0, i32 0
|
|
%t574 = load i32, ptr %t571
|
|
%t575 = load i32, ptr %t572
|
|
%t576 = icmp sge i32 %t574, %t575
|
|
br i1 %t576, label %grow196, label %put197
|
|
grow196:
|
|
%t577 = mul i32 %t575, 2
|
|
%t578 = icmp eq i32 %t575, 0
|
|
%t579 = select i1 %t578, i32 8, i32 %t577
|
|
%t580 = getelementptr ptr, ptr null, i32 1
|
|
%t581 = ptrtoint ptr %t580 to i64
|
|
%t582 = zext i32 %t579 to i64
|
|
%t583 = mul i64 %t582, %t581
|
|
%t584 = load ptr, ptr %t573
|
|
%t585 = call ptr @realloc(ptr %t584, i64 %t583)
|
|
store ptr %t585, ptr %t573
|
|
store i32 %t579, ptr %t572
|
|
br label %put197
|
|
put197:
|
|
%t586 = load ptr, ptr %t573
|
|
%t587 = getelementptr inbounds ptr, ptr %t586, i32 %t574
|
|
store ptr @.str5623, ptr %t587
|
|
%t588 = add i32 %t574, 1
|
|
store i32 %t588, ptr %t571
|
|
%t589 = load ptr, ptr %t285
|
|
%t590 = getelementptr inbounds %LSlice, ptr %t589, i32 0, i32 1
|
|
%t591 = getelementptr inbounds %LSlice, ptr %t589, i32 0, i32 2
|
|
%t592 = getelementptr inbounds %LSlice, ptr %t589, i32 0, i32 0
|
|
%t593 = load i32, ptr %t590
|
|
%t594 = load i32, ptr %t591
|
|
%t595 = icmp sge i32 %t593, %t594
|
|
br i1 %t595, label %grow198, label %put199
|
|
grow198:
|
|
%t596 = mul i32 %t594, 2
|
|
%t597 = icmp eq i32 %t594, 0
|
|
%t598 = select i1 %t597, i32 8, i32 %t596
|
|
%t599 = getelementptr ptr, ptr null, i32 1
|
|
%t600 = ptrtoint ptr %t599 to i64
|
|
%t601 = zext i32 %t598 to i64
|
|
%t602 = mul i64 %t601, %t600
|
|
%t603 = load ptr, ptr %t592
|
|
%t604 = call ptr @realloc(ptr %t603, i64 %t602)
|
|
store ptr %t604, ptr %t592
|
|
store i32 %t598, ptr %t591
|
|
br label %put199
|
|
put199:
|
|
%t605 = load ptr, ptr %t592
|
|
%t606 = getelementptr inbounds ptr, ptr %t605, i32 %t593
|
|
store ptr @.str5624, ptr %t606
|
|
%t607 = add i32 %t593, 1
|
|
store i32 %t607, ptr %t590
|
|
%t608 = load ptr, ptr %t285
|
|
%t609 = getelementptr inbounds %LSlice, ptr %t608, i32 0, i32 1
|
|
%t610 = getelementptr inbounds %LSlice, ptr %t608, i32 0, i32 2
|
|
%t611 = getelementptr inbounds %LSlice, ptr %t608, i32 0, i32 0
|
|
%t612 = load i32, ptr %t609
|
|
%t613 = load i32, ptr %t610
|
|
%t614 = icmp sge i32 %t612, %t613
|
|
br i1 %t614, label %grow200, label %put201
|
|
grow200:
|
|
%t615 = mul i32 %t613, 2
|
|
%t616 = icmp eq i32 %t613, 0
|
|
%t617 = select i1 %t616, i32 8, i32 %t615
|
|
%t618 = getelementptr ptr, ptr null, i32 1
|
|
%t619 = ptrtoint ptr %t618 to i64
|
|
%t620 = zext i32 %t617 to i64
|
|
%t621 = mul i64 %t620, %t619
|
|
%t622 = load ptr, ptr %t611
|
|
%t623 = call ptr @realloc(ptr %t622, i64 %t621)
|
|
store ptr %t623, ptr %t611
|
|
store i32 %t617, ptr %t610
|
|
br label %put201
|
|
put201:
|
|
%t624 = load ptr, ptr %t611
|
|
%t625 = getelementptr inbounds ptr, ptr %t624, i32 %t612
|
|
store ptr @.str5625, ptr %t625
|
|
%t626 = add i32 %t612, 1
|
|
store i32 %t626, ptr %t609
|
|
%t627 = load ptr, ptr %t285
|
|
%t628 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 1
|
|
%t629 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 2
|
|
%t630 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 0
|
|
%t631 = load i32, ptr %t628
|
|
%t632 = load i32, ptr %t629
|
|
%t633 = icmp sge i32 %t631, %t632
|
|
br i1 %t633, label %grow202, label %put203
|
|
grow202:
|
|
%t634 = mul i32 %t632, 2
|
|
%t635 = icmp eq i32 %t632, 0
|
|
%t636 = select i1 %t635, i32 8, i32 %t634
|
|
%t637 = getelementptr ptr, ptr null, i32 1
|
|
%t638 = ptrtoint ptr %t637 to i64
|
|
%t639 = zext i32 %t636 to i64
|
|
%t640 = mul i64 %t639, %t638
|
|
%t641 = load ptr, ptr %t630
|
|
%t642 = call ptr @realloc(ptr %t641, i64 %t640)
|
|
store ptr %t642, ptr %t630
|
|
store i32 %t636, ptr %t629
|
|
br label %put203
|
|
put203:
|
|
%t643 = load ptr, ptr %t630
|
|
%t644 = getelementptr inbounds ptr, ptr %t643, i32 %t631
|
|
store ptr @.str5626, ptr %t644
|
|
%t645 = add i32 %t631, 1
|
|
store i32 %t645, ptr %t628
|
|
%t646 = load ptr, ptr %t285
|
|
%t647 = getelementptr inbounds %LSlice, ptr %t646, i32 0, i32 1
|
|
%t648 = getelementptr inbounds %LSlice, ptr %t646, i32 0, i32 2
|
|
%t649 = getelementptr inbounds %LSlice, ptr %t646, i32 0, i32 0
|
|
%t650 = load i32, ptr %t647
|
|
%t651 = load i32, ptr %t648
|
|
%t652 = icmp sge i32 %t650, %t651
|
|
br i1 %t652, label %grow204, label %put205
|
|
grow204:
|
|
%t653 = mul i32 %t651, 2
|
|
%t654 = icmp eq i32 %t651, 0
|
|
%t655 = select i1 %t654, i32 8, i32 %t653
|
|
%t656 = getelementptr ptr, ptr null, i32 1
|
|
%t657 = ptrtoint ptr %t656 to i64
|
|
%t658 = zext i32 %t655 to i64
|
|
%t659 = mul i64 %t658, %t657
|
|
%t660 = load ptr, ptr %t649
|
|
%t661 = call ptr @realloc(ptr %t660, i64 %t659)
|
|
store ptr %t661, ptr %t649
|
|
store i32 %t655, ptr %t648
|
|
br label %put205
|
|
put205:
|
|
%t662 = load ptr, ptr %t649
|
|
%t663 = getelementptr inbounds ptr, ptr %t662, i32 %t650
|
|
store ptr @.str5627, ptr %t663
|
|
%t664 = add i32 %t650, 1
|
|
store i32 %t664, ptr %t647
|
|
br label %ifend195
|
|
ifend195:
|
|
%t665 = load ptr, ptr %t1
|
|
%t666 = call i32 @fn_str_eq(ptr %t665, ptr @.str5628)
|
|
%t667 = icmp ne i32 %t666, 0
|
|
br i1 %t667, label %then206, label %ifend208
|
|
then206:
|
|
store ptr @.str5629, ptr %t278
|
|
%t668 = load ptr, ptr %t285
|
|
%t669 = getelementptr inbounds %LSlice, ptr %t668, i32 0, i32 1
|
|
%t670 = getelementptr inbounds %LSlice, ptr %t668, i32 0, i32 2
|
|
%t671 = getelementptr inbounds %LSlice, ptr %t668, i32 0, i32 0
|
|
%t672 = load i32, ptr %t669
|
|
%t673 = load i32, ptr %t670
|
|
%t674 = icmp sge i32 %t672, %t673
|
|
br i1 %t674, label %grow209, label %put210
|
|
grow209:
|
|
%t675 = mul i32 %t673, 2
|
|
%t676 = icmp eq i32 %t673, 0
|
|
%t677 = select i1 %t676, i32 8, i32 %t675
|
|
%t678 = getelementptr ptr, ptr null, i32 1
|
|
%t679 = ptrtoint ptr %t678 to i64
|
|
%t680 = zext i32 %t677 to i64
|
|
%t681 = mul i64 %t680, %t679
|
|
%t682 = load ptr, ptr %t671
|
|
%t683 = call ptr @realloc(ptr %t682, i64 %t681)
|
|
store ptr %t683, ptr %t671
|
|
store i32 %t677, ptr %t670
|
|
br label %put210
|
|
put210:
|
|
%t684 = load ptr, ptr %t671
|
|
%t685 = getelementptr inbounds ptr, ptr %t684, i32 %t672
|
|
store ptr @.str5630, ptr %t685
|
|
%t686 = add i32 %t672, 1
|
|
store i32 %t686, ptr %t669
|
|
%t687 = load ptr, ptr %t285
|
|
%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 %grow211, label %put212
|
|
grow211:
|
|
%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 %put212
|
|
put212:
|
|
%t703 = load ptr, ptr %t690
|
|
%t704 = getelementptr inbounds ptr, ptr %t703, i32 %t691
|
|
store ptr @.str5631, ptr %t704
|
|
%t705 = add i32 %t691, 1
|
|
store i32 %t705, ptr %t688
|
|
%t706 = load ptr, ptr %t285
|
|
%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 %grow213, label %put214
|
|
grow213:
|
|
%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 %put214
|
|
put214:
|
|
%t722 = load ptr, ptr %t709
|
|
%t723 = getelementptr inbounds ptr, ptr %t722, i32 %t710
|
|
store ptr @.str5632, ptr %t723
|
|
%t724 = add i32 %t710, 1
|
|
store i32 %t724, ptr %t707
|
|
%t725 = load ptr, ptr %t285
|
|
%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 %grow215, label %put216
|
|
grow215:
|
|
%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 %put216
|
|
put216:
|
|
%t741 = load ptr, ptr %t728
|
|
%t742 = getelementptr inbounds ptr, ptr %t741, i32 %t729
|
|
store ptr @.str5633, ptr %t742
|
|
%t743 = add i32 %t729, 1
|
|
store i32 %t743, ptr %t726
|
|
%t744 = load ptr, ptr %t285
|
|
%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 %grow217, label %put218
|
|
grow217:
|
|
%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 %put218
|
|
put218:
|
|
%t760 = load ptr, ptr %t747
|
|
%t761 = getelementptr inbounds ptr, ptr %t760, i32 %t748
|
|
store ptr @.str5634, ptr %t761
|
|
%t762 = add i32 %t748, 1
|
|
store i32 %t762, ptr %t745
|
|
br label %ifend208
|
|
ifend208:
|
|
%t763 = load ptr, ptr %t1
|
|
%t764 = call i32 @fn_str_eq(ptr %t763, ptr @.str5635)
|
|
%t765 = icmp ne i32 %t764, 0
|
|
br i1 %t765, label %then219, label %ifend221
|
|
then219:
|
|
store ptr @.str5636, ptr %t278
|
|
br label %ifend221
|
|
ifend221:
|
|
%t766 = load ptr, ptr %t1
|
|
%t767 = call i32 @fn_str_eq(ptr %t766, ptr @.str5637)
|
|
%t768 = icmp ne i32 %t767, 0
|
|
br i1 %t768, label %then222, label %ifend224
|
|
then222:
|
|
store ptr @.str5638, ptr %t278
|
|
br label %ifend224
|
|
ifend224:
|
|
%t769 = load ptr, ptr %t1
|
|
%t770 = call i32 @fn_str_eq(ptr %t769, ptr @.str5639)
|
|
%t771 = icmp ne i32 %t770, 0
|
|
br i1 %t771, label %then225, label %ifend227
|
|
then225:
|
|
store ptr @.str5640, ptr %t278
|
|
br label %ifend227
|
|
ifend227:
|
|
%t772 = load ptr, ptr %t1
|
|
%t773 = call i32 @fn_str_eq(ptr %t772, ptr @.str5641)
|
|
%t774 = icmp ne i32 %t773, 0
|
|
br i1 %t774, label %then228, label %ifend230
|
|
then228:
|
|
store ptr @.str5642, ptr %t278
|
|
%t775 = load ptr, ptr %t285
|
|
%t776 = getelementptr inbounds %LSlice, ptr %t775, i32 0, i32 1
|
|
%t777 = getelementptr inbounds %LSlice, ptr %t775, i32 0, i32 2
|
|
%t778 = getelementptr inbounds %LSlice, ptr %t775, i32 0, i32 0
|
|
%t779 = load i32, ptr %t776
|
|
%t780 = load i32, ptr %t777
|
|
%t781 = icmp sge i32 %t779, %t780
|
|
br i1 %t781, label %grow231, label %put232
|
|
grow231:
|
|
%t782 = mul i32 %t780, 2
|
|
%t783 = icmp eq i32 %t780, 0
|
|
%t784 = select i1 %t783, i32 8, i32 %t782
|
|
%t785 = getelementptr ptr, ptr null, i32 1
|
|
%t786 = ptrtoint ptr %t785 to i64
|
|
%t787 = zext i32 %t784 to i64
|
|
%t788 = mul i64 %t787, %t786
|
|
%t789 = load ptr, ptr %t778
|
|
%t790 = call ptr @realloc(ptr %t789, i64 %t788)
|
|
store ptr %t790, ptr %t778
|
|
store i32 %t784, ptr %t777
|
|
br label %put232
|
|
put232:
|
|
%t791 = load ptr, ptr %t778
|
|
%t792 = getelementptr inbounds ptr, ptr %t791, i32 %t779
|
|
store ptr @.str5643, ptr %t792
|
|
%t793 = add i32 %t779, 1
|
|
store i32 %t793, ptr %t776
|
|
br label %ifend230
|
|
ifend230:
|
|
%t794 = load ptr, ptr %t1
|
|
%t795 = call i32 @fn_str_eq(ptr %t794, ptr @.str5644)
|
|
%t796 = icmp ne i32 %t795, 0
|
|
br i1 %t796, label %then233, label %ifend235
|
|
then233:
|
|
store ptr @.str5645, ptr %t278
|
|
%t797 = load ptr, ptr %t285
|
|
%t798 = getelementptr inbounds %LSlice, ptr %t797, i32 0, i32 1
|
|
%t799 = getelementptr inbounds %LSlice, ptr %t797, i32 0, i32 2
|
|
%t800 = getelementptr inbounds %LSlice, ptr %t797, i32 0, i32 0
|
|
%t801 = load i32, ptr %t798
|
|
%t802 = load i32, ptr %t799
|
|
%t803 = icmp sge i32 %t801, %t802
|
|
br i1 %t803, label %grow236, label %put237
|
|
grow236:
|
|
%t804 = mul i32 %t802, 2
|
|
%t805 = icmp eq i32 %t802, 0
|
|
%t806 = select i1 %t805, i32 8, i32 %t804
|
|
%t807 = getelementptr ptr, ptr null, i32 1
|
|
%t808 = ptrtoint ptr %t807 to i64
|
|
%t809 = zext i32 %t806 to i64
|
|
%t810 = mul i64 %t809, %t808
|
|
%t811 = load ptr, ptr %t800
|
|
%t812 = call ptr @realloc(ptr %t811, i64 %t810)
|
|
store ptr %t812, ptr %t800
|
|
store i32 %t806, ptr %t799
|
|
br label %put237
|
|
put237:
|
|
%t813 = load ptr, ptr %t800
|
|
%t814 = getelementptr inbounds ptr, ptr %t813, i32 %t801
|
|
store ptr @.str5646, ptr %t814
|
|
%t815 = add i32 %t801, 1
|
|
store i32 %t815, ptr %t798
|
|
%t816 = load ptr, ptr %t285
|
|
%t817 = getelementptr inbounds %LSlice, ptr %t816, i32 0, i32 1
|
|
%t818 = getelementptr inbounds %LSlice, ptr %t816, i32 0, i32 2
|
|
%t819 = getelementptr inbounds %LSlice, ptr %t816, i32 0, i32 0
|
|
%t820 = load i32, ptr %t817
|
|
%t821 = load i32, ptr %t818
|
|
%t822 = icmp sge i32 %t820, %t821
|
|
br i1 %t822, label %grow238, label %put239
|
|
grow238:
|
|
%t823 = mul i32 %t821, 2
|
|
%t824 = icmp eq i32 %t821, 0
|
|
%t825 = select i1 %t824, i32 8, i32 %t823
|
|
%t826 = getelementptr ptr, ptr null, i32 1
|
|
%t827 = ptrtoint ptr %t826 to i64
|
|
%t828 = zext i32 %t825 to i64
|
|
%t829 = mul i64 %t828, %t827
|
|
%t830 = load ptr, ptr %t819
|
|
%t831 = call ptr @realloc(ptr %t830, i64 %t829)
|
|
store ptr %t831, ptr %t819
|
|
store i32 %t825, ptr %t818
|
|
br label %put239
|
|
put239:
|
|
%t832 = load ptr, ptr %t819
|
|
%t833 = getelementptr inbounds ptr, ptr %t832, i32 %t820
|
|
store ptr @.str5647, ptr %t833
|
|
%t834 = add i32 %t820, 1
|
|
store i32 %t834, ptr %t817
|
|
%t835 = load ptr, ptr %t285
|
|
%t836 = getelementptr inbounds %LSlice, ptr %t835, i32 0, i32 1
|
|
%t837 = getelementptr inbounds %LSlice, ptr %t835, i32 0, i32 2
|
|
%t838 = getelementptr inbounds %LSlice, ptr %t835, i32 0, i32 0
|
|
%t839 = load i32, ptr %t836
|
|
%t840 = load i32, ptr %t837
|
|
%t841 = icmp sge i32 %t839, %t840
|
|
br i1 %t841, label %grow240, label %put241
|
|
grow240:
|
|
%t842 = mul i32 %t840, 2
|
|
%t843 = icmp eq i32 %t840, 0
|
|
%t844 = select i1 %t843, i32 8, i32 %t842
|
|
%t845 = getelementptr ptr, ptr null, i32 1
|
|
%t846 = ptrtoint ptr %t845 to i64
|
|
%t847 = zext i32 %t844 to i64
|
|
%t848 = mul i64 %t847, %t846
|
|
%t849 = load ptr, ptr %t838
|
|
%t850 = call ptr @realloc(ptr %t849, i64 %t848)
|
|
store ptr %t850, ptr %t838
|
|
store i32 %t844, ptr %t837
|
|
br label %put241
|
|
put241:
|
|
%t851 = load ptr, ptr %t838
|
|
%t852 = getelementptr inbounds ptr, ptr %t851, i32 %t839
|
|
store ptr @.str5648, ptr %t852
|
|
%t853 = add i32 %t839, 1
|
|
store i32 %t853, ptr %t836
|
|
%t854 = load ptr, ptr %t285
|
|
%t855 = getelementptr inbounds %LSlice, ptr %t854, i32 0, i32 1
|
|
%t856 = getelementptr inbounds %LSlice, ptr %t854, i32 0, i32 2
|
|
%t857 = getelementptr inbounds %LSlice, ptr %t854, i32 0, i32 0
|
|
%t858 = load i32, ptr %t855
|
|
%t859 = load i32, ptr %t856
|
|
%t860 = icmp sge i32 %t858, %t859
|
|
br i1 %t860, label %grow242, label %put243
|
|
grow242:
|
|
%t861 = mul i32 %t859, 2
|
|
%t862 = icmp eq i32 %t859, 0
|
|
%t863 = select i1 %t862, i32 8, i32 %t861
|
|
%t864 = getelementptr ptr, ptr null, i32 1
|
|
%t865 = ptrtoint ptr %t864 to i64
|
|
%t866 = zext i32 %t863 to i64
|
|
%t867 = mul i64 %t866, %t865
|
|
%t868 = load ptr, ptr %t857
|
|
%t869 = call ptr @realloc(ptr %t868, i64 %t867)
|
|
store ptr %t869, ptr %t857
|
|
store i32 %t863, ptr %t856
|
|
br label %put243
|
|
put243:
|
|
%t870 = load ptr, ptr %t857
|
|
%t871 = getelementptr inbounds ptr, ptr %t870, i32 %t858
|
|
store ptr @.str5649, ptr %t871
|
|
%t872 = add i32 %t858, 1
|
|
store i32 %t872, ptr %t855
|
|
%t873 = load ptr, ptr %t285
|
|
%t874 = getelementptr inbounds %LSlice, ptr %t873, i32 0, i32 1
|
|
%t875 = getelementptr inbounds %LSlice, ptr %t873, i32 0, i32 2
|
|
%t876 = getelementptr inbounds %LSlice, ptr %t873, i32 0, i32 0
|
|
%t877 = load i32, ptr %t874
|
|
%t878 = load i32, ptr %t875
|
|
%t879 = icmp sge i32 %t877, %t878
|
|
br i1 %t879, label %grow244, label %put245
|
|
grow244:
|
|
%t880 = mul i32 %t878, 2
|
|
%t881 = icmp eq i32 %t878, 0
|
|
%t882 = select i1 %t881, i32 8, i32 %t880
|
|
%t883 = getelementptr ptr, ptr null, i32 1
|
|
%t884 = ptrtoint ptr %t883 to i64
|
|
%t885 = zext i32 %t882 to i64
|
|
%t886 = mul i64 %t885, %t884
|
|
%t887 = load ptr, ptr %t876
|
|
%t888 = call ptr @realloc(ptr %t887, i64 %t886)
|
|
store ptr %t888, ptr %t876
|
|
store i32 %t882, ptr %t875
|
|
br label %put245
|
|
put245:
|
|
%t889 = load ptr, ptr %t876
|
|
%t890 = getelementptr inbounds ptr, ptr %t889, i32 %t877
|
|
store ptr @.str5650, ptr %t890
|
|
%t891 = add i32 %t877, 1
|
|
store i32 %t891, ptr %t874
|
|
br label %ifend235
|
|
ifend235:
|
|
%t892 = load ptr, ptr %t1
|
|
%t893 = call i32 @fn_str_eq(ptr %t892, ptr @.str5651)
|
|
%t894 = icmp ne i32 %t893, 0
|
|
br i1 %t894, label %then246, label %ifend248
|
|
then246:
|
|
store ptr @.str5652, ptr %t278
|
|
%t895 = load ptr, ptr %t285
|
|
%t896 = getelementptr inbounds %LSlice, ptr %t895, i32 0, i32 1
|
|
%t897 = getelementptr inbounds %LSlice, ptr %t895, i32 0, i32 2
|
|
%t898 = getelementptr inbounds %LSlice, ptr %t895, i32 0, i32 0
|
|
%t899 = load i32, ptr %t896
|
|
%t900 = load i32, ptr %t897
|
|
%t901 = icmp sge i32 %t899, %t900
|
|
br i1 %t901, label %grow249, label %put250
|
|
grow249:
|
|
%t902 = mul i32 %t900, 2
|
|
%t903 = icmp eq i32 %t900, 0
|
|
%t904 = select i1 %t903, i32 8, i32 %t902
|
|
%t905 = getelementptr ptr, ptr null, i32 1
|
|
%t906 = ptrtoint ptr %t905 to i64
|
|
%t907 = zext i32 %t904 to i64
|
|
%t908 = mul i64 %t907, %t906
|
|
%t909 = load ptr, ptr %t898
|
|
%t910 = call ptr @realloc(ptr %t909, i64 %t908)
|
|
store ptr %t910, ptr %t898
|
|
store i32 %t904, ptr %t897
|
|
br label %put250
|
|
put250:
|
|
%t911 = load ptr, ptr %t898
|
|
%t912 = getelementptr inbounds ptr, ptr %t911, i32 %t899
|
|
store ptr @.str5653, ptr %t912
|
|
%t913 = add i32 %t899, 1
|
|
store i32 %t913, ptr %t896
|
|
%t914 = load ptr, ptr %t285
|
|
%t915 = getelementptr inbounds %LSlice, ptr %t914, i32 0, i32 1
|
|
%t916 = getelementptr inbounds %LSlice, ptr %t914, i32 0, i32 2
|
|
%t917 = getelementptr inbounds %LSlice, ptr %t914, i32 0, i32 0
|
|
%t918 = load i32, ptr %t915
|
|
%t919 = load i32, ptr %t916
|
|
%t920 = icmp sge i32 %t918, %t919
|
|
br i1 %t920, label %grow251, label %put252
|
|
grow251:
|
|
%t921 = mul i32 %t919, 2
|
|
%t922 = icmp eq i32 %t919, 0
|
|
%t923 = select i1 %t922, i32 8, i32 %t921
|
|
%t924 = getelementptr ptr, ptr null, i32 1
|
|
%t925 = ptrtoint ptr %t924 to i64
|
|
%t926 = zext i32 %t923 to i64
|
|
%t927 = mul i64 %t926, %t925
|
|
%t928 = load ptr, ptr %t917
|
|
%t929 = call ptr @realloc(ptr %t928, i64 %t927)
|
|
store ptr %t929, ptr %t917
|
|
store i32 %t923, ptr %t916
|
|
br label %put252
|
|
put252:
|
|
%t930 = load ptr, ptr %t917
|
|
%t931 = getelementptr inbounds ptr, ptr %t930, i32 %t918
|
|
store ptr @.str5654, ptr %t931
|
|
%t932 = add i32 %t918, 1
|
|
store i32 %t932, ptr %t915
|
|
%t933 = load ptr, ptr %t285
|
|
%t934 = getelementptr inbounds %LSlice, ptr %t933, i32 0, i32 1
|
|
%t935 = getelementptr inbounds %LSlice, ptr %t933, i32 0, i32 2
|
|
%t936 = getelementptr inbounds %LSlice, ptr %t933, i32 0, i32 0
|
|
%t937 = load i32, ptr %t934
|
|
%t938 = load i32, ptr %t935
|
|
%t939 = icmp sge i32 %t937, %t938
|
|
br i1 %t939, label %grow253, label %put254
|
|
grow253:
|
|
%t940 = mul i32 %t938, 2
|
|
%t941 = icmp eq i32 %t938, 0
|
|
%t942 = select i1 %t941, i32 8, i32 %t940
|
|
%t943 = getelementptr ptr, ptr null, i32 1
|
|
%t944 = ptrtoint ptr %t943 to i64
|
|
%t945 = zext i32 %t942 to i64
|
|
%t946 = mul i64 %t945, %t944
|
|
%t947 = load ptr, ptr %t936
|
|
%t948 = call ptr @realloc(ptr %t947, i64 %t946)
|
|
store ptr %t948, ptr %t936
|
|
store i32 %t942, ptr %t935
|
|
br label %put254
|
|
put254:
|
|
%t949 = load ptr, ptr %t936
|
|
%t950 = getelementptr inbounds ptr, ptr %t949, i32 %t937
|
|
store ptr @.str5655, ptr %t950
|
|
%t951 = add i32 %t937, 1
|
|
store i32 %t951, ptr %t934
|
|
%t952 = load ptr, ptr %t285
|
|
%t953 = getelementptr inbounds %LSlice, ptr %t952, i32 0, i32 1
|
|
%t954 = getelementptr inbounds %LSlice, ptr %t952, i32 0, i32 2
|
|
%t955 = getelementptr inbounds %LSlice, ptr %t952, i32 0, i32 0
|
|
%t956 = load i32, ptr %t953
|
|
%t957 = load i32, ptr %t954
|
|
%t958 = icmp sge i32 %t956, %t957
|
|
br i1 %t958, label %grow255, label %put256
|
|
grow255:
|
|
%t959 = mul i32 %t957, 2
|
|
%t960 = icmp eq i32 %t957, 0
|
|
%t961 = select i1 %t960, i32 8, i32 %t959
|
|
%t962 = getelementptr ptr, ptr null, i32 1
|
|
%t963 = ptrtoint ptr %t962 to i64
|
|
%t964 = zext i32 %t961 to i64
|
|
%t965 = mul i64 %t964, %t963
|
|
%t966 = load ptr, ptr %t955
|
|
%t967 = call ptr @realloc(ptr %t966, i64 %t965)
|
|
store ptr %t967, ptr %t955
|
|
store i32 %t961, ptr %t954
|
|
br label %put256
|
|
put256:
|
|
%t968 = load ptr, ptr %t955
|
|
%t969 = getelementptr inbounds ptr, ptr %t968, i32 %t956
|
|
store ptr @.str5656, ptr %t969
|
|
%t970 = add i32 %t956, 1
|
|
store i32 %t970, ptr %t953
|
|
br label %ifend248
|
|
ifend248:
|
|
%t971 = load ptr, ptr %t1
|
|
%t972 = call i32 @fn_str_eq(ptr %t971, ptr @.str5657)
|
|
%t973 = icmp ne i32 %t972, 0
|
|
br i1 %t973, label %then257, label %ifend259
|
|
then257:
|
|
store ptr @.str5658, ptr %t278
|
|
%t974 = load ptr, ptr %t285
|
|
%t975 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 1
|
|
%t976 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 2
|
|
%t977 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 0
|
|
%t978 = load i32, ptr %t975
|
|
%t979 = load i32, ptr %t976
|
|
%t980 = icmp sge i32 %t978, %t979
|
|
br i1 %t980, label %grow260, label %put261
|
|
grow260:
|
|
%t981 = mul i32 %t979, 2
|
|
%t982 = icmp eq i32 %t979, 0
|
|
%t983 = select i1 %t982, i32 8, i32 %t981
|
|
%t984 = getelementptr ptr, ptr null, i32 1
|
|
%t985 = ptrtoint ptr %t984 to i64
|
|
%t986 = zext i32 %t983 to i64
|
|
%t987 = mul i64 %t986, %t985
|
|
%t988 = load ptr, ptr %t977
|
|
%t989 = call ptr @realloc(ptr %t988, i64 %t987)
|
|
store ptr %t989, ptr %t977
|
|
store i32 %t983, ptr %t976
|
|
br label %put261
|
|
put261:
|
|
%t990 = load ptr, ptr %t977
|
|
%t991 = getelementptr inbounds ptr, ptr %t990, i32 %t978
|
|
store ptr @.str5659, ptr %t991
|
|
%t992 = add i32 %t978, 1
|
|
store i32 %t992, ptr %t975
|
|
%t993 = load ptr, ptr %t285
|
|
%t994 = getelementptr inbounds %LSlice, ptr %t993, i32 0, i32 1
|
|
%t995 = getelementptr inbounds %LSlice, ptr %t993, i32 0, i32 2
|
|
%t996 = getelementptr inbounds %LSlice, ptr %t993, i32 0, i32 0
|
|
%t997 = load i32, ptr %t994
|
|
%t998 = load i32, ptr %t995
|
|
%t999 = icmp sge i32 %t997, %t998
|
|
br i1 %t999, label %grow262, label %put263
|
|
grow262:
|
|
%t1000 = mul i32 %t998, 2
|
|
%t1001 = icmp eq i32 %t998, 0
|
|
%t1002 = select i1 %t1001, i32 8, i32 %t1000
|
|
%t1003 = getelementptr ptr, ptr null, i32 1
|
|
%t1004 = ptrtoint ptr %t1003 to i64
|
|
%t1005 = zext i32 %t1002 to i64
|
|
%t1006 = mul i64 %t1005, %t1004
|
|
%t1007 = load ptr, ptr %t996
|
|
%t1008 = call ptr @realloc(ptr %t1007, i64 %t1006)
|
|
store ptr %t1008, ptr %t996
|
|
store i32 %t1002, ptr %t995
|
|
br label %put263
|
|
put263:
|
|
%t1009 = load ptr, ptr %t996
|
|
%t1010 = getelementptr inbounds ptr, ptr %t1009, i32 %t997
|
|
store ptr @.str5660, ptr %t1010
|
|
%t1011 = add i32 %t997, 1
|
|
store i32 %t1011, ptr %t994
|
|
%t1012 = load ptr, ptr %t285
|
|
%t1013 = getelementptr inbounds %LSlice, ptr %t1012, i32 0, i32 1
|
|
%t1014 = getelementptr inbounds %LSlice, ptr %t1012, i32 0, i32 2
|
|
%t1015 = getelementptr inbounds %LSlice, ptr %t1012, i32 0, i32 0
|
|
%t1016 = load i32, ptr %t1013
|
|
%t1017 = load i32, ptr %t1014
|
|
%t1018 = icmp sge i32 %t1016, %t1017
|
|
br i1 %t1018, label %grow264, label %put265
|
|
grow264:
|
|
%t1019 = mul i32 %t1017, 2
|
|
%t1020 = icmp eq i32 %t1017, 0
|
|
%t1021 = select i1 %t1020, i32 8, i32 %t1019
|
|
%t1022 = getelementptr ptr, ptr null, i32 1
|
|
%t1023 = ptrtoint ptr %t1022 to i64
|
|
%t1024 = zext i32 %t1021 to i64
|
|
%t1025 = mul i64 %t1024, %t1023
|
|
%t1026 = load ptr, ptr %t1015
|
|
%t1027 = call ptr @realloc(ptr %t1026, i64 %t1025)
|
|
store ptr %t1027, ptr %t1015
|
|
store i32 %t1021, ptr %t1014
|
|
br label %put265
|
|
put265:
|
|
%t1028 = load ptr, ptr %t1015
|
|
%t1029 = getelementptr inbounds ptr, ptr %t1028, i32 %t1016
|
|
store ptr @.str5661, ptr %t1029
|
|
%t1030 = add i32 %t1016, 1
|
|
store i32 %t1030, ptr %t1013
|
|
%t1031 = load ptr, ptr %t285
|
|
%t1032 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 1
|
|
%t1033 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 2
|
|
%t1034 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0
|
|
%t1035 = load i32, ptr %t1032
|
|
%t1036 = load i32, ptr %t1033
|
|
%t1037 = icmp sge i32 %t1035, %t1036
|
|
br i1 %t1037, label %grow266, label %put267
|
|
grow266:
|
|
%t1038 = mul i32 %t1036, 2
|
|
%t1039 = icmp eq i32 %t1036, 0
|
|
%t1040 = select i1 %t1039, i32 8, i32 %t1038
|
|
%t1041 = getelementptr ptr, ptr null, i32 1
|
|
%t1042 = ptrtoint ptr %t1041 to i64
|
|
%t1043 = zext i32 %t1040 to i64
|
|
%t1044 = mul i64 %t1043, %t1042
|
|
%t1045 = load ptr, ptr %t1034
|
|
%t1046 = call ptr @realloc(ptr %t1045, i64 %t1044)
|
|
store ptr %t1046, ptr %t1034
|
|
store i32 %t1040, ptr %t1033
|
|
br label %put267
|
|
put267:
|
|
%t1047 = load ptr, ptr %t1034
|
|
%t1048 = getelementptr inbounds ptr, ptr %t1047, i32 %t1035
|
|
store ptr @.str5662, ptr %t1048
|
|
%t1049 = add i32 %t1035, 1
|
|
store i32 %t1049, ptr %t1032
|
|
br label %ifend259
|
|
ifend259:
|
|
%t1050 = load ptr, ptr %t1
|
|
%t1051 = call i32 @fn_str_eq(ptr %t1050, ptr @.str5663)
|
|
%t1052 = icmp ne i32 %t1051, 0
|
|
br i1 %t1052, label %then268, label %ifend270
|
|
then268:
|
|
store ptr @.str5664, ptr %t278
|
|
%t1053 = load ptr, ptr %t285
|
|
%t1054 = getelementptr inbounds %LSlice, ptr %t1053, i32 0, i32 1
|
|
%t1055 = getelementptr inbounds %LSlice, ptr %t1053, i32 0, i32 2
|
|
%t1056 = getelementptr inbounds %LSlice, ptr %t1053, i32 0, i32 0
|
|
%t1057 = load i32, ptr %t1054
|
|
%t1058 = load i32, ptr %t1055
|
|
%t1059 = icmp sge i32 %t1057, %t1058
|
|
br i1 %t1059, label %grow271, label %put272
|
|
grow271:
|
|
%t1060 = mul i32 %t1058, 2
|
|
%t1061 = icmp eq i32 %t1058, 0
|
|
%t1062 = select i1 %t1061, i32 8, i32 %t1060
|
|
%t1063 = getelementptr ptr, ptr null, i32 1
|
|
%t1064 = ptrtoint ptr %t1063 to i64
|
|
%t1065 = zext i32 %t1062 to i64
|
|
%t1066 = mul i64 %t1065, %t1064
|
|
%t1067 = load ptr, ptr %t1056
|
|
%t1068 = call ptr @realloc(ptr %t1067, i64 %t1066)
|
|
store ptr %t1068, ptr %t1056
|
|
store i32 %t1062, ptr %t1055
|
|
br label %put272
|
|
put272:
|
|
%t1069 = load ptr, ptr %t1056
|
|
%t1070 = getelementptr inbounds ptr, ptr %t1069, i32 %t1057
|
|
store ptr @.str5665, ptr %t1070
|
|
%t1071 = add i32 %t1057, 1
|
|
store i32 %t1071, ptr %t1054
|
|
%t1072 = load ptr, ptr %t285
|
|
%t1073 = getelementptr inbounds %LSlice, ptr %t1072, i32 0, i32 1
|
|
%t1074 = getelementptr inbounds %LSlice, ptr %t1072, i32 0, i32 2
|
|
%t1075 = getelementptr inbounds %LSlice, ptr %t1072, i32 0, i32 0
|
|
%t1076 = load i32, ptr %t1073
|
|
%t1077 = load i32, ptr %t1074
|
|
%t1078 = icmp sge i32 %t1076, %t1077
|
|
br i1 %t1078, label %grow273, label %put274
|
|
grow273:
|
|
%t1079 = mul i32 %t1077, 2
|
|
%t1080 = icmp eq i32 %t1077, 0
|
|
%t1081 = select i1 %t1080, i32 8, i32 %t1079
|
|
%t1082 = getelementptr ptr, ptr null, i32 1
|
|
%t1083 = ptrtoint ptr %t1082 to i64
|
|
%t1084 = zext i32 %t1081 to i64
|
|
%t1085 = mul i64 %t1084, %t1083
|
|
%t1086 = load ptr, ptr %t1075
|
|
%t1087 = call ptr @realloc(ptr %t1086, i64 %t1085)
|
|
store ptr %t1087, ptr %t1075
|
|
store i32 %t1081, ptr %t1074
|
|
br label %put274
|
|
put274:
|
|
%t1088 = load ptr, ptr %t1075
|
|
%t1089 = getelementptr inbounds ptr, ptr %t1088, i32 %t1076
|
|
store ptr @.str5666, ptr %t1089
|
|
%t1090 = add i32 %t1076, 1
|
|
store i32 %t1090, ptr %t1073
|
|
%t1091 = load ptr, ptr %t285
|
|
%t1092 = getelementptr inbounds %LSlice, ptr %t1091, i32 0, i32 1
|
|
%t1093 = getelementptr inbounds %LSlice, ptr %t1091, i32 0, i32 2
|
|
%t1094 = getelementptr inbounds %LSlice, ptr %t1091, i32 0, i32 0
|
|
%t1095 = load i32, ptr %t1092
|
|
%t1096 = load i32, ptr %t1093
|
|
%t1097 = icmp sge i32 %t1095, %t1096
|
|
br i1 %t1097, label %grow275, label %put276
|
|
grow275:
|
|
%t1098 = mul i32 %t1096, 2
|
|
%t1099 = icmp eq i32 %t1096, 0
|
|
%t1100 = select i1 %t1099, i32 8, i32 %t1098
|
|
%t1101 = getelementptr ptr, ptr null, i32 1
|
|
%t1102 = ptrtoint ptr %t1101 to i64
|
|
%t1103 = zext i32 %t1100 to i64
|
|
%t1104 = mul i64 %t1103, %t1102
|
|
%t1105 = load ptr, ptr %t1094
|
|
%t1106 = call ptr @realloc(ptr %t1105, i64 %t1104)
|
|
store ptr %t1106, ptr %t1094
|
|
store i32 %t1100, ptr %t1093
|
|
br label %put276
|
|
put276:
|
|
%t1107 = load ptr, ptr %t1094
|
|
%t1108 = getelementptr inbounds ptr, ptr %t1107, i32 %t1095
|
|
store ptr @.str5667, ptr %t1108
|
|
%t1109 = add i32 %t1095, 1
|
|
store i32 %t1109, ptr %t1092
|
|
%t1110 = load ptr, ptr %t285
|
|
%t1111 = getelementptr inbounds %LSlice, ptr %t1110, i32 0, i32 1
|
|
%t1112 = getelementptr inbounds %LSlice, ptr %t1110, i32 0, i32 2
|
|
%t1113 = getelementptr inbounds %LSlice, ptr %t1110, i32 0, i32 0
|
|
%t1114 = load i32, ptr %t1111
|
|
%t1115 = load i32, ptr %t1112
|
|
%t1116 = icmp sge i32 %t1114, %t1115
|
|
br i1 %t1116, label %grow277, label %put278
|
|
grow277:
|
|
%t1117 = mul i32 %t1115, 2
|
|
%t1118 = icmp eq i32 %t1115, 0
|
|
%t1119 = select i1 %t1118, i32 8, i32 %t1117
|
|
%t1120 = getelementptr ptr, ptr null, i32 1
|
|
%t1121 = ptrtoint ptr %t1120 to i64
|
|
%t1122 = zext i32 %t1119 to i64
|
|
%t1123 = mul i64 %t1122, %t1121
|
|
%t1124 = load ptr, ptr %t1113
|
|
%t1125 = call ptr @realloc(ptr %t1124, i64 %t1123)
|
|
store ptr %t1125, ptr %t1113
|
|
store i32 %t1119, ptr %t1112
|
|
br label %put278
|
|
put278:
|
|
%t1126 = load ptr, ptr %t1113
|
|
%t1127 = getelementptr inbounds ptr, ptr %t1126, i32 %t1114
|
|
store ptr @.str5668, ptr %t1127
|
|
%t1128 = add i32 %t1114, 1
|
|
store i32 %t1128, ptr %t1111
|
|
%t1129 = load ptr, ptr %t285
|
|
%t1130 = getelementptr inbounds %LSlice, ptr %t1129, i32 0, i32 1
|
|
%t1131 = getelementptr inbounds %LSlice, ptr %t1129, i32 0, i32 2
|
|
%t1132 = getelementptr inbounds %LSlice, ptr %t1129, i32 0, i32 0
|
|
%t1133 = load i32, ptr %t1130
|
|
%t1134 = load i32, ptr %t1131
|
|
%t1135 = icmp sge i32 %t1133, %t1134
|
|
br i1 %t1135, label %grow279, label %put280
|
|
grow279:
|
|
%t1136 = mul i32 %t1134, 2
|
|
%t1137 = icmp eq i32 %t1134, 0
|
|
%t1138 = select i1 %t1137, i32 8, i32 %t1136
|
|
%t1139 = getelementptr ptr, ptr null, i32 1
|
|
%t1140 = ptrtoint ptr %t1139 to i64
|
|
%t1141 = zext i32 %t1138 to i64
|
|
%t1142 = mul i64 %t1141, %t1140
|
|
%t1143 = load ptr, ptr %t1132
|
|
%t1144 = call ptr @realloc(ptr %t1143, i64 %t1142)
|
|
store ptr %t1144, ptr %t1132
|
|
store i32 %t1138, ptr %t1131
|
|
br label %put280
|
|
put280:
|
|
%t1145 = load ptr, ptr %t1132
|
|
%t1146 = getelementptr inbounds ptr, ptr %t1145, i32 %t1133
|
|
store ptr @.str5669, ptr %t1146
|
|
%t1147 = add i32 %t1133, 1
|
|
store i32 %t1147, ptr %t1130
|
|
%t1148 = load ptr, ptr %t285
|
|
%t1149 = getelementptr inbounds %LSlice, ptr %t1148, i32 0, i32 1
|
|
%t1150 = getelementptr inbounds %LSlice, ptr %t1148, i32 0, i32 2
|
|
%t1151 = getelementptr inbounds %LSlice, ptr %t1148, i32 0, i32 0
|
|
%t1152 = load i32, ptr %t1149
|
|
%t1153 = load i32, ptr %t1150
|
|
%t1154 = icmp sge i32 %t1152, %t1153
|
|
br i1 %t1154, label %grow281, label %put282
|
|
grow281:
|
|
%t1155 = mul i32 %t1153, 2
|
|
%t1156 = icmp eq i32 %t1153, 0
|
|
%t1157 = select i1 %t1156, i32 8, i32 %t1155
|
|
%t1158 = getelementptr ptr, ptr null, i32 1
|
|
%t1159 = ptrtoint ptr %t1158 to i64
|
|
%t1160 = zext i32 %t1157 to i64
|
|
%t1161 = mul i64 %t1160, %t1159
|
|
%t1162 = load ptr, ptr %t1151
|
|
%t1163 = call ptr @realloc(ptr %t1162, i64 %t1161)
|
|
store ptr %t1163, ptr %t1151
|
|
store i32 %t1157, ptr %t1150
|
|
br label %put282
|
|
put282:
|
|
%t1164 = load ptr, ptr %t1151
|
|
%t1165 = getelementptr inbounds ptr, ptr %t1164, i32 %t1152
|
|
store ptr @.str5670, ptr %t1165
|
|
%t1166 = add i32 %t1152, 1
|
|
store i32 %t1166, ptr %t1149
|
|
%t1167 = load ptr, ptr %t285
|
|
%t1168 = getelementptr inbounds %LSlice, ptr %t1167, i32 0, i32 1
|
|
%t1169 = getelementptr inbounds %LSlice, ptr %t1167, i32 0, i32 2
|
|
%t1170 = getelementptr inbounds %LSlice, ptr %t1167, i32 0, i32 0
|
|
%t1171 = load i32, ptr %t1168
|
|
%t1172 = load i32, ptr %t1169
|
|
%t1173 = icmp sge i32 %t1171, %t1172
|
|
br i1 %t1173, label %grow283, label %put284
|
|
grow283:
|
|
%t1174 = mul i32 %t1172, 2
|
|
%t1175 = icmp eq i32 %t1172, 0
|
|
%t1176 = select i1 %t1175, i32 8, i32 %t1174
|
|
%t1177 = getelementptr ptr, ptr null, i32 1
|
|
%t1178 = ptrtoint ptr %t1177 to i64
|
|
%t1179 = zext i32 %t1176 to i64
|
|
%t1180 = mul i64 %t1179, %t1178
|
|
%t1181 = load ptr, ptr %t1170
|
|
%t1182 = call ptr @realloc(ptr %t1181, i64 %t1180)
|
|
store ptr %t1182, ptr %t1170
|
|
store i32 %t1176, ptr %t1169
|
|
br label %put284
|
|
put284:
|
|
%t1183 = load ptr, ptr %t1170
|
|
%t1184 = getelementptr inbounds ptr, ptr %t1183, i32 %t1171
|
|
store ptr @.str5671, ptr %t1184
|
|
%t1185 = add i32 %t1171, 1
|
|
store i32 %t1185, ptr %t1168
|
|
br label %ifend270
|
|
ifend270:
|
|
%t1186 = load ptr, ptr %t1
|
|
%t1187 = call i32 @fn_str_eq(ptr %t1186, ptr @.str5672)
|
|
%t1188 = icmp ne i32 %t1187, 0
|
|
br i1 %t1188, label %then285, label %ifend287
|
|
then285:
|
|
store ptr @.str5673, ptr %t278
|
|
%t1189 = load ptr, ptr %t285
|
|
%t1190 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 1
|
|
%t1191 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 2
|
|
%t1192 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 0
|
|
%t1193 = load i32, ptr %t1190
|
|
%t1194 = load i32, ptr %t1191
|
|
%t1195 = icmp sge i32 %t1193, %t1194
|
|
br i1 %t1195, label %grow288, label %put289
|
|
grow288:
|
|
%t1196 = mul i32 %t1194, 2
|
|
%t1197 = icmp eq i32 %t1194, 0
|
|
%t1198 = select i1 %t1197, i32 8, i32 %t1196
|
|
%t1199 = getelementptr ptr, ptr null, i32 1
|
|
%t1200 = ptrtoint ptr %t1199 to i64
|
|
%t1201 = zext i32 %t1198 to i64
|
|
%t1202 = mul i64 %t1201, %t1200
|
|
%t1203 = load ptr, ptr %t1192
|
|
%t1204 = call ptr @realloc(ptr %t1203, i64 %t1202)
|
|
store ptr %t1204, ptr %t1192
|
|
store i32 %t1198, ptr %t1191
|
|
br label %put289
|
|
put289:
|
|
%t1205 = load ptr, ptr %t1192
|
|
%t1206 = getelementptr inbounds ptr, ptr %t1205, i32 %t1193
|
|
store ptr @.str5674, ptr %t1206
|
|
%t1207 = add i32 %t1193, 1
|
|
store i32 %t1207, ptr %t1190
|
|
%t1208 = load ptr, ptr %t285
|
|
%t1209 = getelementptr inbounds %LSlice, ptr %t1208, i32 0, i32 1
|
|
%t1210 = getelementptr inbounds %LSlice, ptr %t1208, i32 0, i32 2
|
|
%t1211 = getelementptr inbounds %LSlice, ptr %t1208, i32 0, i32 0
|
|
%t1212 = load i32, ptr %t1209
|
|
%t1213 = load i32, ptr %t1210
|
|
%t1214 = icmp sge i32 %t1212, %t1213
|
|
br i1 %t1214, label %grow290, label %put291
|
|
grow290:
|
|
%t1215 = mul i32 %t1213, 2
|
|
%t1216 = icmp eq i32 %t1213, 0
|
|
%t1217 = select i1 %t1216, i32 8, i32 %t1215
|
|
%t1218 = getelementptr ptr, ptr null, i32 1
|
|
%t1219 = ptrtoint ptr %t1218 to i64
|
|
%t1220 = zext i32 %t1217 to i64
|
|
%t1221 = mul i64 %t1220, %t1219
|
|
%t1222 = load ptr, ptr %t1211
|
|
%t1223 = call ptr @realloc(ptr %t1222, i64 %t1221)
|
|
store ptr %t1223, ptr %t1211
|
|
store i32 %t1217, ptr %t1210
|
|
br label %put291
|
|
put291:
|
|
%t1224 = load ptr, ptr %t1211
|
|
%t1225 = getelementptr inbounds ptr, ptr %t1224, i32 %t1212
|
|
store ptr @.str5675, ptr %t1225
|
|
%t1226 = add i32 %t1212, 1
|
|
store i32 %t1226, ptr %t1209
|
|
%t1227 = load ptr, ptr %t285
|
|
%t1228 = getelementptr inbounds %LSlice, ptr %t1227, i32 0, i32 1
|
|
%t1229 = getelementptr inbounds %LSlice, ptr %t1227, i32 0, i32 2
|
|
%t1230 = getelementptr inbounds %LSlice, ptr %t1227, i32 0, i32 0
|
|
%t1231 = load i32, ptr %t1228
|
|
%t1232 = load i32, ptr %t1229
|
|
%t1233 = icmp sge i32 %t1231, %t1232
|
|
br i1 %t1233, label %grow292, label %put293
|
|
grow292:
|
|
%t1234 = mul i32 %t1232, 2
|
|
%t1235 = icmp eq i32 %t1232, 0
|
|
%t1236 = select i1 %t1235, i32 8, i32 %t1234
|
|
%t1237 = getelementptr ptr, ptr null, i32 1
|
|
%t1238 = ptrtoint ptr %t1237 to i64
|
|
%t1239 = zext i32 %t1236 to i64
|
|
%t1240 = mul i64 %t1239, %t1238
|
|
%t1241 = load ptr, ptr %t1230
|
|
%t1242 = call ptr @realloc(ptr %t1241, i64 %t1240)
|
|
store ptr %t1242, ptr %t1230
|
|
store i32 %t1236, ptr %t1229
|
|
br label %put293
|
|
put293:
|
|
%t1243 = load ptr, ptr %t1230
|
|
%t1244 = getelementptr inbounds ptr, ptr %t1243, i32 %t1231
|
|
store ptr @.str5676, ptr %t1244
|
|
%t1245 = add i32 %t1231, 1
|
|
store i32 %t1245, ptr %t1228
|
|
%t1246 = load ptr, ptr %t285
|
|
%t1247 = getelementptr inbounds %LSlice, ptr %t1246, i32 0, i32 1
|
|
%t1248 = getelementptr inbounds %LSlice, ptr %t1246, i32 0, i32 2
|
|
%t1249 = getelementptr inbounds %LSlice, ptr %t1246, i32 0, i32 0
|
|
%t1250 = load i32, ptr %t1247
|
|
%t1251 = load i32, ptr %t1248
|
|
%t1252 = icmp sge i32 %t1250, %t1251
|
|
br i1 %t1252, label %grow294, label %put295
|
|
grow294:
|
|
%t1253 = mul i32 %t1251, 2
|
|
%t1254 = icmp eq i32 %t1251, 0
|
|
%t1255 = select i1 %t1254, i32 8, i32 %t1253
|
|
%t1256 = getelementptr ptr, ptr null, i32 1
|
|
%t1257 = ptrtoint ptr %t1256 to i64
|
|
%t1258 = zext i32 %t1255 to i64
|
|
%t1259 = mul i64 %t1258, %t1257
|
|
%t1260 = load ptr, ptr %t1249
|
|
%t1261 = call ptr @realloc(ptr %t1260, i64 %t1259)
|
|
store ptr %t1261, ptr %t1249
|
|
store i32 %t1255, ptr %t1248
|
|
br label %put295
|
|
put295:
|
|
%t1262 = load ptr, ptr %t1249
|
|
%t1263 = getelementptr inbounds ptr, ptr %t1262, i32 %t1250
|
|
store ptr @.str5677, ptr %t1263
|
|
%t1264 = add i32 %t1250, 1
|
|
store i32 %t1264, ptr %t1247
|
|
%t1265 = load ptr, ptr %t285
|
|
%t1266 = getelementptr inbounds %LSlice, ptr %t1265, i32 0, i32 1
|
|
%t1267 = getelementptr inbounds %LSlice, ptr %t1265, i32 0, i32 2
|
|
%t1268 = getelementptr inbounds %LSlice, ptr %t1265, i32 0, i32 0
|
|
%t1269 = load i32, ptr %t1266
|
|
%t1270 = load i32, ptr %t1267
|
|
%t1271 = icmp sge i32 %t1269, %t1270
|
|
br i1 %t1271, label %grow296, label %put297
|
|
grow296:
|
|
%t1272 = mul i32 %t1270, 2
|
|
%t1273 = icmp eq i32 %t1270, 0
|
|
%t1274 = select i1 %t1273, i32 8, i32 %t1272
|
|
%t1275 = getelementptr ptr, ptr null, i32 1
|
|
%t1276 = ptrtoint ptr %t1275 to i64
|
|
%t1277 = zext i32 %t1274 to i64
|
|
%t1278 = mul i64 %t1277, %t1276
|
|
%t1279 = load ptr, ptr %t1268
|
|
%t1280 = call ptr @realloc(ptr %t1279, i64 %t1278)
|
|
store ptr %t1280, ptr %t1268
|
|
store i32 %t1274, ptr %t1267
|
|
br label %put297
|
|
put297:
|
|
%t1281 = load ptr, ptr %t1268
|
|
%t1282 = getelementptr inbounds ptr, ptr %t1281, i32 %t1269
|
|
store ptr @.str5678, ptr %t1282
|
|
%t1283 = add i32 %t1269, 1
|
|
store i32 %t1283, ptr %t1266
|
|
%t1284 = load ptr, ptr %t285
|
|
%t1285 = getelementptr inbounds %LSlice, ptr %t1284, i32 0, i32 1
|
|
%t1286 = getelementptr inbounds %LSlice, ptr %t1284, i32 0, i32 2
|
|
%t1287 = getelementptr inbounds %LSlice, ptr %t1284, i32 0, i32 0
|
|
%t1288 = load i32, ptr %t1285
|
|
%t1289 = load i32, ptr %t1286
|
|
%t1290 = icmp sge i32 %t1288, %t1289
|
|
br i1 %t1290, label %grow298, label %put299
|
|
grow298:
|
|
%t1291 = mul i32 %t1289, 2
|
|
%t1292 = icmp eq i32 %t1289, 0
|
|
%t1293 = select i1 %t1292, i32 8, i32 %t1291
|
|
%t1294 = getelementptr ptr, ptr null, i32 1
|
|
%t1295 = ptrtoint ptr %t1294 to i64
|
|
%t1296 = zext i32 %t1293 to i64
|
|
%t1297 = mul i64 %t1296, %t1295
|
|
%t1298 = load ptr, ptr %t1287
|
|
%t1299 = call ptr @realloc(ptr %t1298, i64 %t1297)
|
|
store ptr %t1299, ptr %t1287
|
|
store i32 %t1293, ptr %t1286
|
|
br label %put299
|
|
put299:
|
|
%t1300 = load ptr, ptr %t1287
|
|
%t1301 = getelementptr inbounds ptr, ptr %t1300, i32 %t1288
|
|
store ptr @.str5679, ptr %t1301
|
|
%t1302 = add i32 %t1288, 1
|
|
store i32 %t1302, ptr %t1285
|
|
%t1303 = load ptr, ptr %t285
|
|
%t1304 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 1
|
|
%t1305 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 2
|
|
%t1306 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 0
|
|
%t1307 = load i32, ptr %t1304
|
|
%t1308 = load i32, ptr %t1305
|
|
%t1309 = icmp sge i32 %t1307, %t1308
|
|
br i1 %t1309, label %grow300, label %put301
|
|
grow300:
|
|
%t1310 = mul i32 %t1308, 2
|
|
%t1311 = icmp eq i32 %t1308, 0
|
|
%t1312 = select i1 %t1311, i32 8, i32 %t1310
|
|
%t1313 = getelementptr ptr, ptr null, i32 1
|
|
%t1314 = ptrtoint ptr %t1313 to i64
|
|
%t1315 = zext i32 %t1312 to i64
|
|
%t1316 = mul i64 %t1315, %t1314
|
|
%t1317 = load ptr, ptr %t1306
|
|
%t1318 = call ptr @realloc(ptr %t1317, i64 %t1316)
|
|
store ptr %t1318, ptr %t1306
|
|
store i32 %t1312, ptr %t1305
|
|
br label %put301
|
|
put301:
|
|
%t1319 = load ptr, ptr %t1306
|
|
%t1320 = getelementptr inbounds ptr, ptr %t1319, i32 %t1307
|
|
store ptr @.str5680, ptr %t1320
|
|
%t1321 = add i32 %t1307, 1
|
|
store i32 %t1321, ptr %t1304
|
|
br label %ifend287
|
|
ifend287:
|
|
%t1322 = load ptr, ptr %t1
|
|
%t1323 = call i32 @fn_str_eq(ptr %t1322, ptr @.str5681)
|
|
%t1324 = icmp ne i32 %t1323, 0
|
|
br i1 %t1324, label %then302, label %ifend304
|
|
then302:
|
|
store ptr @.str5682, ptr %t278
|
|
%t1325 = load ptr, ptr %t285
|
|
%t1326 = getelementptr inbounds %LSlice, ptr %t1325, i32 0, i32 1
|
|
%t1327 = getelementptr inbounds %LSlice, ptr %t1325, i32 0, i32 2
|
|
%t1328 = getelementptr inbounds %LSlice, ptr %t1325, i32 0, i32 0
|
|
%t1329 = load i32, ptr %t1326
|
|
%t1330 = load i32, ptr %t1327
|
|
%t1331 = icmp sge i32 %t1329, %t1330
|
|
br i1 %t1331, label %grow305, label %put306
|
|
grow305:
|
|
%t1332 = mul i32 %t1330, 2
|
|
%t1333 = icmp eq i32 %t1330, 0
|
|
%t1334 = select i1 %t1333, i32 8, i32 %t1332
|
|
%t1335 = getelementptr ptr, ptr null, i32 1
|
|
%t1336 = ptrtoint ptr %t1335 to i64
|
|
%t1337 = zext i32 %t1334 to i64
|
|
%t1338 = mul i64 %t1337, %t1336
|
|
%t1339 = load ptr, ptr %t1328
|
|
%t1340 = call ptr @realloc(ptr %t1339, i64 %t1338)
|
|
store ptr %t1340, ptr %t1328
|
|
store i32 %t1334, ptr %t1327
|
|
br label %put306
|
|
put306:
|
|
%t1341 = load ptr, ptr %t1328
|
|
%t1342 = getelementptr inbounds ptr, ptr %t1341, i32 %t1329
|
|
store ptr @.str5683, ptr %t1342
|
|
%t1343 = add i32 %t1329, 1
|
|
store i32 %t1343, ptr %t1326
|
|
%t1344 = load ptr, ptr %t285
|
|
%t1345 = getelementptr inbounds %LSlice, ptr %t1344, i32 0, i32 1
|
|
%t1346 = getelementptr inbounds %LSlice, ptr %t1344, i32 0, i32 2
|
|
%t1347 = getelementptr inbounds %LSlice, ptr %t1344, i32 0, i32 0
|
|
%t1348 = load i32, ptr %t1345
|
|
%t1349 = load i32, ptr %t1346
|
|
%t1350 = icmp sge i32 %t1348, %t1349
|
|
br i1 %t1350, label %grow307, label %put308
|
|
grow307:
|
|
%t1351 = mul i32 %t1349, 2
|
|
%t1352 = icmp eq i32 %t1349, 0
|
|
%t1353 = select i1 %t1352, i32 8, i32 %t1351
|
|
%t1354 = getelementptr ptr, ptr null, i32 1
|
|
%t1355 = ptrtoint ptr %t1354 to i64
|
|
%t1356 = zext i32 %t1353 to i64
|
|
%t1357 = mul i64 %t1356, %t1355
|
|
%t1358 = load ptr, ptr %t1347
|
|
%t1359 = call ptr @realloc(ptr %t1358, i64 %t1357)
|
|
store ptr %t1359, ptr %t1347
|
|
store i32 %t1353, ptr %t1346
|
|
br label %put308
|
|
put308:
|
|
%t1360 = load ptr, ptr %t1347
|
|
%t1361 = getelementptr inbounds ptr, ptr %t1360, i32 %t1348
|
|
store ptr @.str5684, ptr %t1361
|
|
%t1362 = add i32 %t1348, 1
|
|
store i32 %t1362, ptr %t1345
|
|
%t1363 = load ptr, ptr %t285
|
|
%t1364 = getelementptr inbounds %LSlice, ptr %t1363, i32 0, i32 1
|
|
%t1365 = getelementptr inbounds %LSlice, ptr %t1363, i32 0, i32 2
|
|
%t1366 = getelementptr inbounds %LSlice, ptr %t1363, i32 0, i32 0
|
|
%t1367 = load i32, ptr %t1364
|
|
%t1368 = load i32, ptr %t1365
|
|
%t1369 = icmp sge i32 %t1367, %t1368
|
|
br i1 %t1369, label %grow309, label %put310
|
|
grow309:
|
|
%t1370 = mul i32 %t1368, 2
|
|
%t1371 = icmp eq i32 %t1368, 0
|
|
%t1372 = select i1 %t1371, i32 8, i32 %t1370
|
|
%t1373 = getelementptr ptr, ptr null, i32 1
|
|
%t1374 = ptrtoint ptr %t1373 to i64
|
|
%t1375 = zext i32 %t1372 to i64
|
|
%t1376 = mul i64 %t1375, %t1374
|
|
%t1377 = load ptr, ptr %t1366
|
|
%t1378 = call ptr @realloc(ptr %t1377, i64 %t1376)
|
|
store ptr %t1378, ptr %t1366
|
|
store i32 %t1372, ptr %t1365
|
|
br label %put310
|
|
put310:
|
|
%t1379 = load ptr, ptr %t1366
|
|
%t1380 = getelementptr inbounds ptr, ptr %t1379, i32 %t1367
|
|
store ptr @.str5685, ptr %t1380
|
|
%t1381 = add i32 %t1367, 1
|
|
store i32 %t1381, ptr %t1364
|
|
br label %ifend304
|
|
ifend304:
|
|
%t1382 = load ptr, ptr %t1
|
|
%t1383 = call i32 @fn_str_eq(ptr %t1382, ptr @.str5686)
|
|
%t1384 = icmp ne i32 %t1383, 0
|
|
br i1 %t1384, label %then311, label %ifend313
|
|
then311:
|
|
store ptr @.str5687, ptr %t278
|
|
%t1385 = load ptr, ptr %t285
|
|
%t1386 = getelementptr inbounds %LSlice, ptr %t1385, i32 0, i32 1
|
|
%t1387 = getelementptr inbounds %LSlice, ptr %t1385, i32 0, i32 2
|
|
%t1388 = getelementptr inbounds %LSlice, ptr %t1385, i32 0, i32 0
|
|
%t1389 = load i32, ptr %t1386
|
|
%t1390 = load i32, ptr %t1387
|
|
%t1391 = icmp sge i32 %t1389, %t1390
|
|
br i1 %t1391, label %grow314, label %put315
|
|
grow314:
|
|
%t1392 = mul i32 %t1390, 2
|
|
%t1393 = icmp eq i32 %t1390, 0
|
|
%t1394 = select i1 %t1393, i32 8, i32 %t1392
|
|
%t1395 = getelementptr ptr, ptr null, i32 1
|
|
%t1396 = ptrtoint ptr %t1395 to i64
|
|
%t1397 = zext i32 %t1394 to i64
|
|
%t1398 = mul i64 %t1397, %t1396
|
|
%t1399 = load ptr, ptr %t1388
|
|
%t1400 = call ptr @realloc(ptr %t1399, i64 %t1398)
|
|
store ptr %t1400, ptr %t1388
|
|
store i32 %t1394, ptr %t1387
|
|
br label %put315
|
|
put315:
|
|
%t1401 = load ptr, ptr %t1388
|
|
%t1402 = getelementptr inbounds ptr, ptr %t1401, i32 %t1389
|
|
store ptr @.str5688, ptr %t1402
|
|
%t1403 = add i32 %t1389, 1
|
|
store i32 %t1403, ptr %t1386
|
|
%t1404 = load ptr, ptr %t285
|
|
%t1405 = getelementptr inbounds %LSlice, ptr %t1404, i32 0, i32 1
|
|
%t1406 = getelementptr inbounds %LSlice, ptr %t1404, i32 0, i32 2
|
|
%t1407 = getelementptr inbounds %LSlice, ptr %t1404, i32 0, i32 0
|
|
%t1408 = load i32, ptr %t1405
|
|
%t1409 = load i32, ptr %t1406
|
|
%t1410 = icmp sge i32 %t1408, %t1409
|
|
br i1 %t1410, label %grow316, label %put317
|
|
grow316:
|
|
%t1411 = mul i32 %t1409, 2
|
|
%t1412 = icmp eq i32 %t1409, 0
|
|
%t1413 = select i1 %t1412, i32 8, i32 %t1411
|
|
%t1414 = getelementptr ptr, ptr null, i32 1
|
|
%t1415 = ptrtoint ptr %t1414 to i64
|
|
%t1416 = zext i32 %t1413 to i64
|
|
%t1417 = mul i64 %t1416, %t1415
|
|
%t1418 = load ptr, ptr %t1407
|
|
%t1419 = call ptr @realloc(ptr %t1418, i64 %t1417)
|
|
store ptr %t1419, ptr %t1407
|
|
store i32 %t1413, ptr %t1406
|
|
br label %put317
|
|
put317:
|
|
%t1420 = load ptr, ptr %t1407
|
|
%t1421 = getelementptr inbounds ptr, ptr %t1420, i32 %t1408
|
|
store ptr @.str5689, ptr %t1421
|
|
%t1422 = add i32 %t1408, 1
|
|
store i32 %t1422, ptr %t1405
|
|
%t1423 = load ptr, ptr %t285
|
|
%t1424 = getelementptr inbounds %LSlice, ptr %t1423, i32 0, i32 1
|
|
%t1425 = getelementptr inbounds %LSlice, ptr %t1423, i32 0, i32 2
|
|
%t1426 = getelementptr inbounds %LSlice, ptr %t1423, i32 0, i32 0
|
|
%t1427 = load i32, ptr %t1424
|
|
%t1428 = load i32, ptr %t1425
|
|
%t1429 = icmp sge i32 %t1427, %t1428
|
|
br i1 %t1429, label %grow318, label %put319
|
|
grow318:
|
|
%t1430 = mul i32 %t1428, 2
|
|
%t1431 = icmp eq i32 %t1428, 0
|
|
%t1432 = select i1 %t1431, i32 8, i32 %t1430
|
|
%t1433 = getelementptr ptr, ptr null, i32 1
|
|
%t1434 = ptrtoint ptr %t1433 to i64
|
|
%t1435 = zext i32 %t1432 to i64
|
|
%t1436 = mul i64 %t1435, %t1434
|
|
%t1437 = load ptr, ptr %t1426
|
|
%t1438 = call ptr @realloc(ptr %t1437, i64 %t1436)
|
|
store ptr %t1438, ptr %t1426
|
|
store i32 %t1432, ptr %t1425
|
|
br label %put319
|
|
put319:
|
|
%t1439 = load ptr, ptr %t1426
|
|
%t1440 = getelementptr inbounds ptr, ptr %t1439, i32 %t1427
|
|
store ptr @.str5690, ptr %t1440
|
|
%t1441 = add i32 %t1427, 1
|
|
store i32 %t1441, ptr %t1424
|
|
%t1442 = load ptr, ptr %t285
|
|
%t1443 = getelementptr inbounds %LSlice, ptr %t1442, i32 0, i32 1
|
|
%t1444 = getelementptr inbounds %LSlice, ptr %t1442, i32 0, i32 2
|
|
%t1445 = getelementptr inbounds %LSlice, ptr %t1442, i32 0, i32 0
|
|
%t1446 = load i32, ptr %t1443
|
|
%t1447 = load i32, ptr %t1444
|
|
%t1448 = icmp sge i32 %t1446, %t1447
|
|
br i1 %t1448, label %grow320, label %put321
|
|
grow320:
|
|
%t1449 = mul i32 %t1447, 2
|
|
%t1450 = icmp eq i32 %t1447, 0
|
|
%t1451 = select i1 %t1450, i32 8, i32 %t1449
|
|
%t1452 = getelementptr ptr, ptr null, i32 1
|
|
%t1453 = ptrtoint ptr %t1452 to i64
|
|
%t1454 = zext i32 %t1451 to i64
|
|
%t1455 = mul i64 %t1454, %t1453
|
|
%t1456 = load ptr, ptr %t1445
|
|
%t1457 = call ptr @realloc(ptr %t1456, i64 %t1455)
|
|
store ptr %t1457, ptr %t1445
|
|
store i32 %t1451, ptr %t1444
|
|
br label %put321
|
|
put321:
|
|
%t1458 = load ptr, ptr %t1445
|
|
%t1459 = getelementptr inbounds ptr, ptr %t1458, i32 %t1446
|
|
store ptr @.str5691, ptr %t1459
|
|
%t1460 = add i32 %t1446, 1
|
|
store i32 %t1460, ptr %t1443
|
|
br label %ifend313
|
|
ifend313:
|
|
%t1461 = load ptr, ptr %t1
|
|
%t1462 = call i32 @fn_str_eq(ptr %t1461, ptr @.str5692)
|
|
%t1463 = icmp ne i32 %t1462, 0
|
|
br i1 %t1463, label %then322, label %ifend324
|
|
then322:
|
|
store ptr @.str5693, ptr %t278
|
|
%t1464 = load ptr, ptr %t285
|
|
%t1465 = getelementptr inbounds %LSlice, ptr %t1464, i32 0, i32 1
|
|
%t1466 = getelementptr inbounds %LSlice, ptr %t1464, i32 0, i32 2
|
|
%t1467 = getelementptr inbounds %LSlice, ptr %t1464, i32 0, i32 0
|
|
%t1468 = load i32, ptr %t1465
|
|
%t1469 = load i32, ptr %t1466
|
|
%t1470 = icmp sge i32 %t1468, %t1469
|
|
br i1 %t1470, label %grow325, label %put326
|
|
grow325:
|
|
%t1471 = mul i32 %t1469, 2
|
|
%t1472 = icmp eq i32 %t1469, 0
|
|
%t1473 = select i1 %t1472, i32 8, i32 %t1471
|
|
%t1474 = getelementptr ptr, ptr null, i32 1
|
|
%t1475 = ptrtoint ptr %t1474 to i64
|
|
%t1476 = zext i32 %t1473 to i64
|
|
%t1477 = mul i64 %t1476, %t1475
|
|
%t1478 = load ptr, ptr %t1467
|
|
%t1479 = call ptr @realloc(ptr %t1478, i64 %t1477)
|
|
store ptr %t1479, ptr %t1467
|
|
store i32 %t1473, ptr %t1466
|
|
br label %put326
|
|
put326:
|
|
%t1480 = load ptr, ptr %t1467
|
|
%t1481 = getelementptr inbounds ptr, ptr %t1480, i32 %t1468
|
|
store ptr @.str5694, ptr %t1481
|
|
%t1482 = add i32 %t1468, 1
|
|
store i32 %t1482, ptr %t1465
|
|
%t1483 = load ptr, ptr %t285
|
|
%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 %grow327, label %put328
|
|
grow327:
|
|
%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 %put328
|
|
put328:
|
|
%t1499 = load ptr, ptr %t1486
|
|
%t1500 = getelementptr inbounds ptr, ptr %t1499, i32 %t1487
|
|
store ptr @.str5695, ptr %t1500
|
|
%t1501 = add i32 %t1487, 1
|
|
store i32 %t1501, ptr %t1484
|
|
%t1502 = load ptr, ptr %t285
|
|
%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 %grow329, label %put330
|
|
grow329:
|
|
%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 %put330
|
|
put330:
|
|
%t1518 = load ptr, ptr %t1505
|
|
%t1519 = getelementptr inbounds ptr, ptr %t1518, i32 %t1506
|
|
store ptr @.str5696, ptr %t1519
|
|
%t1520 = add i32 %t1506, 1
|
|
store i32 %t1520, ptr %t1503
|
|
%t1521 = load ptr, ptr %t285
|
|
%t1522 = getelementptr inbounds %LSlice, ptr %t1521, i32 0, i32 1
|
|
%t1523 = getelementptr inbounds %LSlice, ptr %t1521, i32 0, i32 2
|
|
%t1524 = getelementptr inbounds %LSlice, ptr %t1521, i32 0, i32 0
|
|
%t1525 = load i32, ptr %t1522
|
|
%t1526 = load i32, ptr %t1523
|
|
%t1527 = icmp sge i32 %t1525, %t1526
|
|
br i1 %t1527, label %grow331, label %put332
|
|
grow331:
|
|
%t1528 = mul i32 %t1526, 2
|
|
%t1529 = icmp eq i32 %t1526, 0
|
|
%t1530 = select i1 %t1529, i32 8, i32 %t1528
|
|
%t1531 = getelementptr ptr, ptr null, i32 1
|
|
%t1532 = ptrtoint ptr %t1531 to i64
|
|
%t1533 = zext i32 %t1530 to i64
|
|
%t1534 = mul i64 %t1533, %t1532
|
|
%t1535 = load ptr, ptr %t1524
|
|
%t1536 = call ptr @realloc(ptr %t1535, i64 %t1534)
|
|
store ptr %t1536, ptr %t1524
|
|
store i32 %t1530, ptr %t1523
|
|
br label %put332
|
|
put332:
|
|
%t1537 = load ptr, ptr %t1524
|
|
%t1538 = getelementptr inbounds ptr, ptr %t1537, i32 %t1525
|
|
store ptr @.str5697, ptr %t1538
|
|
%t1539 = add i32 %t1525, 1
|
|
store i32 %t1539, ptr %t1522
|
|
%t1540 = load ptr, ptr %t285
|
|
%t1541 = getelementptr inbounds %LSlice, ptr %t1540, i32 0, i32 1
|
|
%t1542 = getelementptr inbounds %LSlice, ptr %t1540, i32 0, i32 2
|
|
%t1543 = getelementptr inbounds %LSlice, ptr %t1540, i32 0, i32 0
|
|
%t1544 = load i32, ptr %t1541
|
|
%t1545 = load i32, ptr %t1542
|
|
%t1546 = icmp sge i32 %t1544, %t1545
|
|
br i1 %t1546, label %grow333, label %put334
|
|
grow333:
|
|
%t1547 = mul i32 %t1545, 2
|
|
%t1548 = icmp eq i32 %t1545, 0
|
|
%t1549 = select i1 %t1548, i32 8, i32 %t1547
|
|
%t1550 = getelementptr ptr, ptr null, i32 1
|
|
%t1551 = ptrtoint ptr %t1550 to i64
|
|
%t1552 = zext i32 %t1549 to i64
|
|
%t1553 = mul i64 %t1552, %t1551
|
|
%t1554 = load ptr, ptr %t1543
|
|
%t1555 = call ptr @realloc(ptr %t1554, i64 %t1553)
|
|
store ptr %t1555, ptr %t1543
|
|
store i32 %t1549, ptr %t1542
|
|
br label %put334
|
|
put334:
|
|
%t1556 = load ptr, ptr %t1543
|
|
%t1557 = getelementptr inbounds ptr, ptr %t1556, i32 %t1544
|
|
store ptr @.str5698, ptr %t1557
|
|
%t1558 = add i32 %t1544, 1
|
|
store i32 %t1558, ptr %t1541
|
|
br label %ifend324
|
|
ifend324:
|
|
%t1559 = load ptr, ptr %t1
|
|
%t1560 = call i32 @fn_str_eq(ptr %t1559, ptr @.str5699)
|
|
%t1561 = icmp ne i32 %t1560, 0
|
|
br i1 %t1561, label %then335, label %ifend337
|
|
then335:
|
|
store ptr @.str5700, ptr %t278
|
|
%t1562 = load ptr, ptr %t285
|
|
%t1563 = getelementptr inbounds %LSlice, ptr %t1562, i32 0, i32 1
|
|
%t1564 = getelementptr inbounds %LSlice, ptr %t1562, i32 0, i32 2
|
|
%t1565 = getelementptr inbounds %LSlice, ptr %t1562, i32 0, i32 0
|
|
%t1566 = load i32, ptr %t1563
|
|
%t1567 = load i32, ptr %t1564
|
|
%t1568 = icmp sge i32 %t1566, %t1567
|
|
br i1 %t1568, label %grow338, label %put339
|
|
grow338:
|
|
%t1569 = mul i32 %t1567, 2
|
|
%t1570 = icmp eq i32 %t1567, 0
|
|
%t1571 = select i1 %t1570, i32 8, i32 %t1569
|
|
%t1572 = getelementptr ptr, ptr null, i32 1
|
|
%t1573 = ptrtoint ptr %t1572 to i64
|
|
%t1574 = zext i32 %t1571 to i64
|
|
%t1575 = mul i64 %t1574, %t1573
|
|
%t1576 = load ptr, ptr %t1565
|
|
%t1577 = call ptr @realloc(ptr %t1576, i64 %t1575)
|
|
store ptr %t1577, ptr %t1565
|
|
store i32 %t1571, ptr %t1564
|
|
br label %put339
|
|
put339:
|
|
%t1578 = load ptr, ptr %t1565
|
|
%t1579 = getelementptr inbounds ptr, ptr %t1578, i32 %t1566
|
|
store ptr @.str5701, ptr %t1579
|
|
%t1580 = add i32 %t1566, 1
|
|
store i32 %t1580, ptr %t1563
|
|
%t1581 = load ptr, ptr %t285
|
|
%t1582 = getelementptr inbounds %LSlice, ptr %t1581, i32 0, i32 1
|
|
%t1583 = getelementptr inbounds %LSlice, ptr %t1581, i32 0, i32 2
|
|
%t1584 = getelementptr inbounds %LSlice, ptr %t1581, i32 0, i32 0
|
|
%t1585 = load i32, ptr %t1582
|
|
%t1586 = load i32, ptr %t1583
|
|
%t1587 = icmp sge i32 %t1585, %t1586
|
|
br i1 %t1587, label %grow340, label %put341
|
|
grow340:
|
|
%t1588 = mul i32 %t1586, 2
|
|
%t1589 = icmp eq i32 %t1586, 0
|
|
%t1590 = select i1 %t1589, i32 8, i32 %t1588
|
|
%t1591 = getelementptr ptr, ptr null, i32 1
|
|
%t1592 = ptrtoint ptr %t1591 to i64
|
|
%t1593 = zext i32 %t1590 to i64
|
|
%t1594 = mul i64 %t1593, %t1592
|
|
%t1595 = load ptr, ptr %t1584
|
|
%t1596 = call ptr @realloc(ptr %t1595, i64 %t1594)
|
|
store ptr %t1596, ptr %t1584
|
|
store i32 %t1590, ptr %t1583
|
|
br label %put341
|
|
put341:
|
|
%t1597 = load ptr, ptr %t1584
|
|
%t1598 = getelementptr inbounds ptr, ptr %t1597, i32 %t1585
|
|
store ptr @.str5702, ptr %t1598
|
|
%t1599 = add i32 %t1585, 1
|
|
store i32 %t1599, ptr %t1582
|
|
br label %ifend337
|
|
ifend337:
|
|
%t1600 = load ptr, ptr %t1
|
|
%t1601 = call i32 @fn_str_eq(ptr %t1600, ptr @.str5703)
|
|
%t1602 = icmp ne i32 %t1601, 0
|
|
br i1 %t1602, label %then342, label %ifend344
|
|
then342:
|
|
store ptr @.str5704, ptr %t278
|
|
%t1603 = load ptr, ptr %t285
|
|
%t1604 = getelementptr inbounds %LSlice, ptr %t1603, i32 0, i32 1
|
|
%t1605 = getelementptr inbounds %LSlice, ptr %t1603, i32 0, i32 2
|
|
%t1606 = getelementptr inbounds %LSlice, ptr %t1603, i32 0, i32 0
|
|
%t1607 = load i32, ptr %t1604
|
|
%t1608 = load i32, ptr %t1605
|
|
%t1609 = icmp sge i32 %t1607, %t1608
|
|
br i1 %t1609, label %grow345, label %put346
|
|
grow345:
|
|
%t1610 = mul i32 %t1608, 2
|
|
%t1611 = icmp eq i32 %t1608, 0
|
|
%t1612 = select i1 %t1611, i32 8, i32 %t1610
|
|
%t1613 = getelementptr ptr, ptr null, i32 1
|
|
%t1614 = ptrtoint ptr %t1613 to i64
|
|
%t1615 = zext i32 %t1612 to i64
|
|
%t1616 = mul i64 %t1615, %t1614
|
|
%t1617 = load ptr, ptr %t1606
|
|
%t1618 = call ptr @realloc(ptr %t1617, i64 %t1616)
|
|
store ptr %t1618, ptr %t1606
|
|
store i32 %t1612, ptr %t1605
|
|
br label %put346
|
|
put346:
|
|
%t1619 = load ptr, ptr %t1606
|
|
%t1620 = getelementptr inbounds ptr, ptr %t1619, i32 %t1607
|
|
store ptr @.str5705, ptr %t1620
|
|
%t1621 = add i32 %t1607, 1
|
|
store i32 %t1621, ptr %t1604
|
|
%t1622 = load ptr, ptr %t285
|
|
%t1623 = getelementptr inbounds %LSlice, ptr %t1622, i32 0, i32 1
|
|
%t1624 = getelementptr inbounds %LSlice, ptr %t1622, i32 0, i32 2
|
|
%t1625 = getelementptr inbounds %LSlice, ptr %t1622, i32 0, i32 0
|
|
%t1626 = load i32, ptr %t1623
|
|
%t1627 = load i32, ptr %t1624
|
|
%t1628 = icmp sge i32 %t1626, %t1627
|
|
br i1 %t1628, label %grow347, label %put348
|
|
grow347:
|
|
%t1629 = mul i32 %t1627, 2
|
|
%t1630 = icmp eq i32 %t1627, 0
|
|
%t1631 = select i1 %t1630, i32 8, i32 %t1629
|
|
%t1632 = getelementptr ptr, ptr null, i32 1
|
|
%t1633 = ptrtoint ptr %t1632 to i64
|
|
%t1634 = zext i32 %t1631 to i64
|
|
%t1635 = mul i64 %t1634, %t1633
|
|
%t1636 = load ptr, ptr %t1625
|
|
%t1637 = call ptr @realloc(ptr %t1636, i64 %t1635)
|
|
store ptr %t1637, ptr %t1625
|
|
store i32 %t1631, ptr %t1624
|
|
br label %put348
|
|
put348:
|
|
%t1638 = load ptr, ptr %t1625
|
|
%t1639 = getelementptr inbounds ptr, ptr %t1638, i32 %t1626
|
|
store ptr @.str5706, ptr %t1639
|
|
%t1640 = add i32 %t1626, 1
|
|
store i32 %t1640, ptr %t1623
|
|
%t1641 = load ptr, ptr %t285
|
|
%t1642 = getelementptr inbounds %LSlice, ptr %t1641, i32 0, i32 1
|
|
%t1643 = getelementptr inbounds %LSlice, ptr %t1641, i32 0, i32 2
|
|
%t1644 = getelementptr inbounds %LSlice, ptr %t1641, i32 0, i32 0
|
|
%t1645 = load i32, ptr %t1642
|
|
%t1646 = load i32, ptr %t1643
|
|
%t1647 = icmp sge i32 %t1645, %t1646
|
|
br i1 %t1647, label %grow349, label %put350
|
|
grow349:
|
|
%t1648 = mul i32 %t1646, 2
|
|
%t1649 = icmp eq i32 %t1646, 0
|
|
%t1650 = select i1 %t1649, i32 8, i32 %t1648
|
|
%t1651 = getelementptr ptr, ptr null, i32 1
|
|
%t1652 = ptrtoint ptr %t1651 to i64
|
|
%t1653 = zext i32 %t1650 to i64
|
|
%t1654 = mul i64 %t1653, %t1652
|
|
%t1655 = load ptr, ptr %t1644
|
|
%t1656 = call ptr @realloc(ptr %t1655, i64 %t1654)
|
|
store ptr %t1656, ptr %t1644
|
|
store i32 %t1650, ptr %t1643
|
|
br label %put350
|
|
put350:
|
|
%t1657 = load ptr, ptr %t1644
|
|
%t1658 = getelementptr inbounds ptr, ptr %t1657, i32 %t1645
|
|
store ptr @.str5707, ptr %t1658
|
|
%t1659 = add i32 %t1645, 1
|
|
store i32 %t1659, ptr %t1642
|
|
%t1660 = load ptr, ptr %t285
|
|
%t1661 = getelementptr inbounds %LSlice, ptr %t1660, i32 0, i32 1
|
|
%t1662 = getelementptr inbounds %LSlice, ptr %t1660, i32 0, i32 2
|
|
%t1663 = getelementptr inbounds %LSlice, ptr %t1660, i32 0, i32 0
|
|
%t1664 = load i32, ptr %t1661
|
|
%t1665 = load i32, ptr %t1662
|
|
%t1666 = icmp sge i32 %t1664, %t1665
|
|
br i1 %t1666, label %grow351, label %put352
|
|
grow351:
|
|
%t1667 = mul i32 %t1665, 2
|
|
%t1668 = icmp eq i32 %t1665, 0
|
|
%t1669 = select i1 %t1668, i32 8, i32 %t1667
|
|
%t1670 = getelementptr ptr, ptr null, i32 1
|
|
%t1671 = ptrtoint ptr %t1670 to i64
|
|
%t1672 = zext i32 %t1669 to i64
|
|
%t1673 = mul i64 %t1672, %t1671
|
|
%t1674 = load ptr, ptr %t1663
|
|
%t1675 = call ptr @realloc(ptr %t1674, i64 %t1673)
|
|
store ptr %t1675, ptr %t1663
|
|
store i32 %t1669, ptr %t1662
|
|
br label %put352
|
|
put352:
|
|
%t1676 = load ptr, ptr %t1663
|
|
%t1677 = getelementptr inbounds ptr, ptr %t1676, i32 %t1664
|
|
store ptr @.str5708, ptr %t1677
|
|
%t1678 = add i32 %t1664, 1
|
|
store i32 %t1678, ptr %t1661
|
|
br label %ifend344
|
|
ifend344:
|
|
%t1679 = load ptr, ptr %t1
|
|
%t1680 = call i32 @fn_str_eq(ptr %t1679, ptr @.str5709)
|
|
%t1681 = icmp ne i32 %t1680, 0
|
|
br i1 %t1681, label %then353, label %ifend355
|
|
then353:
|
|
store ptr @.str5710, ptr %t278
|
|
br label %ifend355
|
|
ifend355:
|
|
%t1682 = load ptr, ptr %t1
|
|
%t1683 = call i32 @fn_str_eq(ptr %t1682, ptr @.str5711)
|
|
%t1684 = icmp ne i32 %t1683, 0
|
|
br i1 %t1684, label %then356, label %ifend358
|
|
then356:
|
|
store ptr @.str5712, ptr %t278
|
|
%t1685 = load ptr, ptr %t285
|
|
%t1686 = getelementptr inbounds %LSlice, ptr %t1685, i32 0, i32 1
|
|
%t1687 = getelementptr inbounds %LSlice, ptr %t1685, i32 0, i32 2
|
|
%t1688 = getelementptr inbounds %LSlice, ptr %t1685, i32 0, i32 0
|
|
%t1689 = load i32, ptr %t1686
|
|
%t1690 = load i32, ptr %t1687
|
|
%t1691 = icmp sge i32 %t1689, %t1690
|
|
br i1 %t1691, label %grow359, label %put360
|
|
grow359:
|
|
%t1692 = mul i32 %t1690, 2
|
|
%t1693 = icmp eq i32 %t1690, 0
|
|
%t1694 = select i1 %t1693, i32 8, i32 %t1692
|
|
%t1695 = getelementptr ptr, ptr null, i32 1
|
|
%t1696 = ptrtoint ptr %t1695 to i64
|
|
%t1697 = zext i32 %t1694 to i64
|
|
%t1698 = mul i64 %t1697, %t1696
|
|
%t1699 = load ptr, ptr %t1688
|
|
%t1700 = call ptr @realloc(ptr %t1699, i64 %t1698)
|
|
store ptr %t1700, ptr %t1688
|
|
store i32 %t1694, ptr %t1687
|
|
br label %put360
|
|
put360:
|
|
%t1701 = load ptr, ptr %t1688
|
|
%t1702 = getelementptr inbounds ptr, ptr %t1701, i32 %t1689
|
|
store ptr @.str5713, ptr %t1702
|
|
%t1703 = add i32 %t1689, 1
|
|
store i32 %t1703, ptr %t1686
|
|
br label %ifend358
|
|
ifend358:
|
|
%t1704 = load ptr, ptr %t1
|
|
%t1705 = call i32 @fn_str_eq(ptr %t1704, ptr @.str5714)
|
|
%t1706 = icmp ne i32 %t1705, 0
|
|
br i1 %t1706, label %then361, label %ifend363
|
|
then361:
|
|
store ptr @.str5715, ptr %t278
|
|
%t1707 = load ptr, ptr %t285
|
|
%t1708 = getelementptr inbounds %LSlice, ptr %t1707, i32 0, i32 1
|
|
%t1709 = getelementptr inbounds %LSlice, ptr %t1707, i32 0, i32 2
|
|
%t1710 = getelementptr inbounds %LSlice, ptr %t1707, i32 0, i32 0
|
|
%t1711 = load i32, ptr %t1708
|
|
%t1712 = load i32, ptr %t1709
|
|
%t1713 = icmp sge i32 %t1711, %t1712
|
|
br i1 %t1713, label %grow364, label %put365
|
|
grow364:
|
|
%t1714 = mul i32 %t1712, 2
|
|
%t1715 = icmp eq i32 %t1712, 0
|
|
%t1716 = select i1 %t1715, i32 8, i32 %t1714
|
|
%t1717 = getelementptr ptr, ptr null, i32 1
|
|
%t1718 = ptrtoint ptr %t1717 to i64
|
|
%t1719 = zext i32 %t1716 to i64
|
|
%t1720 = mul i64 %t1719, %t1718
|
|
%t1721 = load ptr, ptr %t1710
|
|
%t1722 = call ptr @realloc(ptr %t1721, i64 %t1720)
|
|
store ptr %t1722, ptr %t1710
|
|
store i32 %t1716, ptr %t1709
|
|
br label %put365
|
|
put365:
|
|
%t1723 = load ptr, ptr %t1710
|
|
%t1724 = getelementptr inbounds ptr, ptr %t1723, i32 %t1711
|
|
store ptr @.str5716, ptr %t1724
|
|
%t1725 = add i32 %t1711, 1
|
|
store i32 %t1725, ptr %t1708
|
|
br label %ifend363
|
|
ifend363:
|
|
%t1726 = load ptr, ptr %t1
|
|
%t1727 = call i32 @fn_str_eq(ptr %t1726, ptr @.str5717)
|
|
%t1728 = icmp ne i32 %t1727, 0
|
|
br i1 %t1728, label %then366, label %ifend368
|
|
then366:
|
|
store ptr @.str5718, ptr %t278
|
|
%t1729 = load ptr, ptr %t285
|
|
%t1730 = getelementptr inbounds %LSlice, ptr %t1729, i32 0, i32 1
|
|
%t1731 = getelementptr inbounds %LSlice, ptr %t1729, i32 0, i32 2
|
|
%t1732 = getelementptr inbounds %LSlice, ptr %t1729, i32 0, i32 0
|
|
%t1733 = load i32, ptr %t1730
|
|
%t1734 = load i32, ptr %t1731
|
|
%t1735 = icmp sge i32 %t1733, %t1734
|
|
br i1 %t1735, label %grow369, label %put370
|
|
grow369:
|
|
%t1736 = mul i32 %t1734, 2
|
|
%t1737 = icmp eq i32 %t1734, 0
|
|
%t1738 = select i1 %t1737, i32 8, i32 %t1736
|
|
%t1739 = getelementptr ptr, ptr null, i32 1
|
|
%t1740 = ptrtoint ptr %t1739 to i64
|
|
%t1741 = zext i32 %t1738 to i64
|
|
%t1742 = mul i64 %t1741, %t1740
|
|
%t1743 = load ptr, ptr %t1732
|
|
%t1744 = call ptr @realloc(ptr %t1743, i64 %t1742)
|
|
store ptr %t1744, ptr %t1732
|
|
store i32 %t1738, ptr %t1731
|
|
br label %put370
|
|
put370:
|
|
%t1745 = load ptr, ptr %t1732
|
|
%t1746 = getelementptr inbounds ptr, ptr %t1745, i32 %t1733
|
|
store ptr @.str5719, ptr %t1746
|
|
%t1747 = add i32 %t1733, 1
|
|
store i32 %t1747, ptr %t1730
|
|
%t1748 = load ptr, ptr %t285
|
|
%t1749 = getelementptr inbounds %LSlice, ptr %t1748, i32 0, i32 1
|
|
%t1750 = getelementptr inbounds %LSlice, ptr %t1748, i32 0, i32 2
|
|
%t1751 = getelementptr inbounds %LSlice, ptr %t1748, i32 0, i32 0
|
|
%t1752 = load i32, ptr %t1749
|
|
%t1753 = load i32, ptr %t1750
|
|
%t1754 = icmp sge i32 %t1752, %t1753
|
|
br i1 %t1754, label %grow371, label %put372
|
|
grow371:
|
|
%t1755 = mul i32 %t1753, 2
|
|
%t1756 = icmp eq i32 %t1753, 0
|
|
%t1757 = select i1 %t1756, i32 8, i32 %t1755
|
|
%t1758 = getelementptr ptr, ptr null, i32 1
|
|
%t1759 = ptrtoint ptr %t1758 to i64
|
|
%t1760 = zext i32 %t1757 to i64
|
|
%t1761 = mul i64 %t1760, %t1759
|
|
%t1762 = load ptr, ptr %t1751
|
|
%t1763 = call ptr @realloc(ptr %t1762, i64 %t1761)
|
|
store ptr %t1763, ptr %t1751
|
|
store i32 %t1757, ptr %t1750
|
|
br label %put372
|
|
put372:
|
|
%t1764 = load ptr, ptr %t1751
|
|
%t1765 = getelementptr inbounds ptr, ptr %t1764, i32 %t1752
|
|
store ptr @.str5720, ptr %t1765
|
|
%t1766 = add i32 %t1752, 1
|
|
store i32 %t1766, ptr %t1749
|
|
br label %ifend368
|
|
ifend368:
|
|
br label %ifend152
|
|
ifend152:
|
|
%t1767 = load ptr, ptr %t0
|
|
%t1768 = call i32 @fn_str_eq(ptr %t1767, ptr @.str5721)
|
|
%t1769 = icmp ne i32 %t1768, 0
|
|
br i1 %t1769, label %then373, label %ifend375
|
|
then373:
|
|
%t1770 = load ptr, ptr %t1
|
|
%t1771 = call i32 @fn_str_eq(ptr %t1770, ptr @.str5722)
|
|
%t1772 = icmp ne i32 %t1771, 0
|
|
br i1 %t1772, label %then376, label %ifend378
|
|
then376:
|
|
store ptr @.str5723, ptr %t278
|
|
%t1773 = load ptr, ptr %t285
|
|
%t1774 = getelementptr inbounds %LSlice, ptr %t1773, i32 0, i32 1
|
|
%t1775 = getelementptr inbounds %LSlice, ptr %t1773, i32 0, i32 2
|
|
%t1776 = getelementptr inbounds %LSlice, ptr %t1773, i32 0, i32 0
|
|
%t1777 = load i32, ptr %t1774
|
|
%t1778 = load i32, ptr %t1775
|
|
%t1779 = icmp sge i32 %t1777, %t1778
|
|
br i1 %t1779, label %grow379, label %put380
|
|
grow379:
|
|
%t1780 = mul i32 %t1778, 2
|
|
%t1781 = icmp eq i32 %t1778, 0
|
|
%t1782 = select i1 %t1781, i32 8, i32 %t1780
|
|
%t1783 = getelementptr ptr, ptr null, i32 1
|
|
%t1784 = ptrtoint ptr %t1783 to i64
|
|
%t1785 = zext i32 %t1782 to i64
|
|
%t1786 = mul i64 %t1785, %t1784
|
|
%t1787 = load ptr, ptr %t1776
|
|
%t1788 = call ptr @realloc(ptr %t1787, i64 %t1786)
|
|
store ptr %t1788, ptr %t1776
|
|
store i32 %t1782, ptr %t1775
|
|
br label %put380
|
|
put380:
|
|
%t1789 = load ptr, ptr %t1776
|
|
%t1790 = getelementptr inbounds ptr, ptr %t1789, i32 %t1777
|
|
store ptr @.str5724, ptr %t1790
|
|
%t1791 = add i32 %t1777, 1
|
|
store i32 %t1791, ptr %t1774
|
|
%t1792 = load ptr, ptr %t285
|
|
%t1793 = getelementptr inbounds %LSlice, ptr %t1792, i32 0, i32 1
|
|
%t1794 = getelementptr inbounds %LSlice, ptr %t1792, i32 0, i32 2
|
|
%t1795 = getelementptr inbounds %LSlice, ptr %t1792, i32 0, i32 0
|
|
%t1796 = load i32, ptr %t1793
|
|
%t1797 = load i32, ptr %t1794
|
|
%t1798 = icmp sge i32 %t1796, %t1797
|
|
br i1 %t1798, label %grow381, label %put382
|
|
grow381:
|
|
%t1799 = mul i32 %t1797, 2
|
|
%t1800 = icmp eq i32 %t1797, 0
|
|
%t1801 = select i1 %t1800, i32 8, i32 %t1799
|
|
%t1802 = getelementptr ptr, ptr null, i32 1
|
|
%t1803 = ptrtoint ptr %t1802 to i64
|
|
%t1804 = zext i32 %t1801 to i64
|
|
%t1805 = mul i64 %t1804, %t1803
|
|
%t1806 = load ptr, ptr %t1795
|
|
%t1807 = call ptr @realloc(ptr %t1806, i64 %t1805)
|
|
store ptr %t1807, ptr %t1795
|
|
store i32 %t1801, ptr %t1794
|
|
br label %put382
|
|
put382:
|
|
%t1808 = load ptr, ptr %t1795
|
|
%t1809 = getelementptr inbounds ptr, ptr %t1808, i32 %t1796
|
|
store ptr @.str5725, ptr %t1809
|
|
%t1810 = add i32 %t1796, 1
|
|
store i32 %t1810, ptr %t1793
|
|
br label %ifend378
|
|
ifend378:
|
|
%t1811 = load ptr, ptr %t1
|
|
%t1812 = call i32 @fn_str_eq(ptr %t1811, ptr @.str5726)
|
|
%t1813 = icmp ne i32 %t1812, 0
|
|
br i1 %t1813, label %then383, label %ifend385
|
|
then383:
|
|
store ptr @.str5727, ptr %t278
|
|
%t1814 = load ptr, ptr %t285
|
|
%t1815 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 1
|
|
%t1816 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 2
|
|
%t1817 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 0
|
|
%t1818 = load i32, ptr %t1815
|
|
%t1819 = load i32, ptr %t1816
|
|
%t1820 = icmp sge i32 %t1818, %t1819
|
|
br i1 %t1820, label %grow386, label %put387
|
|
grow386:
|
|
%t1821 = mul i32 %t1819, 2
|
|
%t1822 = icmp eq i32 %t1819, 0
|
|
%t1823 = select i1 %t1822, i32 8, i32 %t1821
|
|
%t1824 = getelementptr ptr, ptr null, i32 1
|
|
%t1825 = ptrtoint ptr %t1824 to i64
|
|
%t1826 = zext i32 %t1823 to i64
|
|
%t1827 = mul i64 %t1826, %t1825
|
|
%t1828 = load ptr, ptr %t1817
|
|
%t1829 = call ptr @realloc(ptr %t1828, i64 %t1827)
|
|
store ptr %t1829, ptr %t1817
|
|
store i32 %t1823, ptr %t1816
|
|
br label %put387
|
|
put387:
|
|
%t1830 = load ptr, ptr %t1817
|
|
%t1831 = getelementptr inbounds ptr, ptr %t1830, i32 %t1818
|
|
store ptr @.str5728, ptr %t1831
|
|
%t1832 = add i32 %t1818, 1
|
|
store i32 %t1832, ptr %t1815
|
|
%t1833 = load ptr, ptr %t285
|
|
%t1834 = getelementptr inbounds %LSlice, ptr %t1833, i32 0, i32 1
|
|
%t1835 = getelementptr inbounds %LSlice, ptr %t1833, i32 0, i32 2
|
|
%t1836 = getelementptr inbounds %LSlice, ptr %t1833, i32 0, i32 0
|
|
%t1837 = load i32, ptr %t1834
|
|
%t1838 = load i32, ptr %t1835
|
|
%t1839 = icmp sge i32 %t1837, %t1838
|
|
br i1 %t1839, label %grow388, label %put389
|
|
grow388:
|
|
%t1840 = mul i32 %t1838, 2
|
|
%t1841 = icmp eq i32 %t1838, 0
|
|
%t1842 = select i1 %t1841, i32 8, i32 %t1840
|
|
%t1843 = getelementptr ptr, ptr null, i32 1
|
|
%t1844 = ptrtoint ptr %t1843 to i64
|
|
%t1845 = zext i32 %t1842 to i64
|
|
%t1846 = mul i64 %t1845, %t1844
|
|
%t1847 = load ptr, ptr %t1836
|
|
%t1848 = call ptr @realloc(ptr %t1847, i64 %t1846)
|
|
store ptr %t1848, ptr %t1836
|
|
store i32 %t1842, ptr %t1835
|
|
br label %put389
|
|
put389:
|
|
%t1849 = load ptr, ptr %t1836
|
|
%t1850 = getelementptr inbounds ptr, ptr %t1849, i32 %t1837
|
|
store ptr @.str5729, ptr %t1850
|
|
%t1851 = add i32 %t1837, 1
|
|
store i32 %t1851, ptr %t1834
|
|
%t1852 = load ptr, ptr %t285
|
|
%t1853 = getelementptr inbounds %LSlice, ptr %t1852, i32 0, i32 1
|
|
%t1854 = getelementptr inbounds %LSlice, ptr %t1852, i32 0, i32 2
|
|
%t1855 = getelementptr inbounds %LSlice, ptr %t1852, i32 0, i32 0
|
|
%t1856 = load i32, ptr %t1853
|
|
%t1857 = load i32, ptr %t1854
|
|
%t1858 = icmp sge i32 %t1856, %t1857
|
|
br i1 %t1858, label %grow390, label %put391
|
|
grow390:
|
|
%t1859 = mul i32 %t1857, 2
|
|
%t1860 = icmp eq i32 %t1857, 0
|
|
%t1861 = select i1 %t1860, i32 8, i32 %t1859
|
|
%t1862 = getelementptr ptr, ptr null, i32 1
|
|
%t1863 = ptrtoint ptr %t1862 to i64
|
|
%t1864 = zext i32 %t1861 to i64
|
|
%t1865 = mul i64 %t1864, %t1863
|
|
%t1866 = load ptr, ptr %t1855
|
|
%t1867 = call ptr @realloc(ptr %t1866, i64 %t1865)
|
|
store ptr %t1867, ptr %t1855
|
|
store i32 %t1861, ptr %t1854
|
|
br label %put391
|
|
put391:
|
|
%t1868 = load ptr, ptr %t1855
|
|
%t1869 = getelementptr inbounds ptr, ptr %t1868, i32 %t1856
|
|
store ptr @.str5730, ptr %t1869
|
|
%t1870 = add i32 %t1856, 1
|
|
store i32 %t1870, ptr %t1853
|
|
br label %ifend385
|
|
ifend385:
|
|
%t1871 = load ptr, ptr %t1
|
|
%t1872 = call i32 @fn_str_eq(ptr %t1871, ptr @.str5731)
|
|
%t1873 = icmp ne i32 %t1872, 0
|
|
br i1 %t1873, label %then392, label %ifend394
|
|
then392:
|
|
store ptr @.str5732, ptr %t278
|
|
%t1874 = load ptr, ptr %t285
|
|
%t1875 = getelementptr inbounds %LSlice, ptr %t1874, i32 0, i32 1
|
|
%t1876 = getelementptr inbounds %LSlice, ptr %t1874, i32 0, i32 2
|
|
%t1877 = getelementptr inbounds %LSlice, ptr %t1874, i32 0, i32 0
|
|
%t1878 = load i32, ptr %t1875
|
|
%t1879 = load i32, ptr %t1876
|
|
%t1880 = icmp sge i32 %t1878, %t1879
|
|
br i1 %t1880, label %grow395, label %put396
|
|
grow395:
|
|
%t1881 = mul i32 %t1879, 2
|
|
%t1882 = icmp eq i32 %t1879, 0
|
|
%t1883 = select i1 %t1882, i32 8, i32 %t1881
|
|
%t1884 = getelementptr ptr, ptr null, i32 1
|
|
%t1885 = ptrtoint ptr %t1884 to i64
|
|
%t1886 = zext i32 %t1883 to i64
|
|
%t1887 = mul i64 %t1886, %t1885
|
|
%t1888 = load ptr, ptr %t1877
|
|
%t1889 = call ptr @realloc(ptr %t1888, i64 %t1887)
|
|
store ptr %t1889, ptr %t1877
|
|
store i32 %t1883, ptr %t1876
|
|
br label %put396
|
|
put396:
|
|
%t1890 = load ptr, ptr %t1877
|
|
%t1891 = getelementptr inbounds ptr, ptr %t1890, i32 %t1878
|
|
store ptr @.str5733, ptr %t1891
|
|
%t1892 = add i32 %t1878, 1
|
|
store i32 %t1892, ptr %t1875
|
|
br label %ifend394
|
|
ifend394:
|
|
br label %ifend375
|
|
ifend375:
|
|
%t1893 = load ptr, ptr %t0
|
|
%t1894 = call i32 @fn_str_eq(ptr %t1893, ptr @.str5734)
|
|
%t1895 = icmp ne i32 %t1894, 0
|
|
br i1 %t1895, label %then397, label %ifend399
|
|
then397:
|
|
%t1896 = load ptr, ptr %t1
|
|
%t1897 = call i32 @fn_str_eq(ptr %t1896, ptr @.str5735)
|
|
%t1898 = icmp ne i32 %t1897, 0
|
|
br i1 %t1898, label %then400, label %ifend402
|
|
then400:
|
|
store ptr @.str5736, ptr %t278
|
|
%t1899 = load ptr, ptr %t285
|
|
%t1900 = getelementptr inbounds %LSlice, ptr %t1899, i32 0, i32 1
|
|
%t1901 = getelementptr inbounds %LSlice, ptr %t1899, i32 0, i32 2
|
|
%t1902 = getelementptr inbounds %LSlice, ptr %t1899, i32 0, i32 0
|
|
%t1903 = load i32, ptr %t1900
|
|
%t1904 = load i32, ptr %t1901
|
|
%t1905 = icmp sge i32 %t1903, %t1904
|
|
br i1 %t1905, label %grow403, label %put404
|
|
grow403:
|
|
%t1906 = mul i32 %t1904, 2
|
|
%t1907 = icmp eq i32 %t1904, 0
|
|
%t1908 = select i1 %t1907, i32 8, i32 %t1906
|
|
%t1909 = getelementptr ptr, ptr null, i32 1
|
|
%t1910 = ptrtoint ptr %t1909 to i64
|
|
%t1911 = zext i32 %t1908 to i64
|
|
%t1912 = mul i64 %t1911, %t1910
|
|
%t1913 = load ptr, ptr %t1902
|
|
%t1914 = call ptr @realloc(ptr %t1913, i64 %t1912)
|
|
store ptr %t1914, ptr %t1902
|
|
store i32 %t1908, ptr %t1901
|
|
br label %put404
|
|
put404:
|
|
%t1915 = load ptr, ptr %t1902
|
|
%t1916 = getelementptr inbounds ptr, ptr %t1915, i32 %t1903
|
|
store ptr @.str5737, ptr %t1916
|
|
%t1917 = add i32 %t1903, 1
|
|
store i32 %t1917, ptr %t1900
|
|
%t1918 = load ptr, ptr %t285
|
|
%t1919 = getelementptr inbounds %LSlice, ptr %t1918, i32 0, i32 1
|
|
%t1920 = getelementptr inbounds %LSlice, ptr %t1918, i32 0, i32 2
|
|
%t1921 = getelementptr inbounds %LSlice, ptr %t1918, i32 0, i32 0
|
|
%t1922 = load i32, ptr %t1919
|
|
%t1923 = load i32, ptr %t1920
|
|
%t1924 = icmp sge i32 %t1922, %t1923
|
|
br i1 %t1924, label %grow405, label %put406
|
|
grow405:
|
|
%t1925 = mul i32 %t1923, 2
|
|
%t1926 = icmp eq i32 %t1923, 0
|
|
%t1927 = select i1 %t1926, i32 8, i32 %t1925
|
|
%t1928 = getelementptr ptr, ptr null, i32 1
|
|
%t1929 = ptrtoint ptr %t1928 to i64
|
|
%t1930 = zext i32 %t1927 to i64
|
|
%t1931 = mul i64 %t1930, %t1929
|
|
%t1932 = load ptr, ptr %t1921
|
|
%t1933 = call ptr @realloc(ptr %t1932, i64 %t1931)
|
|
store ptr %t1933, ptr %t1921
|
|
store i32 %t1927, ptr %t1920
|
|
br label %put406
|
|
put406:
|
|
%t1934 = load ptr, ptr %t1921
|
|
%t1935 = getelementptr inbounds ptr, ptr %t1934, i32 %t1922
|
|
store ptr @.str5738, ptr %t1935
|
|
%t1936 = add i32 %t1922, 1
|
|
store i32 %t1936, ptr %t1919
|
|
br label %ifend402
|
|
ifend402:
|
|
%t1937 = load ptr, ptr %t1
|
|
%t1938 = call i32 @fn_str_eq(ptr %t1937, ptr @.str5739)
|
|
%t1939 = icmp ne i32 %t1938, 0
|
|
br i1 %t1939, label %then407, label %ifend409
|
|
then407:
|
|
store ptr @.str5740, ptr %t278
|
|
%t1940 = load ptr, ptr %t285
|
|
%t1941 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 1
|
|
%t1942 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 2
|
|
%t1943 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 0
|
|
%t1944 = load i32, ptr %t1941
|
|
%t1945 = load i32, ptr %t1942
|
|
%t1946 = icmp sge i32 %t1944, %t1945
|
|
br i1 %t1946, label %grow410, label %put411
|
|
grow410:
|
|
%t1947 = mul i32 %t1945, 2
|
|
%t1948 = icmp eq i32 %t1945, 0
|
|
%t1949 = select i1 %t1948, i32 8, i32 %t1947
|
|
%t1950 = getelementptr ptr, ptr null, i32 1
|
|
%t1951 = ptrtoint ptr %t1950 to i64
|
|
%t1952 = zext i32 %t1949 to i64
|
|
%t1953 = mul i64 %t1952, %t1951
|
|
%t1954 = load ptr, ptr %t1943
|
|
%t1955 = call ptr @realloc(ptr %t1954, i64 %t1953)
|
|
store ptr %t1955, ptr %t1943
|
|
store i32 %t1949, ptr %t1942
|
|
br label %put411
|
|
put411:
|
|
%t1956 = load ptr, ptr %t1943
|
|
%t1957 = getelementptr inbounds ptr, ptr %t1956, i32 %t1944
|
|
store ptr @.str5741, ptr %t1957
|
|
%t1958 = add i32 %t1944, 1
|
|
store i32 %t1958, ptr %t1941
|
|
%t1959 = load ptr, ptr %t285
|
|
%t1960 = getelementptr inbounds %LSlice, ptr %t1959, i32 0, i32 1
|
|
%t1961 = getelementptr inbounds %LSlice, ptr %t1959, i32 0, i32 2
|
|
%t1962 = getelementptr inbounds %LSlice, ptr %t1959, i32 0, i32 0
|
|
%t1963 = load i32, ptr %t1960
|
|
%t1964 = load i32, ptr %t1961
|
|
%t1965 = icmp sge i32 %t1963, %t1964
|
|
br i1 %t1965, label %grow412, label %put413
|
|
grow412:
|
|
%t1966 = mul i32 %t1964, 2
|
|
%t1967 = icmp eq i32 %t1964, 0
|
|
%t1968 = select i1 %t1967, i32 8, i32 %t1966
|
|
%t1969 = getelementptr ptr, ptr null, i32 1
|
|
%t1970 = ptrtoint ptr %t1969 to i64
|
|
%t1971 = zext i32 %t1968 to i64
|
|
%t1972 = mul i64 %t1971, %t1970
|
|
%t1973 = load ptr, ptr %t1962
|
|
%t1974 = call ptr @realloc(ptr %t1973, i64 %t1972)
|
|
store ptr %t1974, ptr %t1962
|
|
store i32 %t1968, ptr %t1961
|
|
br label %put413
|
|
put413:
|
|
%t1975 = load ptr, ptr %t1962
|
|
%t1976 = getelementptr inbounds ptr, ptr %t1975, i32 %t1963
|
|
store ptr @.str5742, ptr %t1976
|
|
%t1977 = add i32 %t1963, 1
|
|
store i32 %t1977, ptr %t1960
|
|
br label %ifend409
|
|
ifend409:
|
|
%t1978 = load ptr, ptr %t1
|
|
%t1979 = call i32 @fn_str_eq(ptr %t1978, ptr @.str5743)
|
|
%t1980 = icmp ne i32 %t1979, 0
|
|
br i1 %t1980, label %then414, label %ifend416
|
|
then414:
|
|
store ptr @.str5744, ptr %t278
|
|
%t1981 = load ptr, ptr %t285
|
|
%t1982 = getelementptr inbounds %LSlice, ptr %t1981, i32 0, i32 1
|
|
%t1983 = getelementptr inbounds %LSlice, ptr %t1981, i32 0, i32 2
|
|
%t1984 = getelementptr inbounds %LSlice, ptr %t1981, i32 0, i32 0
|
|
%t1985 = load i32, ptr %t1982
|
|
%t1986 = load i32, ptr %t1983
|
|
%t1987 = icmp sge i32 %t1985, %t1986
|
|
br i1 %t1987, label %grow417, label %put418
|
|
grow417:
|
|
%t1988 = mul i32 %t1986, 2
|
|
%t1989 = icmp eq i32 %t1986, 0
|
|
%t1990 = select i1 %t1989, i32 8, i32 %t1988
|
|
%t1991 = getelementptr ptr, ptr null, i32 1
|
|
%t1992 = ptrtoint ptr %t1991 to i64
|
|
%t1993 = zext i32 %t1990 to i64
|
|
%t1994 = mul i64 %t1993, %t1992
|
|
%t1995 = load ptr, ptr %t1984
|
|
%t1996 = call ptr @realloc(ptr %t1995, i64 %t1994)
|
|
store ptr %t1996, ptr %t1984
|
|
store i32 %t1990, ptr %t1983
|
|
br label %put418
|
|
put418:
|
|
%t1997 = load ptr, ptr %t1984
|
|
%t1998 = getelementptr inbounds ptr, ptr %t1997, i32 %t1985
|
|
store ptr @.str5745, ptr %t1998
|
|
%t1999 = add i32 %t1985, 1
|
|
store i32 %t1999, ptr %t1982
|
|
%t2000 = load ptr, ptr %t285
|
|
%t2001 = getelementptr inbounds %LSlice, ptr %t2000, i32 0, i32 1
|
|
%t2002 = getelementptr inbounds %LSlice, ptr %t2000, i32 0, i32 2
|
|
%t2003 = getelementptr inbounds %LSlice, ptr %t2000, i32 0, i32 0
|
|
%t2004 = load i32, ptr %t2001
|
|
%t2005 = load i32, ptr %t2002
|
|
%t2006 = icmp sge i32 %t2004, %t2005
|
|
br i1 %t2006, label %grow419, label %put420
|
|
grow419:
|
|
%t2007 = mul i32 %t2005, 2
|
|
%t2008 = icmp eq i32 %t2005, 0
|
|
%t2009 = select i1 %t2008, i32 8, i32 %t2007
|
|
%t2010 = getelementptr ptr, ptr null, i32 1
|
|
%t2011 = ptrtoint ptr %t2010 to i64
|
|
%t2012 = zext i32 %t2009 to i64
|
|
%t2013 = mul i64 %t2012, %t2011
|
|
%t2014 = load ptr, ptr %t2003
|
|
%t2015 = call ptr @realloc(ptr %t2014, i64 %t2013)
|
|
store ptr %t2015, ptr %t2003
|
|
store i32 %t2009, ptr %t2002
|
|
br label %put420
|
|
put420:
|
|
%t2016 = load ptr, ptr %t2003
|
|
%t2017 = getelementptr inbounds ptr, ptr %t2016, i32 %t2004
|
|
store ptr @.str5746, ptr %t2017
|
|
%t2018 = add i32 %t2004, 1
|
|
store i32 %t2018, ptr %t2001
|
|
br label %ifend416
|
|
ifend416:
|
|
br label %ifend399
|
|
ifend399:
|
|
%t2019 = load ptr, ptr %t0
|
|
%t2020 = call i32 @fn_str_eq(ptr %t2019, ptr @.str5747)
|
|
%t2021 = icmp ne i32 %t2020, 0
|
|
br i1 %t2021, label %then421, label %ifend423
|
|
then421:
|
|
%t2022 = load ptr, ptr %t1
|
|
%t2023 = call i32 @fn_str_eq(ptr %t2022, ptr @.str5748)
|
|
%t2024 = icmp ne i32 %t2023, 0
|
|
br i1 %t2024, label %then424, label %ifend426
|
|
then424:
|
|
store ptr @.str5749, ptr %t278
|
|
%t2025 = load ptr, ptr %t285
|
|
%t2026 = getelementptr inbounds %LSlice, ptr %t2025, i32 0, i32 1
|
|
%t2027 = getelementptr inbounds %LSlice, ptr %t2025, i32 0, i32 2
|
|
%t2028 = getelementptr inbounds %LSlice, ptr %t2025, i32 0, i32 0
|
|
%t2029 = load i32, ptr %t2026
|
|
%t2030 = load i32, ptr %t2027
|
|
%t2031 = icmp sge i32 %t2029, %t2030
|
|
br i1 %t2031, label %grow427, label %put428
|
|
grow427:
|
|
%t2032 = mul i32 %t2030, 2
|
|
%t2033 = icmp eq i32 %t2030, 0
|
|
%t2034 = select i1 %t2033, i32 8, i32 %t2032
|
|
%t2035 = getelementptr ptr, ptr null, i32 1
|
|
%t2036 = ptrtoint ptr %t2035 to i64
|
|
%t2037 = zext i32 %t2034 to i64
|
|
%t2038 = mul i64 %t2037, %t2036
|
|
%t2039 = load ptr, ptr %t2028
|
|
%t2040 = call ptr @realloc(ptr %t2039, i64 %t2038)
|
|
store ptr %t2040, ptr %t2028
|
|
store i32 %t2034, ptr %t2027
|
|
br label %put428
|
|
put428:
|
|
%t2041 = load ptr, ptr %t2028
|
|
%t2042 = getelementptr inbounds ptr, ptr %t2041, i32 %t2029
|
|
store ptr @.str5750, ptr %t2042
|
|
%t2043 = add i32 %t2029, 1
|
|
store i32 %t2043, ptr %t2026
|
|
%t2044 = load ptr, ptr %t285
|
|
%t2045 = getelementptr inbounds %LSlice, ptr %t2044, i32 0, i32 1
|
|
%t2046 = getelementptr inbounds %LSlice, ptr %t2044, i32 0, i32 2
|
|
%t2047 = getelementptr inbounds %LSlice, ptr %t2044, i32 0, i32 0
|
|
%t2048 = load i32, ptr %t2045
|
|
%t2049 = load i32, ptr %t2046
|
|
%t2050 = icmp sge i32 %t2048, %t2049
|
|
br i1 %t2050, label %grow429, label %put430
|
|
grow429:
|
|
%t2051 = mul i32 %t2049, 2
|
|
%t2052 = icmp eq i32 %t2049, 0
|
|
%t2053 = select i1 %t2052, i32 8, i32 %t2051
|
|
%t2054 = getelementptr ptr, ptr null, i32 1
|
|
%t2055 = ptrtoint ptr %t2054 to i64
|
|
%t2056 = zext i32 %t2053 to i64
|
|
%t2057 = mul i64 %t2056, %t2055
|
|
%t2058 = load ptr, ptr %t2047
|
|
%t2059 = call ptr @realloc(ptr %t2058, i64 %t2057)
|
|
store ptr %t2059, ptr %t2047
|
|
store i32 %t2053, ptr %t2046
|
|
br label %put430
|
|
put430:
|
|
%t2060 = load ptr, ptr %t2047
|
|
%t2061 = getelementptr inbounds ptr, ptr %t2060, i32 %t2048
|
|
store ptr @.str5751, ptr %t2061
|
|
%t2062 = add i32 %t2048, 1
|
|
store i32 %t2062, ptr %t2045
|
|
br label %ifend426
|
|
ifend426:
|
|
%t2063 = load ptr, ptr %t1
|
|
%t2064 = call i32 @fn_str_eq(ptr %t2063, ptr @.str5752)
|
|
%t2065 = icmp ne i32 %t2064, 0
|
|
br i1 %t2065, label %then431, label %ifend433
|
|
then431:
|
|
store ptr @.str5753, ptr %t278
|
|
%t2066 = load ptr, ptr %t285
|
|
%t2067 = getelementptr inbounds %LSlice, ptr %t2066, i32 0, i32 1
|
|
%t2068 = getelementptr inbounds %LSlice, ptr %t2066, i32 0, i32 2
|
|
%t2069 = getelementptr inbounds %LSlice, ptr %t2066, i32 0, i32 0
|
|
%t2070 = load i32, ptr %t2067
|
|
%t2071 = load i32, ptr %t2068
|
|
%t2072 = icmp sge i32 %t2070, %t2071
|
|
br i1 %t2072, label %grow434, label %put435
|
|
grow434:
|
|
%t2073 = mul i32 %t2071, 2
|
|
%t2074 = icmp eq i32 %t2071, 0
|
|
%t2075 = select i1 %t2074, i32 8, i32 %t2073
|
|
%t2076 = getelementptr ptr, ptr null, i32 1
|
|
%t2077 = ptrtoint ptr %t2076 to i64
|
|
%t2078 = zext i32 %t2075 to i64
|
|
%t2079 = mul i64 %t2078, %t2077
|
|
%t2080 = load ptr, ptr %t2069
|
|
%t2081 = call ptr @realloc(ptr %t2080, i64 %t2079)
|
|
store ptr %t2081, ptr %t2069
|
|
store i32 %t2075, ptr %t2068
|
|
br label %put435
|
|
put435:
|
|
%t2082 = load ptr, ptr %t2069
|
|
%t2083 = getelementptr inbounds ptr, ptr %t2082, i32 %t2070
|
|
store ptr @.str5754, ptr %t2083
|
|
%t2084 = add i32 %t2070, 1
|
|
store i32 %t2084, ptr %t2067
|
|
br label %ifend433
|
|
ifend433:
|
|
%t2085 = load ptr, ptr %t1
|
|
%t2086 = call i32 @fn_str_eq(ptr %t2085, ptr @.str5755)
|
|
%t2087 = icmp ne i32 %t2086, 0
|
|
br i1 %t2087, label %then436, label %ifend438
|
|
then436:
|
|
store ptr @.str5756, ptr %t278
|
|
%t2088 = load ptr, ptr %t285
|
|
%t2089 = getelementptr inbounds %LSlice, ptr %t2088, i32 0, i32 1
|
|
%t2090 = getelementptr inbounds %LSlice, ptr %t2088, i32 0, i32 2
|
|
%t2091 = getelementptr inbounds %LSlice, ptr %t2088, i32 0, i32 0
|
|
%t2092 = load i32, ptr %t2089
|
|
%t2093 = load i32, ptr %t2090
|
|
%t2094 = icmp sge i32 %t2092, %t2093
|
|
br i1 %t2094, label %grow439, label %put440
|
|
grow439:
|
|
%t2095 = mul i32 %t2093, 2
|
|
%t2096 = icmp eq i32 %t2093, 0
|
|
%t2097 = select i1 %t2096, i32 8, i32 %t2095
|
|
%t2098 = getelementptr ptr, ptr null, i32 1
|
|
%t2099 = ptrtoint ptr %t2098 to i64
|
|
%t2100 = zext i32 %t2097 to i64
|
|
%t2101 = mul i64 %t2100, %t2099
|
|
%t2102 = load ptr, ptr %t2091
|
|
%t2103 = call ptr @realloc(ptr %t2102, i64 %t2101)
|
|
store ptr %t2103, ptr %t2091
|
|
store i32 %t2097, ptr %t2090
|
|
br label %put440
|
|
put440:
|
|
%t2104 = load ptr, ptr %t2091
|
|
%t2105 = getelementptr inbounds ptr, ptr %t2104, i32 %t2092
|
|
store ptr @.str5757, ptr %t2105
|
|
%t2106 = add i32 %t2092, 1
|
|
store i32 %t2106, ptr %t2089
|
|
br label %ifend438
|
|
ifend438:
|
|
%t2107 = load ptr, ptr %t1
|
|
%t2108 = call i32 @fn_str_eq(ptr %t2107, ptr @.str5758)
|
|
%t2109 = icmp ne i32 %t2108, 0
|
|
br i1 %t2109, label %then441, label %ifend443
|
|
then441:
|
|
store ptr @.str5759, ptr %t278
|
|
br label %ifend443
|
|
ifend443:
|
|
%t2110 = load ptr, ptr %t1
|
|
%t2111 = call i32 @fn_str_eq(ptr %t2110, ptr @.str5760)
|
|
%t2112 = icmp ne i32 %t2111, 0
|
|
br i1 %t2112, label %then444, label %ifend446
|
|
then444:
|
|
store ptr @.str5761, ptr %t278
|
|
%t2113 = load ptr, ptr %t285
|
|
%t2114 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 1
|
|
%t2115 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 2
|
|
%t2116 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 0
|
|
%t2117 = load i32, ptr %t2114
|
|
%t2118 = load i32, ptr %t2115
|
|
%t2119 = icmp sge i32 %t2117, %t2118
|
|
br i1 %t2119, label %grow447, label %put448
|
|
grow447:
|
|
%t2120 = mul i32 %t2118, 2
|
|
%t2121 = icmp eq i32 %t2118, 0
|
|
%t2122 = select i1 %t2121, i32 8, i32 %t2120
|
|
%t2123 = getelementptr ptr, ptr null, i32 1
|
|
%t2124 = ptrtoint ptr %t2123 to i64
|
|
%t2125 = zext i32 %t2122 to i64
|
|
%t2126 = mul i64 %t2125, %t2124
|
|
%t2127 = load ptr, ptr %t2116
|
|
%t2128 = call ptr @realloc(ptr %t2127, i64 %t2126)
|
|
store ptr %t2128, ptr %t2116
|
|
store i32 %t2122, ptr %t2115
|
|
br label %put448
|
|
put448:
|
|
%t2129 = load ptr, ptr %t2116
|
|
%t2130 = getelementptr inbounds ptr, ptr %t2129, i32 %t2117
|
|
store ptr @.str5762, ptr %t2130
|
|
%t2131 = add i32 %t2117, 1
|
|
store i32 %t2131, ptr %t2114
|
|
br label %ifend446
|
|
ifend446:
|
|
%t2132 = load ptr, ptr %t1
|
|
%t2133 = call i32 @fn_str_eq(ptr %t2132, ptr @.str5763)
|
|
%t2134 = icmp ne i32 %t2133, 0
|
|
br i1 %t2134, label %then449, label %ifend451
|
|
then449:
|
|
store ptr @.str5764, ptr %t278
|
|
br label %ifend451
|
|
ifend451:
|
|
br label %ifend423
|
|
ifend423:
|
|
%t2135 = load ptr, ptr %t0
|
|
%t2136 = call i32 @fn_str_eq(ptr %t2135, ptr @.str5765)
|
|
%t2137 = icmp ne i32 %t2136, 0
|
|
br i1 %t2137, label %then452, label %ifend454
|
|
then452:
|
|
%t2138 = load ptr, ptr %t1
|
|
%t2139 = call i32 @fn_str_eq(ptr %t2138, ptr @.str5766)
|
|
%t2140 = icmp ne i32 %t2139, 0
|
|
br i1 %t2140, label %then455, label %ifend457
|
|
then455:
|
|
store ptr @.str5767, ptr %t278
|
|
br label %ifend457
|
|
ifend457:
|
|
%t2141 = load ptr, ptr %t1
|
|
%t2142 = call i32 @fn_str_eq(ptr %t2141, ptr @.str5768)
|
|
%t2143 = icmp ne i32 %t2142, 0
|
|
br i1 %t2143, label %then458, label %ifend460
|
|
then458:
|
|
store ptr @.str5769, ptr %t278
|
|
br label %ifend460
|
|
ifend460:
|
|
%t2144 = load ptr, ptr %t1
|
|
%t2145 = call i32 @fn_str_eq(ptr %t2144, ptr @.str5770)
|
|
%t2146 = icmp ne i32 %t2145, 0
|
|
br i1 %t2146, label %then461, label %ifend463
|
|
then461:
|
|
store ptr @.str5771, ptr %t278
|
|
br label %ifend463
|
|
ifend463:
|
|
%t2147 = load ptr, ptr %t1
|
|
%t2148 = call i32 @fn_str_eq(ptr %t2147, ptr @.str5772)
|
|
%t2149 = icmp ne i32 %t2148, 0
|
|
br i1 %t2149, label %then464, label %ifend466
|
|
then464:
|
|
store ptr @.str5773, ptr %t278
|
|
br label %ifend466
|
|
ifend466:
|
|
%t2150 = load ptr, ptr %t1
|
|
%t2151 = call i32 @fn_str_eq(ptr %t2150, ptr @.str5774)
|
|
%t2152 = icmp ne i32 %t2151, 0
|
|
br i1 %t2152, label %then467, label %ifend469
|
|
then467:
|
|
store ptr @.str5775, ptr %t278
|
|
br label %ifend469
|
|
ifend469:
|
|
%t2153 = load ptr, ptr %t1
|
|
%t2154 = call i32 @fn_str_eq(ptr %t2153, ptr @.str5776)
|
|
%t2155 = icmp ne i32 %t2154, 0
|
|
br i1 %t2155, label %then470, label %ifend472
|
|
then470:
|
|
store ptr @.str5777, ptr %t278
|
|
br label %ifend472
|
|
ifend472:
|
|
%t2156 = load ptr, ptr %t1
|
|
%t2157 = call i32 @fn_str_eq(ptr %t2156, ptr @.str5778)
|
|
%t2158 = icmp ne i32 %t2157, 0
|
|
br i1 %t2158, label %then473, label %ifend475
|
|
then473:
|
|
store ptr @.str5779, ptr %t278
|
|
br label %ifend475
|
|
ifend475:
|
|
%t2159 = load ptr, ptr %t1
|
|
%t2160 = call i32 @fn_str_eq(ptr %t2159, ptr @.str5780)
|
|
%t2161 = icmp ne i32 %t2160, 0
|
|
br i1 %t2161, label %then476, label %ifend478
|
|
then476:
|
|
store ptr @.str5781, ptr %t278
|
|
br label %ifend478
|
|
ifend478:
|
|
br label %ifend454
|
|
ifend454:
|
|
%t2162 = load ptr, ptr %t0
|
|
%t2163 = call i32 @fn_str_eq(ptr %t2162, ptr @.str5782)
|
|
%t2164 = icmp ne i32 %t2163, 0
|
|
br i1 %t2164, label %then479, label %ifend481
|
|
then479:
|
|
%t2165 = load ptr, ptr %t1
|
|
%t2166 = call i32 @fn_str_eq(ptr %t2165, ptr @.str5783)
|
|
%t2167 = icmp ne i32 %t2166, 0
|
|
br i1 %t2167, label %then482, label %ifend484
|
|
then482:
|
|
store ptr @.str5784, ptr %t278
|
|
br label %ifend484
|
|
ifend484:
|
|
%t2168 = load ptr, ptr %t1
|
|
%t2169 = call i32 @fn_str_eq(ptr %t2168, ptr @.str5785)
|
|
%t2170 = icmp ne i32 %t2169, 0
|
|
br i1 %t2170, label %then485, label %ifend487
|
|
then485:
|
|
store ptr @.str5786, ptr %t278
|
|
br label %ifend487
|
|
ifend487:
|
|
%t2171 = load ptr, ptr %t1
|
|
%t2172 = call i32 @fn_str_eq(ptr %t2171, ptr @.str5787)
|
|
%t2173 = icmp ne i32 %t2172, 0
|
|
br i1 %t2173, label %then488, label %ifend490
|
|
then488:
|
|
store ptr @.str5788, ptr %t278
|
|
br label %ifend490
|
|
ifend490:
|
|
%t2174 = load ptr, ptr %t1
|
|
%t2175 = call i32 @fn_str_eq(ptr %t2174, ptr @.str5789)
|
|
%t2176 = icmp ne i32 %t2175, 0
|
|
br i1 %t2176, label %then491, label %ifend493
|
|
then491:
|
|
store ptr @.str5790, ptr %t278
|
|
br label %ifend493
|
|
ifend493:
|
|
%t2177 = load ptr, ptr %t1
|
|
%t2178 = call i32 @fn_str_eq(ptr %t2177, ptr @.str5791)
|
|
%t2179 = icmp ne i32 %t2178, 0
|
|
br i1 %t2179, label %then494, label %ifend496
|
|
then494:
|
|
store ptr @.str5792, ptr %t278
|
|
br label %ifend496
|
|
ifend496:
|
|
%t2180 = load ptr, ptr %t1
|
|
%t2181 = call i32 @fn_str_eq(ptr %t2180, ptr @.str5793)
|
|
%t2182 = icmp ne i32 %t2181, 0
|
|
br i1 %t2182, label %then497, label %ifend499
|
|
then497:
|
|
store ptr @.str5794, ptr %t278
|
|
br label %ifend499
|
|
ifend499:
|
|
%t2183 = load ptr, ptr %t1
|
|
%t2184 = call i32 @fn_str_eq(ptr %t2183, ptr @.str5795)
|
|
%t2185 = icmp ne i32 %t2184, 0
|
|
br i1 %t2185, label %then500, label %ifend502
|
|
then500:
|
|
store ptr @.str5796, ptr %t278
|
|
br label %ifend502
|
|
ifend502:
|
|
%t2186 = load ptr, ptr %t1
|
|
%t2187 = call i32 @fn_str_eq(ptr %t2186, ptr @.str5797)
|
|
%t2188 = icmp ne i32 %t2187, 0
|
|
br i1 %t2188, label %then503, label %ifend505
|
|
then503:
|
|
store ptr @.str5798, ptr %t278
|
|
br label %ifend505
|
|
ifend505:
|
|
%t2189 = load ptr, ptr %t1
|
|
%t2190 = call i32 @fn_str_eq(ptr %t2189, ptr @.str5799)
|
|
%t2191 = icmp ne i32 %t2190, 0
|
|
br i1 %t2191, label %then506, label %ifend508
|
|
then506:
|
|
store ptr @.str5800, ptr %t278
|
|
br label %ifend508
|
|
ifend508:
|
|
%t2192 = load ptr, ptr %t1
|
|
%t2193 = call i32 @fn_str_eq(ptr %t2192, ptr @.str5801)
|
|
%t2194 = icmp ne i32 %t2193, 0
|
|
br i1 %t2194, label %then509, label %ifend511
|
|
then509:
|
|
store ptr @.str5802, ptr %t278
|
|
br label %ifend511
|
|
ifend511:
|
|
%t2195 = load ptr, ptr %t1
|
|
%t2196 = call i32 @fn_str_eq(ptr %t2195, ptr @.str5803)
|
|
%t2197 = icmp ne i32 %t2196, 0
|
|
br i1 %t2197, label %then512, label %ifend514
|
|
then512:
|
|
store ptr @.str5804, ptr %t278
|
|
br label %ifend514
|
|
ifend514:
|
|
%t2198 = load ptr, ptr %t1
|
|
%t2199 = call i32 @fn_str_eq(ptr %t2198, ptr @.str5805)
|
|
%t2200 = icmp ne i32 %t2199, 0
|
|
br i1 %t2200, label %then515, label %ifend517
|
|
then515:
|
|
store ptr @.str5806, ptr %t278
|
|
br label %ifend517
|
|
ifend517:
|
|
%t2201 = load ptr, ptr %t1
|
|
%t2202 = call i32 @fn_str_eq(ptr %t2201, ptr @.str5807)
|
|
%t2203 = icmp ne i32 %t2202, 0
|
|
br i1 %t2203, label %then518, label %ifend520
|
|
then518:
|
|
store ptr @.str5808, ptr %t278
|
|
br label %ifend520
|
|
ifend520:
|
|
%t2204 = load ptr, ptr %t1
|
|
%t2205 = call i32 @fn_str_eq(ptr %t2204, ptr @.str5809)
|
|
%t2206 = icmp ne i32 %t2205, 0
|
|
br i1 %t2206, label %then521, label %ifend523
|
|
then521:
|
|
store ptr @.str5810, ptr %t278
|
|
br label %ifend523
|
|
ifend523:
|
|
%t2207 = load ptr, ptr %t1
|
|
%t2208 = call i32 @fn_str_eq(ptr %t2207, ptr @.str5811)
|
|
%t2209 = icmp ne i32 %t2208, 0
|
|
br i1 %t2209, label %then524, label %ifend526
|
|
then524:
|
|
store ptr @.str5812, ptr %t278
|
|
br label %ifend526
|
|
ifend526:
|
|
%t2210 = load ptr, ptr %t1
|
|
%t2211 = call i32 @fn_str_eq(ptr %t2210, ptr @.str5813)
|
|
%t2212 = icmp ne i32 %t2211, 0
|
|
br i1 %t2212, label %then527, label %ifend529
|
|
then527:
|
|
store ptr @.str5814, ptr %t278
|
|
br label %ifend529
|
|
ifend529:
|
|
br label %ifend481
|
|
ifend481:
|
|
%t2213 = load ptr, ptr %t0
|
|
%t2214 = call i32 @fn_str_eq(ptr %t2213, ptr @.str5815)
|
|
%t2215 = icmp ne i32 %t2214, 0
|
|
br i1 %t2215, label %then530, label %ifend532
|
|
then530:
|
|
%t2216 = load ptr, ptr %t1
|
|
%t2217 = call i32 @fn_str_eq(ptr %t2216, ptr @.str5816)
|
|
%t2218 = icmp ne i32 %t2217, 0
|
|
br i1 %t2218, label %then533, label %ifend535
|
|
then533:
|
|
store ptr @.str5817, ptr %t278
|
|
br label %ifend535
|
|
ifend535:
|
|
%t2219 = load ptr, ptr %t1
|
|
%t2220 = call i32 @fn_str_eq(ptr %t2219, ptr @.str5818)
|
|
%t2221 = icmp ne i32 %t2220, 0
|
|
br i1 %t2221, label %then536, label %ifend538
|
|
then536:
|
|
store ptr @.str5819, ptr %t278
|
|
br label %ifend538
|
|
ifend538:
|
|
%t2222 = load ptr, ptr %t1
|
|
%t2223 = call i32 @fn_str_eq(ptr %t2222, ptr @.str5820)
|
|
%t2224 = icmp ne i32 %t2223, 0
|
|
br i1 %t2224, label %then539, label %ifend541
|
|
then539:
|
|
store ptr @.str5821, ptr %t278
|
|
br label %ifend541
|
|
ifend541:
|
|
%t2225 = load ptr, ptr %t1
|
|
%t2226 = call i32 @fn_str_eq(ptr %t2225, ptr @.str5822)
|
|
%t2227 = icmp ne i32 %t2226, 0
|
|
br i1 %t2227, label %then542, label %ifend544
|
|
then542:
|
|
store ptr @.str5823, ptr %t278
|
|
br label %ifend544
|
|
ifend544:
|
|
%t2228 = load ptr, ptr %t1
|
|
%t2229 = call i32 @fn_str_eq(ptr %t2228, ptr @.str5824)
|
|
%t2230 = icmp ne i32 %t2229, 0
|
|
br i1 %t2230, label %then545, label %ifend547
|
|
then545:
|
|
store ptr @.str5825, ptr %t278
|
|
br label %ifend547
|
|
ifend547:
|
|
%t2231 = load ptr, ptr %t1
|
|
%t2232 = call i32 @fn_str_eq(ptr %t2231, ptr @.str5826)
|
|
%t2233 = icmp ne i32 %t2232, 0
|
|
br i1 %t2233, label %then548, label %ifend550
|
|
then548:
|
|
store ptr @.str5827, ptr %t278
|
|
br label %ifend550
|
|
ifend550:
|
|
%t2234 = load ptr, ptr %t1
|
|
%t2235 = call i32 @fn_str_eq(ptr %t2234, ptr @.str5828)
|
|
%t2236 = icmp ne i32 %t2235, 0
|
|
br i1 %t2236, label %then551, label %ifend553
|
|
then551:
|
|
store ptr @.str5829, ptr %t278
|
|
br label %ifend553
|
|
ifend553:
|
|
%t2237 = load ptr, ptr %t1
|
|
%t2238 = call i32 @fn_str_eq(ptr %t2237, ptr @.str5830)
|
|
%t2239 = icmp ne i32 %t2238, 0
|
|
br i1 %t2239, label %then554, label %ifend556
|
|
then554:
|
|
store ptr @.str5831, ptr %t278
|
|
br label %ifend556
|
|
ifend556:
|
|
%t2240 = load ptr, ptr %t1
|
|
%t2241 = call i32 @fn_str_eq(ptr %t2240, ptr @.str5832)
|
|
%t2242 = icmp ne i32 %t2241, 0
|
|
br i1 %t2242, label %then557, label %ifend559
|
|
then557:
|
|
store ptr @.str5833, ptr %t278
|
|
br label %ifend559
|
|
ifend559:
|
|
br label %ifend532
|
|
ifend532:
|
|
%t2243 = load ptr, ptr %t0
|
|
%t2244 = call i32 @fn_str_eq(ptr %t2243, ptr @.str5834)
|
|
%t2245 = icmp ne i32 %t2244, 0
|
|
br i1 %t2245, label %then560, label %ifend562
|
|
then560:
|
|
%t2246 = load ptr, ptr %t1
|
|
%t2247 = call i32 @fn_str_eq(ptr %t2246, ptr @.str5835)
|
|
%t2248 = icmp ne i32 %t2247, 0
|
|
br i1 %t2248, label %then563, label %ifend565
|
|
then563:
|
|
store ptr @.str5836, ptr %t278
|
|
br label %ifend565
|
|
ifend565:
|
|
%t2249 = load ptr, ptr %t1
|
|
%t2250 = call i32 @fn_str_eq(ptr %t2249, ptr @.str5837)
|
|
%t2251 = icmp ne i32 %t2250, 0
|
|
br i1 %t2251, label %then566, label %ifend568
|
|
then566:
|
|
store ptr @.str5838, ptr %t278
|
|
br label %ifend568
|
|
ifend568:
|
|
%t2252 = load ptr, ptr %t1
|
|
%t2253 = call i32 @fn_str_eq(ptr %t2252, ptr @.str5839)
|
|
%t2254 = icmp ne i32 %t2253, 0
|
|
br i1 %t2254, label %then569, label %ifend571
|
|
then569:
|
|
store ptr @.str5840, ptr %t278
|
|
br label %ifend571
|
|
ifend571:
|
|
%t2255 = load ptr, ptr %t1
|
|
%t2256 = call i32 @fn_str_eq(ptr %t2255, ptr @.str5841)
|
|
%t2257 = icmp ne i32 %t2256, 0
|
|
br i1 %t2257, label %then572, label %ifend574
|
|
then572:
|
|
store ptr @.str5842, ptr %t278
|
|
br label %ifend574
|
|
ifend574:
|
|
%t2258 = load ptr, ptr %t1
|
|
%t2259 = call i32 @fn_str_eq(ptr %t2258, ptr @.str5843)
|
|
%t2260 = icmp ne i32 %t2259, 0
|
|
br i1 %t2260, label %then575, label %ifend577
|
|
then575:
|
|
store ptr @.str5844, ptr %t278
|
|
br label %ifend577
|
|
ifend577:
|
|
%t2261 = load ptr, ptr %t1
|
|
%t2262 = call i32 @fn_str_eq(ptr %t2261, ptr @.str5845)
|
|
%t2263 = icmp ne i32 %t2262, 0
|
|
br i1 %t2263, label %then578, label %ifend580
|
|
then578:
|
|
store ptr @.str5846, ptr %t278
|
|
br label %ifend580
|
|
ifend580:
|
|
%t2264 = load ptr, ptr %t1
|
|
%t2265 = call i32 @fn_str_eq(ptr %t2264, ptr @.str5847)
|
|
%t2266 = icmp ne i32 %t2265, 0
|
|
br i1 %t2266, label %then581, label %ifend583
|
|
then581:
|
|
store ptr @.str5848, ptr %t278
|
|
br label %ifend583
|
|
ifend583:
|
|
%t2267 = load ptr, ptr %t1
|
|
%t2268 = call i32 @fn_str_eq(ptr %t2267, ptr @.str5849)
|
|
%t2269 = icmp ne i32 %t2268, 0
|
|
br i1 %t2269, label %then584, label %ifend586
|
|
then584:
|
|
store ptr @.str5850, ptr %t278
|
|
br label %ifend586
|
|
ifend586:
|
|
br label %ifend562
|
|
ifend562:
|
|
%t2270 = load ptr, ptr %t0
|
|
%t2271 = call i32 @fn_str_eq(ptr %t2270, ptr @.str5851)
|
|
%t2272 = icmp ne i32 %t2271, 0
|
|
br i1 %t2272, label %then587, label %ifend589
|
|
then587:
|
|
%t2273 = load ptr, ptr %t1
|
|
%t2274 = call i32 @fn_str_eq(ptr %t2273, ptr @.str5852)
|
|
%t2275 = icmp ne i32 %t2274, 0
|
|
br i1 %t2275, label %then590, label %ifend592
|
|
then590:
|
|
store ptr @.str5853, ptr %t278
|
|
br label %ifend592
|
|
ifend592:
|
|
%t2276 = load ptr, ptr %t1
|
|
%t2277 = call i32 @fn_str_eq(ptr %t2276, ptr @.str5854)
|
|
%t2278 = icmp ne i32 %t2277, 0
|
|
br i1 %t2278, label %then593, label %ifend595
|
|
then593:
|
|
store ptr @.str5855, ptr %t278
|
|
br label %ifend595
|
|
ifend595:
|
|
br label %ifend589
|
|
ifend589:
|
|
%t2279 = load ptr, ptr %t0
|
|
%t2280 = call i32 @fn_str_eq(ptr %t2279, ptr @.str5856)
|
|
%t2281 = icmp ne i32 %t2280, 0
|
|
br i1 %t2281, label %then596, label %ifend598
|
|
then596:
|
|
%t2282 = load ptr, ptr %t1
|
|
%t2283 = call i32 @fn_str_eq(ptr %t2282, ptr @.str5857)
|
|
%t2284 = icmp ne i32 %t2283, 0
|
|
br i1 %t2284, label %then599, label %ifend601
|
|
then599:
|
|
store ptr @.str5858, ptr %t278
|
|
%t2285 = load ptr, ptr %t285
|
|
%t2286 = getelementptr inbounds %LSlice, ptr %t2285, i32 0, i32 1
|
|
%t2287 = getelementptr inbounds %LSlice, ptr %t2285, i32 0, i32 2
|
|
%t2288 = getelementptr inbounds %LSlice, ptr %t2285, i32 0, i32 0
|
|
%t2289 = load i32, ptr %t2286
|
|
%t2290 = load i32, ptr %t2287
|
|
%t2291 = icmp sge i32 %t2289, %t2290
|
|
br i1 %t2291, label %grow602, label %put603
|
|
grow602:
|
|
%t2292 = mul i32 %t2290, 2
|
|
%t2293 = icmp eq i32 %t2290, 0
|
|
%t2294 = select i1 %t2293, i32 8, i32 %t2292
|
|
%t2295 = getelementptr ptr, ptr null, i32 1
|
|
%t2296 = ptrtoint ptr %t2295 to i64
|
|
%t2297 = zext i32 %t2294 to i64
|
|
%t2298 = mul i64 %t2297, %t2296
|
|
%t2299 = load ptr, ptr %t2288
|
|
%t2300 = call ptr @realloc(ptr %t2299, i64 %t2298)
|
|
store ptr %t2300, ptr %t2288
|
|
store i32 %t2294, ptr %t2287
|
|
br label %put603
|
|
put603:
|
|
%t2301 = load ptr, ptr %t2288
|
|
%t2302 = getelementptr inbounds ptr, ptr %t2301, i32 %t2289
|
|
store ptr @.str5859, ptr %t2302
|
|
%t2303 = add i32 %t2289, 1
|
|
store i32 %t2303, ptr %t2286
|
|
br label %ifend601
|
|
ifend601:
|
|
%t2304 = load ptr, ptr %t1
|
|
%t2305 = call i32 @fn_str_eq(ptr %t2304, ptr @.str5860)
|
|
%t2306 = icmp ne i32 %t2305, 0
|
|
br i1 %t2306, label %then604, label %ifend606
|
|
then604:
|
|
store ptr @.str5861, ptr %t278
|
|
%t2307 = load ptr, ptr %t285
|
|
%t2308 = getelementptr inbounds %LSlice, ptr %t2307, i32 0, i32 1
|
|
%t2309 = getelementptr inbounds %LSlice, ptr %t2307, i32 0, i32 2
|
|
%t2310 = getelementptr inbounds %LSlice, ptr %t2307, i32 0, i32 0
|
|
%t2311 = load i32, ptr %t2308
|
|
%t2312 = load i32, ptr %t2309
|
|
%t2313 = icmp sge i32 %t2311, %t2312
|
|
br i1 %t2313, label %grow607, label %put608
|
|
grow607:
|
|
%t2314 = mul i32 %t2312, 2
|
|
%t2315 = icmp eq i32 %t2312, 0
|
|
%t2316 = select i1 %t2315, i32 8, i32 %t2314
|
|
%t2317 = getelementptr ptr, ptr null, i32 1
|
|
%t2318 = ptrtoint ptr %t2317 to i64
|
|
%t2319 = zext i32 %t2316 to i64
|
|
%t2320 = mul i64 %t2319, %t2318
|
|
%t2321 = load ptr, ptr %t2310
|
|
%t2322 = call ptr @realloc(ptr %t2321, i64 %t2320)
|
|
store ptr %t2322, ptr %t2310
|
|
store i32 %t2316, ptr %t2309
|
|
br label %put608
|
|
put608:
|
|
%t2323 = load ptr, ptr %t2310
|
|
%t2324 = getelementptr inbounds ptr, ptr %t2323, i32 %t2311
|
|
store ptr @.str5862, ptr %t2324
|
|
%t2325 = add i32 %t2311, 1
|
|
store i32 %t2325, ptr %t2308
|
|
br label %ifend606
|
|
ifend606:
|
|
%t2326 = load ptr, ptr %t1
|
|
%t2327 = call i32 @fn_str_eq(ptr %t2326, ptr @.str5863)
|
|
%t2328 = icmp ne i32 %t2327, 0
|
|
br i1 %t2328, label %then609, label %ifend611
|
|
then609:
|
|
store ptr @.str5864, ptr %t278
|
|
%t2329 = load ptr, ptr %t285
|
|
%t2330 = getelementptr inbounds %LSlice, ptr %t2329, i32 0, i32 1
|
|
%t2331 = getelementptr inbounds %LSlice, ptr %t2329, i32 0, i32 2
|
|
%t2332 = getelementptr inbounds %LSlice, ptr %t2329, i32 0, i32 0
|
|
%t2333 = load i32, ptr %t2330
|
|
%t2334 = load i32, ptr %t2331
|
|
%t2335 = icmp sge i32 %t2333, %t2334
|
|
br i1 %t2335, label %grow612, label %put613
|
|
grow612:
|
|
%t2336 = mul i32 %t2334, 2
|
|
%t2337 = icmp eq i32 %t2334, 0
|
|
%t2338 = select i1 %t2337, i32 8, i32 %t2336
|
|
%t2339 = getelementptr ptr, ptr null, i32 1
|
|
%t2340 = ptrtoint ptr %t2339 to i64
|
|
%t2341 = zext i32 %t2338 to i64
|
|
%t2342 = mul i64 %t2341, %t2340
|
|
%t2343 = load ptr, ptr %t2332
|
|
%t2344 = call ptr @realloc(ptr %t2343, i64 %t2342)
|
|
store ptr %t2344, ptr %t2332
|
|
store i32 %t2338, ptr %t2331
|
|
br label %put613
|
|
put613:
|
|
%t2345 = load ptr, ptr %t2332
|
|
%t2346 = getelementptr inbounds ptr, ptr %t2345, i32 %t2333
|
|
store ptr @.str5865, ptr %t2346
|
|
%t2347 = add i32 %t2333, 1
|
|
store i32 %t2347, ptr %t2330
|
|
%t2348 = load ptr, ptr %t285
|
|
%t2349 = getelementptr inbounds %LSlice, ptr %t2348, i32 0, i32 1
|
|
%t2350 = getelementptr inbounds %LSlice, ptr %t2348, i32 0, i32 2
|
|
%t2351 = getelementptr inbounds %LSlice, ptr %t2348, i32 0, i32 0
|
|
%t2352 = load i32, ptr %t2349
|
|
%t2353 = load i32, ptr %t2350
|
|
%t2354 = icmp sge i32 %t2352, %t2353
|
|
br i1 %t2354, label %grow614, label %put615
|
|
grow614:
|
|
%t2355 = mul i32 %t2353, 2
|
|
%t2356 = icmp eq i32 %t2353, 0
|
|
%t2357 = select i1 %t2356, i32 8, i32 %t2355
|
|
%t2358 = getelementptr ptr, ptr null, i32 1
|
|
%t2359 = ptrtoint ptr %t2358 to i64
|
|
%t2360 = zext i32 %t2357 to i64
|
|
%t2361 = mul i64 %t2360, %t2359
|
|
%t2362 = load ptr, ptr %t2351
|
|
%t2363 = call ptr @realloc(ptr %t2362, i64 %t2361)
|
|
store ptr %t2363, ptr %t2351
|
|
store i32 %t2357, ptr %t2350
|
|
br label %put615
|
|
put615:
|
|
%t2364 = load ptr, ptr %t2351
|
|
%t2365 = getelementptr inbounds ptr, ptr %t2364, i32 %t2352
|
|
store ptr @.str5866, ptr %t2365
|
|
%t2366 = add i32 %t2352, 1
|
|
store i32 %t2366, ptr %t2349
|
|
br label %ifend611
|
|
ifend611:
|
|
%t2367 = load ptr, ptr %t1
|
|
%t2368 = call i32 @fn_str_eq(ptr %t2367, ptr @.str5867)
|
|
%t2369 = icmp ne i32 %t2368, 0
|
|
br i1 %t2369, label %then616, label %ifend618
|
|
then616:
|
|
store ptr @.str5868, ptr %t278
|
|
%t2370 = load ptr, ptr %t285
|
|
%t2371 = getelementptr inbounds %LSlice, ptr %t2370, i32 0, i32 1
|
|
%t2372 = getelementptr inbounds %LSlice, ptr %t2370, i32 0, i32 2
|
|
%t2373 = getelementptr inbounds %LSlice, ptr %t2370, i32 0, i32 0
|
|
%t2374 = load i32, ptr %t2371
|
|
%t2375 = load i32, ptr %t2372
|
|
%t2376 = icmp sge i32 %t2374, %t2375
|
|
br i1 %t2376, label %grow619, label %put620
|
|
grow619:
|
|
%t2377 = mul i32 %t2375, 2
|
|
%t2378 = icmp eq i32 %t2375, 0
|
|
%t2379 = select i1 %t2378, i32 8, i32 %t2377
|
|
%t2380 = getelementptr ptr, ptr null, i32 1
|
|
%t2381 = ptrtoint ptr %t2380 to i64
|
|
%t2382 = zext i32 %t2379 to i64
|
|
%t2383 = mul i64 %t2382, %t2381
|
|
%t2384 = load ptr, ptr %t2373
|
|
%t2385 = call ptr @realloc(ptr %t2384, i64 %t2383)
|
|
store ptr %t2385, ptr %t2373
|
|
store i32 %t2379, ptr %t2372
|
|
br label %put620
|
|
put620:
|
|
%t2386 = load ptr, ptr %t2373
|
|
%t2387 = getelementptr inbounds ptr, ptr %t2386, i32 %t2374
|
|
store ptr @.str5869, ptr %t2387
|
|
%t2388 = add i32 %t2374, 1
|
|
store i32 %t2388, ptr %t2371
|
|
%t2389 = load ptr, ptr %t285
|
|
%t2390 = getelementptr inbounds %LSlice, ptr %t2389, i32 0, i32 1
|
|
%t2391 = getelementptr inbounds %LSlice, ptr %t2389, i32 0, i32 2
|
|
%t2392 = getelementptr inbounds %LSlice, ptr %t2389, i32 0, i32 0
|
|
%t2393 = load i32, ptr %t2390
|
|
%t2394 = load i32, ptr %t2391
|
|
%t2395 = icmp sge i32 %t2393, %t2394
|
|
br i1 %t2395, label %grow621, label %put622
|
|
grow621:
|
|
%t2396 = mul i32 %t2394, 2
|
|
%t2397 = icmp eq i32 %t2394, 0
|
|
%t2398 = select i1 %t2397, i32 8, i32 %t2396
|
|
%t2399 = getelementptr ptr, ptr null, i32 1
|
|
%t2400 = ptrtoint ptr %t2399 to i64
|
|
%t2401 = zext i32 %t2398 to i64
|
|
%t2402 = mul i64 %t2401, %t2400
|
|
%t2403 = load ptr, ptr %t2392
|
|
%t2404 = call ptr @realloc(ptr %t2403, i64 %t2402)
|
|
store ptr %t2404, ptr %t2392
|
|
store i32 %t2398, ptr %t2391
|
|
br label %put622
|
|
put622:
|
|
%t2405 = load ptr, ptr %t2392
|
|
%t2406 = getelementptr inbounds ptr, ptr %t2405, i32 %t2393
|
|
store ptr @.str5870, ptr %t2406
|
|
%t2407 = add i32 %t2393, 1
|
|
store i32 %t2407, ptr %t2390
|
|
br label %ifend618
|
|
ifend618:
|
|
%t2408 = load ptr, ptr %t1
|
|
%t2409 = call i32 @fn_str_eq(ptr %t2408, ptr @.str5871)
|
|
%t2410 = icmp ne i32 %t2409, 0
|
|
br i1 %t2410, label %then623, label %ifend625
|
|
then623:
|
|
store ptr @.str5872, ptr %t278
|
|
%t2411 = load ptr, ptr %t285
|
|
%t2412 = getelementptr inbounds %LSlice, ptr %t2411, i32 0, i32 1
|
|
%t2413 = getelementptr inbounds %LSlice, ptr %t2411, i32 0, i32 2
|
|
%t2414 = getelementptr inbounds %LSlice, ptr %t2411, i32 0, i32 0
|
|
%t2415 = load i32, ptr %t2412
|
|
%t2416 = load i32, ptr %t2413
|
|
%t2417 = icmp sge i32 %t2415, %t2416
|
|
br i1 %t2417, label %grow626, label %put627
|
|
grow626:
|
|
%t2418 = mul i32 %t2416, 2
|
|
%t2419 = icmp eq i32 %t2416, 0
|
|
%t2420 = select i1 %t2419, i32 8, i32 %t2418
|
|
%t2421 = getelementptr ptr, ptr null, i32 1
|
|
%t2422 = ptrtoint ptr %t2421 to i64
|
|
%t2423 = zext i32 %t2420 to i64
|
|
%t2424 = mul i64 %t2423, %t2422
|
|
%t2425 = load ptr, ptr %t2414
|
|
%t2426 = call ptr @realloc(ptr %t2425, i64 %t2424)
|
|
store ptr %t2426, ptr %t2414
|
|
store i32 %t2420, ptr %t2413
|
|
br label %put627
|
|
put627:
|
|
%t2427 = load ptr, ptr %t2414
|
|
%t2428 = getelementptr inbounds ptr, ptr %t2427, i32 %t2415
|
|
store ptr @.str5873, ptr %t2428
|
|
%t2429 = add i32 %t2415, 1
|
|
store i32 %t2429, ptr %t2412
|
|
%t2430 = load ptr, ptr %t285
|
|
%t2431 = getelementptr inbounds %LSlice, ptr %t2430, i32 0, i32 1
|
|
%t2432 = getelementptr inbounds %LSlice, ptr %t2430, i32 0, i32 2
|
|
%t2433 = getelementptr inbounds %LSlice, ptr %t2430, i32 0, i32 0
|
|
%t2434 = load i32, ptr %t2431
|
|
%t2435 = load i32, ptr %t2432
|
|
%t2436 = icmp sge i32 %t2434, %t2435
|
|
br i1 %t2436, label %grow628, label %put629
|
|
grow628:
|
|
%t2437 = mul i32 %t2435, 2
|
|
%t2438 = icmp eq i32 %t2435, 0
|
|
%t2439 = select i1 %t2438, i32 8, i32 %t2437
|
|
%t2440 = getelementptr ptr, ptr null, i32 1
|
|
%t2441 = ptrtoint ptr %t2440 to i64
|
|
%t2442 = zext i32 %t2439 to i64
|
|
%t2443 = mul i64 %t2442, %t2441
|
|
%t2444 = load ptr, ptr %t2433
|
|
%t2445 = call ptr @realloc(ptr %t2444, i64 %t2443)
|
|
store ptr %t2445, ptr %t2433
|
|
store i32 %t2439, ptr %t2432
|
|
br label %put629
|
|
put629:
|
|
%t2446 = load ptr, ptr %t2433
|
|
%t2447 = getelementptr inbounds ptr, ptr %t2446, i32 %t2434
|
|
store ptr @.str5874, ptr %t2447
|
|
%t2448 = add i32 %t2434, 1
|
|
store i32 %t2448, ptr %t2431
|
|
br label %ifend625
|
|
ifend625:
|
|
%t2449 = load ptr, ptr %t1
|
|
%t2450 = call i32 @fn_str_eq(ptr %t2449, ptr @.str5875)
|
|
%t2451 = icmp ne i32 %t2450, 0
|
|
br i1 %t2451, label %then630, label %ifend632
|
|
then630:
|
|
store ptr @.str5876, ptr %t278
|
|
%t2452 = load ptr, ptr %t285
|
|
%t2453 = getelementptr inbounds %LSlice, ptr %t2452, i32 0, i32 1
|
|
%t2454 = getelementptr inbounds %LSlice, ptr %t2452, i32 0, i32 2
|
|
%t2455 = getelementptr inbounds %LSlice, ptr %t2452, i32 0, i32 0
|
|
%t2456 = load i32, ptr %t2453
|
|
%t2457 = load i32, ptr %t2454
|
|
%t2458 = icmp sge i32 %t2456, %t2457
|
|
br i1 %t2458, label %grow633, label %put634
|
|
grow633:
|
|
%t2459 = mul i32 %t2457, 2
|
|
%t2460 = icmp eq i32 %t2457, 0
|
|
%t2461 = select i1 %t2460, i32 8, i32 %t2459
|
|
%t2462 = getelementptr ptr, ptr null, i32 1
|
|
%t2463 = ptrtoint ptr %t2462 to i64
|
|
%t2464 = zext i32 %t2461 to i64
|
|
%t2465 = mul i64 %t2464, %t2463
|
|
%t2466 = load ptr, ptr %t2455
|
|
%t2467 = call ptr @realloc(ptr %t2466, i64 %t2465)
|
|
store ptr %t2467, ptr %t2455
|
|
store i32 %t2461, ptr %t2454
|
|
br label %put634
|
|
put634:
|
|
%t2468 = load ptr, ptr %t2455
|
|
%t2469 = getelementptr inbounds ptr, ptr %t2468, i32 %t2456
|
|
store ptr @.str5877, ptr %t2469
|
|
%t2470 = add i32 %t2456, 1
|
|
store i32 %t2470, ptr %t2453
|
|
%t2471 = load ptr, ptr %t285
|
|
%t2472 = getelementptr inbounds %LSlice, ptr %t2471, i32 0, i32 1
|
|
%t2473 = getelementptr inbounds %LSlice, ptr %t2471, i32 0, i32 2
|
|
%t2474 = getelementptr inbounds %LSlice, ptr %t2471, i32 0, i32 0
|
|
%t2475 = load i32, ptr %t2472
|
|
%t2476 = load i32, ptr %t2473
|
|
%t2477 = icmp sge i32 %t2475, %t2476
|
|
br i1 %t2477, label %grow635, label %put636
|
|
grow635:
|
|
%t2478 = mul i32 %t2476, 2
|
|
%t2479 = icmp eq i32 %t2476, 0
|
|
%t2480 = select i1 %t2479, i32 8, i32 %t2478
|
|
%t2481 = getelementptr ptr, ptr null, i32 1
|
|
%t2482 = ptrtoint ptr %t2481 to i64
|
|
%t2483 = zext i32 %t2480 to i64
|
|
%t2484 = mul i64 %t2483, %t2482
|
|
%t2485 = load ptr, ptr %t2474
|
|
%t2486 = call ptr @realloc(ptr %t2485, i64 %t2484)
|
|
store ptr %t2486, ptr %t2474
|
|
store i32 %t2480, ptr %t2473
|
|
br label %put636
|
|
put636:
|
|
%t2487 = load ptr, ptr %t2474
|
|
%t2488 = getelementptr inbounds ptr, ptr %t2487, i32 %t2475
|
|
store ptr @.str5878, ptr %t2488
|
|
%t2489 = add i32 %t2475, 1
|
|
store i32 %t2489, ptr %t2472
|
|
br label %ifend632
|
|
ifend632:
|
|
%t2490 = load ptr, ptr %t1
|
|
%t2491 = call i32 @fn_str_eq(ptr %t2490, ptr @.str5879)
|
|
%t2492 = icmp ne i32 %t2491, 0
|
|
br i1 %t2492, label %then637, label %ifend639
|
|
then637:
|
|
store ptr @.str5880, ptr %t278
|
|
%t2493 = load ptr, ptr %t285
|
|
%t2494 = getelementptr inbounds %LSlice, ptr %t2493, i32 0, i32 1
|
|
%t2495 = getelementptr inbounds %LSlice, ptr %t2493, i32 0, i32 2
|
|
%t2496 = getelementptr inbounds %LSlice, ptr %t2493, i32 0, i32 0
|
|
%t2497 = load i32, ptr %t2494
|
|
%t2498 = load i32, ptr %t2495
|
|
%t2499 = icmp sge i32 %t2497, %t2498
|
|
br i1 %t2499, label %grow640, label %put641
|
|
grow640:
|
|
%t2500 = mul i32 %t2498, 2
|
|
%t2501 = icmp eq i32 %t2498, 0
|
|
%t2502 = select i1 %t2501, i32 8, i32 %t2500
|
|
%t2503 = getelementptr ptr, ptr null, i32 1
|
|
%t2504 = ptrtoint ptr %t2503 to i64
|
|
%t2505 = zext i32 %t2502 to i64
|
|
%t2506 = mul i64 %t2505, %t2504
|
|
%t2507 = load ptr, ptr %t2496
|
|
%t2508 = call ptr @realloc(ptr %t2507, i64 %t2506)
|
|
store ptr %t2508, ptr %t2496
|
|
store i32 %t2502, ptr %t2495
|
|
br label %put641
|
|
put641:
|
|
%t2509 = load ptr, ptr %t2496
|
|
%t2510 = getelementptr inbounds ptr, ptr %t2509, i32 %t2497
|
|
store ptr @.str5881, ptr %t2510
|
|
%t2511 = add i32 %t2497, 1
|
|
store i32 %t2511, ptr %t2494
|
|
%t2512 = load ptr, ptr %t285
|
|
%t2513 = getelementptr inbounds %LSlice, ptr %t2512, i32 0, i32 1
|
|
%t2514 = getelementptr inbounds %LSlice, ptr %t2512, i32 0, i32 2
|
|
%t2515 = getelementptr inbounds %LSlice, ptr %t2512, i32 0, i32 0
|
|
%t2516 = load i32, ptr %t2513
|
|
%t2517 = load i32, ptr %t2514
|
|
%t2518 = icmp sge i32 %t2516, %t2517
|
|
br i1 %t2518, label %grow642, label %put643
|
|
grow642:
|
|
%t2519 = mul i32 %t2517, 2
|
|
%t2520 = icmp eq i32 %t2517, 0
|
|
%t2521 = select i1 %t2520, i32 8, i32 %t2519
|
|
%t2522 = getelementptr ptr, ptr null, i32 1
|
|
%t2523 = ptrtoint ptr %t2522 to i64
|
|
%t2524 = zext i32 %t2521 to i64
|
|
%t2525 = mul i64 %t2524, %t2523
|
|
%t2526 = load ptr, ptr %t2515
|
|
%t2527 = call ptr @realloc(ptr %t2526, i64 %t2525)
|
|
store ptr %t2527, ptr %t2515
|
|
store i32 %t2521, ptr %t2514
|
|
br label %put643
|
|
put643:
|
|
%t2528 = load ptr, ptr %t2515
|
|
%t2529 = getelementptr inbounds ptr, ptr %t2528, i32 %t2516
|
|
store ptr @.str5882, ptr %t2529
|
|
%t2530 = add i32 %t2516, 1
|
|
store i32 %t2530, ptr %t2513
|
|
%t2531 = load ptr, ptr %t285
|
|
%t2532 = getelementptr inbounds %LSlice, ptr %t2531, i32 0, i32 1
|
|
%t2533 = getelementptr inbounds %LSlice, ptr %t2531, i32 0, i32 2
|
|
%t2534 = getelementptr inbounds %LSlice, ptr %t2531, i32 0, i32 0
|
|
%t2535 = load i32, ptr %t2532
|
|
%t2536 = load i32, ptr %t2533
|
|
%t2537 = icmp sge i32 %t2535, %t2536
|
|
br i1 %t2537, label %grow644, label %put645
|
|
grow644:
|
|
%t2538 = mul i32 %t2536, 2
|
|
%t2539 = icmp eq i32 %t2536, 0
|
|
%t2540 = select i1 %t2539, i32 8, i32 %t2538
|
|
%t2541 = getelementptr ptr, ptr null, i32 1
|
|
%t2542 = ptrtoint ptr %t2541 to i64
|
|
%t2543 = zext i32 %t2540 to i64
|
|
%t2544 = mul i64 %t2543, %t2542
|
|
%t2545 = load ptr, ptr %t2534
|
|
%t2546 = call ptr @realloc(ptr %t2545, i64 %t2544)
|
|
store ptr %t2546, ptr %t2534
|
|
store i32 %t2540, ptr %t2533
|
|
br label %put645
|
|
put645:
|
|
%t2547 = load ptr, ptr %t2534
|
|
%t2548 = getelementptr inbounds ptr, ptr %t2547, i32 %t2535
|
|
store ptr @.str5883, ptr %t2548
|
|
%t2549 = add i32 %t2535, 1
|
|
store i32 %t2549, ptr %t2532
|
|
br label %ifend639
|
|
ifend639:
|
|
%t2550 = load ptr, ptr %t1
|
|
%t2551 = call i32 @fn_str_eq(ptr %t2550, ptr @.str5884)
|
|
%t2552 = icmp ne i32 %t2551, 0
|
|
br i1 %t2552, label %then646, label %ifend648
|
|
then646:
|
|
store ptr @.str5885, ptr %t278
|
|
%t2553 = load ptr, ptr %t285
|
|
%t2554 = getelementptr inbounds %LSlice, ptr %t2553, i32 0, i32 1
|
|
%t2555 = getelementptr inbounds %LSlice, ptr %t2553, i32 0, i32 2
|
|
%t2556 = getelementptr inbounds %LSlice, ptr %t2553, i32 0, i32 0
|
|
%t2557 = load i32, ptr %t2554
|
|
%t2558 = load i32, ptr %t2555
|
|
%t2559 = icmp sge i32 %t2557, %t2558
|
|
br i1 %t2559, label %grow649, label %put650
|
|
grow649:
|
|
%t2560 = mul i32 %t2558, 2
|
|
%t2561 = icmp eq i32 %t2558, 0
|
|
%t2562 = select i1 %t2561, i32 8, i32 %t2560
|
|
%t2563 = getelementptr ptr, ptr null, i32 1
|
|
%t2564 = ptrtoint ptr %t2563 to i64
|
|
%t2565 = zext i32 %t2562 to i64
|
|
%t2566 = mul i64 %t2565, %t2564
|
|
%t2567 = load ptr, ptr %t2556
|
|
%t2568 = call ptr @realloc(ptr %t2567, i64 %t2566)
|
|
store ptr %t2568, ptr %t2556
|
|
store i32 %t2562, ptr %t2555
|
|
br label %put650
|
|
put650:
|
|
%t2569 = load ptr, ptr %t2556
|
|
%t2570 = getelementptr inbounds ptr, ptr %t2569, i32 %t2557
|
|
store ptr @.str5886, ptr %t2570
|
|
%t2571 = add i32 %t2557, 1
|
|
store i32 %t2571, ptr %t2554
|
|
%t2572 = load ptr, ptr %t285
|
|
%t2573 = getelementptr inbounds %LSlice, ptr %t2572, i32 0, i32 1
|
|
%t2574 = getelementptr inbounds %LSlice, ptr %t2572, i32 0, i32 2
|
|
%t2575 = getelementptr inbounds %LSlice, ptr %t2572, i32 0, i32 0
|
|
%t2576 = load i32, ptr %t2573
|
|
%t2577 = load i32, ptr %t2574
|
|
%t2578 = icmp sge i32 %t2576, %t2577
|
|
br i1 %t2578, label %grow651, label %put652
|
|
grow651:
|
|
%t2579 = mul i32 %t2577, 2
|
|
%t2580 = icmp eq i32 %t2577, 0
|
|
%t2581 = select i1 %t2580, i32 8, i32 %t2579
|
|
%t2582 = getelementptr ptr, ptr null, i32 1
|
|
%t2583 = ptrtoint ptr %t2582 to i64
|
|
%t2584 = zext i32 %t2581 to i64
|
|
%t2585 = mul i64 %t2584, %t2583
|
|
%t2586 = load ptr, ptr %t2575
|
|
%t2587 = call ptr @realloc(ptr %t2586, i64 %t2585)
|
|
store ptr %t2587, ptr %t2575
|
|
store i32 %t2581, ptr %t2574
|
|
br label %put652
|
|
put652:
|
|
%t2588 = load ptr, ptr %t2575
|
|
%t2589 = getelementptr inbounds ptr, ptr %t2588, i32 %t2576
|
|
store ptr @.str5887, ptr %t2589
|
|
%t2590 = add i32 %t2576, 1
|
|
store i32 %t2590, ptr %t2573
|
|
%t2591 = load ptr, ptr %t285
|
|
%t2592 = getelementptr inbounds %LSlice, ptr %t2591, i32 0, i32 1
|
|
%t2593 = getelementptr inbounds %LSlice, ptr %t2591, i32 0, i32 2
|
|
%t2594 = getelementptr inbounds %LSlice, ptr %t2591, i32 0, i32 0
|
|
%t2595 = load i32, ptr %t2592
|
|
%t2596 = load i32, ptr %t2593
|
|
%t2597 = icmp sge i32 %t2595, %t2596
|
|
br i1 %t2597, label %grow653, label %put654
|
|
grow653:
|
|
%t2598 = mul i32 %t2596, 2
|
|
%t2599 = icmp eq i32 %t2596, 0
|
|
%t2600 = select i1 %t2599, i32 8, i32 %t2598
|
|
%t2601 = getelementptr ptr, ptr null, i32 1
|
|
%t2602 = ptrtoint ptr %t2601 to i64
|
|
%t2603 = zext i32 %t2600 to i64
|
|
%t2604 = mul i64 %t2603, %t2602
|
|
%t2605 = load ptr, ptr %t2594
|
|
%t2606 = call ptr @realloc(ptr %t2605, i64 %t2604)
|
|
store ptr %t2606, ptr %t2594
|
|
store i32 %t2600, ptr %t2593
|
|
br label %put654
|
|
put654:
|
|
%t2607 = load ptr, ptr %t2594
|
|
%t2608 = getelementptr inbounds ptr, ptr %t2607, i32 %t2595
|
|
store ptr @.str5888, ptr %t2608
|
|
%t2609 = add i32 %t2595, 1
|
|
store i32 %t2609, ptr %t2592
|
|
br label %ifend648
|
|
ifend648:
|
|
%t2610 = load ptr, ptr %t1
|
|
%t2611 = call i32 @fn_str_eq(ptr %t2610, ptr @.str5889)
|
|
%t2612 = icmp ne i32 %t2611, 0
|
|
br i1 %t2612, label %then655, label %ifend657
|
|
then655:
|
|
store ptr @.str5890, ptr %t278
|
|
%t2613 = load ptr, ptr %t285
|
|
%t2614 = getelementptr inbounds %LSlice, ptr %t2613, i32 0, i32 1
|
|
%t2615 = getelementptr inbounds %LSlice, ptr %t2613, i32 0, i32 2
|
|
%t2616 = getelementptr inbounds %LSlice, ptr %t2613, i32 0, i32 0
|
|
%t2617 = load i32, ptr %t2614
|
|
%t2618 = load i32, ptr %t2615
|
|
%t2619 = icmp sge i32 %t2617, %t2618
|
|
br i1 %t2619, label %grow658, label %put659
|
|
grow658:
|
|
%t2620 = mul i32 %t2618, 2
|
|
%t2621 = icmp eq i32 %t2618, 0
|
|
%t2622 = select i1 %t2621, i32 8, i32 %t2620
|
|
%t2623 = getelementptr ptr, ptr null, i32 1
|
|
%t2624 = ptrtoint ptr %t2623 to i64
|
|
%t2625 = zext i32 %t2622 to i64
|
|
%t2626 = mul i64 %t2625, %t2624
|
|
%t2627 = load ptr, ptr %t2616
|
|
%t2628 = call ptr @realloc(ptr %t2627, i64 %t2626)
|
|
store ptr %t2628, ptr %t2616
|
|
store i32 %t2622, ptr %t2615
|
|
br label %put659
|
|
put659:
|
|
%t2629 = load ptr, ptr %t2616
|
|
%t2630 = getelementptr inbounds ptr, ptr %t2629, i32 %t2617
|
|
store ptr @.str5891, ptr %t2630
|
|
%t2631 = add i32 %t2617, 1
|
|
store i32 %t2631, ptr %t2614
|
|
%t2632 = load ptr, ptr %t285
|
|
%t2633 = getelementptr inbounds %LSlice, ptr %t2632, i32 0, i32 1
|
|
%t2634 = getelementptr inbounds %LSlice, ptr %t2632, i32 0, i32 2
|
|
%t2635 = getelementptr inbounds %LSlice, ptr %t2632, i32 0, i32 0
|
|
%t2636 = load i32, ptr %t2633
|
|
%t2637 = load i32, ptr %t2634
|
|
%t2638 = icmp sge i32 %t2636, %t2637
|
|
br i1 %t2638, label %grow660, label %put661
|
|
grow660:
|
|
%t2639 = mul i32 %t2637, 2
|
|
%t2640 = icmp eq i32 %t2637, 0
|
|
%t2641 = select i1 %t2640, i32 8, i32 %t2639
|
|
%t2642 = getelementptr ptr, ptr null, i32 1
|
|
%t2643 = ptrtoint ptr %t2642 to i64
|
|
%t2644 = zext i32 %t2641 to i64
|
|
%t2645 = mul i64 %t2644, %t2643
|
|
%t2646 = load ptr, ptr %t2635
|
|
%t2647 = call ptr @realloc(ptr %t2646, i64 %t2645)
|
|
store ptr %t2647, ptr %t2635
|
|
store i32 %t2641, ptr %t2634
|
|
br label %put661
|
|
put661:
|
|
%t2648 = load ptr, ptr %t2635
|
|
%t2649 = getelementptr inbounds ptr, ptr %t2648, i32 %t2636
|
|
store ptr @.str5892, ptr %t2649
|
|
%t2650 = add i32 %t2636, 1
|
|
store i32 %t2650, ptr %t2633
|
|
br label %ifend657
|
|
ifend657:
|
|
%t2651 = load ptr, ptr %t1
|
|
%t2652 = call i32 @fn_str_eq(ptr %t2651, ptr @.str5893)
|
|
%t2653 = icmp ne i32 %t2652, 0
|
|
br i1 %t2653, label %then662, label %ifend664
|
|
then662:
|
|
store ptr @.str5894, ptr %t278
|
|
%t2654 = load ptr, ptr %t285
|
|
%t2655 = getelementptr inbounds %LSlice, ptr %t2654, i32 0, i32 1
|
|
%t2656 = getelementptr inbounds %LSlice, ptr %t2654, i32 0, i32 2
|
|
%t2657 = getelementptr inbounds %LSlice, ptr %t2654, i32 0, i32 0
|
|
%t2658 = load i32, ptr %t2655
|
|
%t2659 = load i32, ptr %t2656
|
|
%t2660 = icmp sge i32 %t2658, %t2659
|
|
br i1 %t2660, label %grow665, label %put666
|
|
grow665:
|
|
%t2661 = mul i32 %t2659, 2
|
|
%t2662 = icmp eq i32 %t2659, 0
|
|
%t2663 = select i1 %t2662, i32 8, i32 %t2661
|
|
%t2664 = getelementptr ptr, ptr null, i32 1
|
|
%t2665 = ptrtoint ptr %t2664 to i64
|
|
%t2666 = zext i32 %t2663 to i64
|
|
%t2667 = mul i64 %t2666, %t2665
|
|
%t2668 = load ptr, ptr %t2657
|
|
%t2669 = call ptr @realloc(ptr %t2668, i64 %t2667)
|
|
store ptr %t2669, ptr %t2657
|
|
store i32 %t2663, ptr %t2656
|
|
br label %put666
|
|
put666:
|
|
%t2670 = load ptr, ptr %t2657
|
|
%t2671 = getelementptr inbounds ptr, ptr %t2670, i32 %t2658
|
|
store ptr @.str5895, ptr %t2671
|
|
%t2672 = add i32 %t2658, 1
|
|
store i32 %t2672, ptr %t2655
|
|
br label %ifend664
|
|
ifend664:
|
|
%t2673 = load ptr, ptr %t1
|
|
%t2674 = call i32 @fn_str_eq(ptr %t2673, ptr @.str5896)
|
|
%t2675 = icmp ne i32 %t2674, 0
|
|
br i1 %t2675, label %then667, label %ifend669
|
|
then667:
|
|
store ptr @.str5897, ptr %t278
|
|
%t2676 = load ptr, ptr %t285
|
|
%t2677 = getelementptr inbounds %LSlice, ptr %t2676, i32 0, i32 1
|
|
%t2678 = getelementptr inbounds %LSlice, ptr %t2676, i32 0, i32 2
|
|
%t2679 = getelementptr inbounds %LSlice, ptr %t2676, i32 0, i32 0
|
|
%t2680 = load i32, ptr %t2677
|
|
%t2681 = load i32, ptr %t2678
|
|
%t2682 = icmp sge i32 %t2680, %t2681
|
|
br i1 %t2682, label %grow670, label %put671
|
|
grow670:
|
|
%t2683 = mul i32 %t2681, 2
|
|
%t2684 = icmp eq i32 %t2681, 0
|
|
%t2685 = select i1 %t2684, i32 8, i32 %t2683
|
|
%t2686 = getelementptr ptr, ptr null, i32 1
|
|
%t2687 = ptrtoint ptr %t2686 to i64
|
|
%t2688 = zext i32 %t2685 to i64
|
|
%t2689 = mul i64 %t2688, %t2687
|
|
%t2690 = load ptr, ptr %t2679
|
|
%t2691 = call ptr @realloc(ptr %t2690, i64 %t2689)
|
|
store ptr %t2691, ptr %t2679
|
|
store i32 %t2685, ptr %t2678
|
|
br label %put671
|
|
put671:
|
|
%t2692 = load ptr, ptr %t2679
|
|
%t2693 = getelementptr inbounds ptr, ptr %t2692, i32 %t2680
|
|
store ptr @.str5898, ptr %t2693
|
|
%t2694 = add i32 %t2680, 1
|
|
store i32 %t2694, ptr %t2677
|
|
%t2695 = load ptr, ptr %t285
|
|
%t2696 = getelementptr inbounds %LSlice, ptr %t2695, i32 0, i32 1
|
|
%t2697 = getelementptr inbounds %LSlice, ptr %t2695, i32 0, i32 2
|
|
%t2698 = getelementptr inbounds %LSlice, ptr %t2695, i32 0, i32 0
|
|
%t2699 = load i32, ptr %t2696
|
|
%t2700 = load i32, ptr %t2697
|
|
%t2701 = icmp sge i32 %t2699, %t2700
|
|
br i1 %t2701, label %grow672, label %put673
|
|
grow672:
|
|
%t2702 = mul i32 %t2700, 2
|
|
%t2703 = icmp eq i32 %t2700, 0
|
|
%t2704 = select i1 %t2703, i32 8, i32 %t2702
|
|
%t2705 = getelementptr ptr, ptr null, i32 1
|
|
%t2706 = ptrtoint ptr %t2705 to i64
|
|
%t2707 = zext i32 %t2704 to i64
|
|
%t2708 = mul i64 %t2707, %t2706
|
|
%t2709 = load ptr, ptr %t2698
|
|
%t2710 = call ptr @realloc(ptr %t2709, i64 %t2708)
|
|
store ptr %t2710, ptr %t2698
|
|
store i32 %t2704, ptr %t2697
|
|
br label %put673
|
|
put673:
|
|
%t2711 = load ptr, ptr %t2698
|
|
%t2712 = getelementptr inbounds ptr, ptr %t2711, i32 %t2699
|
|
store ptr @.str5899, ptr %t2712
|
|
%t2713 = add i32 %t2699, 1
|
|
store i32 %t2713, ptr %t2696
|
|
br label %ifend669
|
|
ifend669:
|
|
%t2714 = load ptr, ptr %t1
|
|
%t2715 = call i32 @fn_str_eq(ptr %t2714, ptr @.str5900)
|
|
%t2716 = icmp ne i32 %t2715, 0
|
|
br i1 %t2716, label %then674, label %ifend676
|
|
then674:
|
|
store ptr @.str5901, ptr %t278
|
|
%t2717 = load ptr, ptr %t285
|
|
%t2718 = getelementptr inbounds %LSlice, ptr %t2717, i32 0, i32 1
|
|
%t2719 = getelementptr inbounds %LSlice, ptr %t2717, i32 0, i32 2
|
|
%t2720 = getelementptr inbounds %LSlice, ptr %t2717, i32 0, i32 0
|
|
%t2721 = load i32, ptr %t2718
|
|
%t2722 = load i32, ptr %t2719
|
|
%t2723 = icmp sge i32 %t2721, %t2722
|
|
br i1 %t2723, label %grow677, label %put678
|
|
grow677:
|
|
%t2724 = mul i32 %t2722, 2
|
|
%t2725 = icmp eq i32 %t2722, 0
|
|
%t2726 = select i1 %t2725, i32 8, i32 %t2724
|
|
%t2727 = getelementptr ptr, ptr null, i32 1
|
|
%t2728 = ptrtoint ptr %t2727 to i64
|
|
%t2729 = zext i32 %t2726 to i64
|
|
%t2730 = mul i64 %t2729, %t2728
|
|
%t2731 = load ptr, ptr %t2720
|
|
%t2732 = call ptr @realloc(ptr %t2731, i64 %t2730)
|
|
store ptr %t2732, ptr %t2720
|
|
store i32 %t2726, ptr %t2719
|
|
br label %put678
|
|
put678:
|
|
%t2733 = load ptr, ptr %t2720
|
|
%t2734 = getelementptr inbounds ptr, ptr %t2733, i32 %t2721
|
|
store ptr @.str5902, ptr %t2734
|
|
%t2735 = add i32 %t2721, 1
|
|
store i32 %t2735, ptr %t2718
|
|
%t2736 = load ptr, ptr %t285
|
|
%t2737 = getelementptr inbounds %LSlice, ptr %t2736, i32 0, i32 1
|
|
%t2738 = getelementptr inbounds %LSlice, ptr %t2736, i32 0, i32 2
|
|
%t2739 = getelementptr inbounds %LSlice, ptr %t2736, i32 0, i32 0
|
|
%t2740 = load i32, ptr %t2737
|
|
%t2741 = load i32, ptr %t2738
|
|
%t2742 = icmp sge i32 %t2740, %t2741
|
|
br i1 %t2742, label %grow679, label %put680
|
|
grow679:
|
|
%t2743 = mul i32 %t2741, 2
|
|
%t2744 = icmp eq i32 %t2741, 0
|
|
%t2745 = select i1 %t2744, i32 8, i32 %t2743
|
|
%t2746 = getelementptr ptr, ptr null, i32 1
|
|
%t2747 = ptrtoint ptr %t2746 to i64
|
|
%t2748 = zext i32 %t2745 to i64
|
|
%t2749 = mul i64 %t2748, %t2747
|
|
%t2750 = load ptr, ptr %t2739
|
|
%t2751 = call ptr @realloc(ptr %t2750, i64 %t2749)
|
|
store ptr %t2751, ptr %t2739
|
|
store i32 %t2745, ptr %t2738
|
|
br label %put680
|
|
put680:
|
|
%t2752 = load ptr, ptr %t2739
|
|
%t2753 = getelementptr inbounds ptr, ptr %t2752, i32 %t2740
|
|
store ptr @.str5903, ptr %t2753
|
|
%t2754 = add i32 %t2740, 1
|
|
store i32 %t2754, ptr %t2737
|
|
br label %ifend676
|
|
ifend676:
|
|
%t2755 = load ptr, ptr %t1
|
|
%t2756 = call i32 @fn_str_eq(ptr %t2755, ptr @.str5904)
|
|
%t2757 = icmp ne i32 %t2756, 0
|
|
br i1 %t2757, label %then681, label %ifend683
|
|
then681:
|
|
store ptr @.str5905, ptr %t278
|
|
%t2758 = load ptr, ptr %t285
|
|
%t2759 = getelementptr inbounds %LSlice, ptr %t2758, i32 0, i32 1
|
|
%t2760 = getelementptr inbounds %LSlice, ptr %t2758, i32 0, i32 2
|
|
%t2761 = getelementptr inbounds %LSlice, ptr %t2758, i32 0, i32 0
|
|
%t2762 = load i32, ptr %t2759
|
|
%t2763 = load i32, ptr %t2760
|
|
%t2764 = icmp sge i32 %t2762, %t2763
|
|
br i1 %t2764, label %grow684, label %put685
|
|
grow684:
|
|
%t2765 = mul i32 %t2763, 2
|
|
%t2766 = icmp eq i32 %t2763, 0
|
|
%t2767 = select i1 %t2766, i32 8, i32 %t2765
|
|
%t2768 = getelementptr ptr, ptr null, i32 1
|
|
%t2769 = ptrtoint ptr %t2768 to i64
|
|
%t2770 = zext i32 %t2767 to i64
|
|
%t2771 = mul i64 %t2770, %t2769
|
|
%t2772 = load ptr, ptr %t2761
|
|
%t2773 = call ptr @realloc(ptr %t2772, i64 %t2771)
|
|
store ptr %t2773, ptr %t2761
|
|
store i32 %t2767, ptr %t2760
|
|
br label %put685
|
|
put685:
|
|
%t2774 = load ptr, ptr %t2761
|
|
%t2775 = getelementptr inbounds ptr, ptr %t2774, i32 %t2762
|
|
store ptr @.str5906, ptr %t2775
|
|
%t2776 = add i32 %t2762, 1
|
|
store i32 %t2776, ptr %t2759
|
|
br label %ifend683
|
|
ifend683:
|
|
br label %ifend598
|
|
ifend598:
|
|
%t2777 = load ptr, ptr %t0
|
|
%t2778 = call i32 @fn_str_eq(ptr %t2777, ptr @.str5907)
|
|
%t2779 = icmp ne i32 %t2778, 0
|
|
br i1 %t2779, label %then686, label %ifend688
|
|
then686:
|
|
%t2780 = load ptr, ptr %t1
|
|
%t2781 = call i32 @fn_str_eq(ptr %t2780, ptr @.str5908)
|
|
%t2782 = icmp ne i32 %t2781, 0
|
|
br i1 %t2782, label %then689, label %ifend691
|
|
then689:
|
|
store ptr @.str5909, ptr %t278
|
|
%t2783 = load ptr, ptr %t285
|
|
%t2784 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 1
|
|
%t2785 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 2
|
|
%t2786 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 0
|
|
%t2787 = load i32, ptr %t2784
|
|
%t2788 = load i32, ptr %t2785
|
|
%t2789 = icmp sge i32 %t2787, %t2788
|
|
br i1 %t2789, label %grow692, label %put693
|
|
grow692:
|
|
%t2790 = mul i32 %t2788, 2
|
|
%t2791 = icmp eq i32 %t2788, 0
|
|
%t2792 = select i1 %t2791, i32 8, i32 %t2790
|
|
%t2793 = getelementptr ptr, ptr null, i32 1
|
|
%t2794 = ptrtoint ptr %t2793 to i64
|
|
%t2795 = zext i32 %t2792 to i64
|
|
%t2796 = mul i64 %t2795, %t2794
|
|
%t2797 = load ptr, ptr %t2786
|
|
%t2798 = call ptr @realloc(ptr %t2797, i64 %t2796)
|
|
store ptr %t2798, ptr %t2786
|
|
store i32 %t2792, ptr %t2785
|
|
br label %put693
|
|
put693:
|
|
%t2799 = load ptr, ptr %t2786
|
|
%t2800 = getelementptr inbounds ptr, ptr %t2799, i32 %t2787
|
|
store ptr @.str5910, ptr %t2800
|
|
%t2801 = add i32 %t2787, 1
|
|
store i32 %t2801, ptr %t2784
|
|
%t2802 = load ptr, ptr %t285
|
|
%t2803 = getelementptr inbounds %LSlice, ptr %t2802, i32 0, i32 1
|
|
%t2804 = getelementptr inbounds %LSlice, ptr %t2802, i32 0, i32 2
|
|
%t2805 = getelementptr inbounds %LSlice, ptr %t2802, i32 0, i32 0
|
|
%t2806 = load i32, ptr %t2803
|
|
%t2807 = load i32, ptr %t2804
|
|
%t2808 = icmp sge i32 %t2806, %t2807
|
|
br i1 %t2808, label %grow694, label %put695
|
|
grow694:
|
|
%t2809 = mul i32 %t2807, 2
|
|
%t2810 = icmp eq i32 %t2807, 0
|
|
%t2811 = select i1 %t2810, i32 8, i32 %t2809
|
|
%t2812 = getelementptr ptr, ptr null, i32 1
|
|
%t2813 = ptrtoint ptr %t2812 to i64
|
|
%t2814 = zext i32 %t2811 to i64
|
|
%t2815 = mul i64 %t2814, %t2813
|
|
%t2816 = load ptr, ptr %t2805
|
|
%t2817 = call ptr @realloc(ptr %t2816, i64 %t2815)
|
|
store ptr %t2817, ptr %t2805
|
|
store i32 %t2811, ptr %t2804
|
|
br label %put695
|
|
put695:
|
|
%t2818 = load ptr, ptr %t2805
|
|
%t2819 = getelementptr inbounds ptr, ptr %t2818, i32 %t2806
|
|
store ptr @.str5911, ptr %t2819
|
|
%t2820 = add i32 %t2806, 1
|
|
store i32 %t2820, ptr %t2803
|
|
%t2821 = load ptr, ptr %t285
|
|
%t2822 = getelementptr inbounds %LSlice, ptr %t2821, i32 0, i32 1
|
|
%t2823 = getelementptr inbounds %LSlice, ptr %t2821, i32 0, i32 2
|
|
%t2824 = getelementptr inbounds %LSlice, ptr %t2821, i32 0, i32 0
|
|
%t2825 = load i32, ptr %t2822
|
|
%t2826 = load i32, ptr %t2823
|
|
%t2827 = icmp sge i32 %t2825, %t2826
|
|
br i1 %t2827, label %grow696, label %put697
|
|
grow696:
|
|
%t2828 = mul i32 %t2826, 2
|
|
%t2829 = icmp eq i32 %t2826, 0
|
|
%t2830 = select i1 %t2829, i32 8, i32 %t2828
|
|
%t2831 = getelementptr ptr, ptr null, i32 1
|
|
%t2832 = ptrtoint ptr %t2831 to i64
|
|
%t2833 = zext i32 %t2830 to i64
|
|
%t2834 = mul i64 %t2833, %t2832
|
|
%t2835 = load ptr, ptr %t2824
|
|
%t2836 = call ptr @realloc(ptr %t2835, i64 %t2834)
|
|
store ptr %t2836, ptr %t2824
|
|
store i32 %t2830, ptr %t2823
|
|
br label %put697
|
|
put697:
|
|
%t2837 = load ptr, ptr %t2824
|
|
%t2838 = getelementptr inbounds ptr, ptr %t2837, i32 %t2825
|
|
store ptr @.str5912, ptr %t2838
|
|
%t2839 = add i32 %t2825, 1
|
|
store i32 %t2839, ptr %t2822
|
|
%t2840 = load ptr, ptr %t285
|
|
%t2841 = getelementptr inbounds %LSlice, ptr %t2840, i32 0, i32 1
|
|
%t2842 = getelementptr inbounds %LSlice, ptr %t2840, i32 0, i32 2
|
|
%t2843 = getelementptr inbounds %LSlice, ptr %t2840, i32 0, i32 0
|
|
%t2844 = load i32, ptr %t2841
|
|
%t2845 = load i32, ptr %t2842
|
|
%t2846 = icmp sge i32 %t2844, %t2845
|
|
br i1 %t2846, label %grow698, label %put699
|
|
grow698:
|
|
%t2847 = mul i32 %t2845, 2
|
|
%t2848 = icmp eq i32 %t2845, 0
|
|
%t2849 = select i1 %t2848, i32 8, i32 %t2847
|
|
%t2850 = getelementptr ptr, ptr null, i32 1
|
|
%t2851 = ptrtoint ptr %t2850 to i64
|
|
%t2852 = zext i32 %t2849 to i64
|
|
%t2853 = mul i64 %t2852, %t2851
|
|
%t2854 = load ptr, ptr %t2843
|
|
%t2855 = call ptr @realloc(ptr %t2854, i64 %t2853)
|
|
store ptr %t2855, ptr %t2843
|
|
store i32 %t2849, ptr %t2842
|
|
br label %put699
|
|
put699:
|
|
%t2856 = load ptr, ptr %t2843
|
|
%t2857 = getelementptr inbounds ptr, ptr %t2856, i32 %t2844
|
|
store ptr @.str5913, ptr %t2857
|
|
%t2858 = add i32 %t2844, 1
|
|
store i32 %t2858, ptr %t2841
|
|
br label %ifend691
|
|
ifend691:
|
|
%t2859 = load ptr, ptr %t1
|
|
%t2860 = call i32 @fn_str_eq(ptr %t2859, ptr @.str5914)
|
|
%t2861 = icmp ne i32 %t2860, 0
|
|
br i1 %t2861, label %then700, label %ifend702
|
|
then700:
|
|
store ptr @.str5915, ptr %t278
|
|
%t2862 = load ptr, ptr %t285
|
|
%t2863 = getelementptr inbounds %LSlice, ptr %t2862, i32 0, i32 1
|
|
%t2864 = getelementptr inbounds %LSlice, ptr %t2862, i32 0, i32 2
|
|
%t2865 = getelementptr inbounds %LSlice, ptr %t2862, i32 0, i32 0
|
|
%t2866 = load i32, ptr %t2863
|
|
%t2867 = load i32, ptr %t2864
|
|
%t2868 = icmp sge i32 %t2866, %t2867
|
|
br i1 %t2868, label %grow703, label %put704
|
|
grow703:
|
|
%t2869 = mul i32 %t2867, 2
|
|
%t2870 = icmp eq i32 %t2867, 0
|
|
%t2871 = select i1 %t2870, i32 8, i32 %t2869
|
|
%t2872 = getelementptr ptr, ptr null, i32 1
|
|
%t2873 = ptrtoint ptr %t2872 to i64
|
|
%t2874 = zext i32 %t2871 to i64
|
|
%t2875 = mul i64 %t2874, %t2873
|
|
%t2876 = load ptr, ptr %t2865
|
|
%t2877 = call ptr @realloc(ptr %t2876, i64 %t2875)
|
|
store ptr %t2877, ptr %t2865
|
|
store i32 %t2871, ptr %t2864
|
|
br label %put704
|
|
put704:
|
|
%t2878 = load ptr, ptr %t2865
|
|
%t2879 = getelementptr inbounds ptr, ptr %t2878, i32 %t2866
|
|
store ptr @.str5916, ptr %t2879
|
|
%t2880 = add i32 %t2866, 1
|
|
store i32 %t2880, ptr %t2863
|
|
%t2881 = load ptr, ptr %t285
|
|
%t2882 = getelementptr inbounds %LSlice, ptr %t2881, i32 0, i32 1
|
|
%t2883 = getelementptr inbounds %LSlice, ptr %t2881, i32 0, i32 2
|
|
%t2884 = getelementptr inbounds %LSlice, ptr %t2881, i32 0, i32 0
|
|
%t2885 = load i32, ptr %t2882
|
|
%t2886 = load i32, ptr %t2883
|
|
%t2887 = icmp sge i32 %t2885, %t2886
|
|
br i1 %t2887, label %grow705, label %put706
|
|
grow705:
|
|
%t2888 = mul i32 %t2886, 2
|
|
%t2889 = icmp eq i32 %t2886, 0
|
|
%t2890 = select i1 %t2889, i32 8, i32 %t2888
|
|
%t2891 = getelementptr ptr, ptr null, i32 1
|
|
%t2892 = ptrtoint ptr %t2891 to i64
|
|
%t2893 = zext i32 %t2890 to i64
|
|
%t2894 = mul i64 %t2893, %t2892
|
|
%t2895 = load ptr, ptr %t2884
|
|
%t2896 = call ptr @realloc(ptr %t2895, i64 %t2894)
|
|
store ptr %t2896, ptr %t2884
|
|
store i32 %t2890, ptr %t2883
|
|
br label %put706
|
|
put706:
|
|
%t2897 = load ptr, ptr %t2884
|
|
%t2898 = getelementptr inbounds ptr, ptr %t2897, i32 %t2885
|
|
store ptr @.str5917, ptr %t2898
|
|
%t2899 = add i32 %t2885, 1
|
|
store i32 %t2899, ptr %t2882
|
|
%t2900 = load ptr, ptr %t285
|
|
%t2901 = getelementptr inbounds %LSlice, ptr %t2900, i32 0, i32 1
|
|
%t2902 = getelementptr inbounds %LSlice, ptr %t2900, i32 0, i32 2
|
|
%t2903 = getelementptr inbounds %LSlice, ptr %t2900, i32 0, i32 0
|
|
%t2904 = load i32, ptr %t2901
|
|
%t2905 = load i32, ptr %t2902
|
|
%t2906 = icmp sge i32 %t2904, %t2905
|
|
br i1 %t2906, label %grow707, label %put708
|
|
grow707:
|
|
%t2907 = mul i32 %t2905, 2
|
|
%t2908 = icmp eq i32 %t2905, 0
|
|
%t2909 = select i1 %t2908, i32 8, i32 %t2907
|
|
%t2910 = getelementptr ptr, ptr null, i32 1
|
|
%t2911 = ptrtoint ptr %t2910 to i64
|
|
%t2912 = zext i32 %t2909 to i64
|
|
%t2913 = mul i64 %t2912, %t2911
|
|
%t2914 = load ptr, ptr %t2903
|
|
%t2915 = call ptr @realloc(ptr %t2914, i64 %t2913)
|
|
store ptr %t2915, ptr %t2903
|
|
store i32 %t2909, ptr %t2902
|
|
br label %put708
|
|
put708:
|
|
%t2916 = load ptr, ptr %t2903
|
|
%t2917 = getelementptr inbounds ptr, ptr %t2916, i32 %t2904
|
|
store ptr @.str5918, ptr %t2917
|
|
%t2918 = add i32 %t2904, 1
|
|
store i32 %t2918, ptr %t2901
|
|
br label %ifend702
|
|
ifend702:
|
|
%t2919 = load ptr, ptr %t1
|
|
%t2920 = call i32 @fn_str_eq(ptr %t2919, ptr @.str5919)
|
|
%t2921 = icmp ne i32 %t2920, 0
|
|
br i1 %t2921, label %then709, label %ifend711
|
|
then709:
|
|
store ptr @.str5920, ptr %t278
|
|
%t2922 = load ptr, ptr %t285
|
|
%t2923 = getelementptr inbounds %LSlice, ptr %t2922, i32 0, i32 1
|
|
%t2924 = getelementptr inbounds %LSlice, ptr %t2922, i32 0, i32 2
|
|
%t2925 = getelementptr inbounds %LSlice, ptr %t2922, i32 0, i32 0
|
|
%t2926 = load i32, ptr %t2923
|
|
%t2927 = load i32, ptr %t2924
|
|
%t2928 = icmp sge i32 %t2926, %t2927
|
|
br i1 %t2928, label %grow712, label %put713
|
|
grow712:
|
|
%t2929 = mul i32 %t2927, 2
|
|
%t2930 = icmp eq i32 %t2927, 0
|
|
%t2931 = select i1 %t2930, i32 8, i32 %t2929
|
|
%t2932 = getelementptr ptr, ptr null, i32 1
|
|
%t2933 = ptrtoint ptr %t2932 to i64
|
|
%t2934 = zext i32 %t2931 to i64
|
|
%t2935 = mul i64 %t2934, %t2933
|
|
%t2936 = load ptr, ptr %t2925
|
|
%t2937 = call ptr @realloc(ptr %t2936, i64 %t2935)
|
|
store ptr %t2937, ptr %t2925
|
|
store i32 %t2931, ptr %t2924
|
|
br label %put713
|
|
put713:
|
|
%t2938 = load ptr, ptr %t2925
|
|
%t2939 = getelementptr inbounds ptr, ptr %t2938, i32 %t2926
|
|
store ptr @.str5921, ptr %t2939
|
|
%t2940 = add i32 %t2926, 1
|
|
store i32 %t2940, ptr %t2923
|
|
%t2941 = load ptr, ptr %t285
|
|
%t2942 = getelementptr inbounds %LSlice, ptr %t2941, i32 0, i32 1
|
|
%t2943 = getelementptr inbounds %LSlice, ptr %t2941, i32 0, i32 2
|
|
%t2944 = getelementptr inbounds %LSlice, ptr %t2941, i32 0, i32 0
|
|
%t2945 = load i32, ptr %t2942
|
|
%t2946 = load i32, ptr %t2943
|
|
%t2947 = icmp sge i32 %t2945, %t2946
|
|
br i1 %t2947, label %grow714, label %put715
|
|
grow714:
|
|
%t2948 = mul i32 %t2946, 2
|
|
%t2949 = icmp eq i32 %t2946, 0
|
|
%t2950 = select i1 %t2949, i32 8, i32 %t2948
|
|
%t2951 = getelementptr ptr, ptr null, i32 1
|
|
%t2952 = ptrtoint ptr %t2951 to i64
|
|
%t2953 = zext i32 %t2950 to i64
|
|
%t2954 = mul i64 %t2953, %t2952
|
|
%t2955 = load ptr, ptr %t2944
|
|
%t2956 = call ptr @realloc(ptr %t2955, i64 %t2954)
|
|
store ptr %t2956, ptr %t2944
|
|
store i32 %t2950, ptr %t2943
|
|
br label %put715
|
|
put715:
|
|
%t2957 = load ptr, ptr %t2944
|
|
%t2958 = getelementptr inbounds ptr, ptr %t2957, i32 %t2945
|
|
store ptr @.str5922, ptr %t2958
|
|
%t2959 = add i32 %t2945, 1
|
|
store i32 %t2959, ptr %t2942
|
|
%t2960 = load ptr, ptr %t285
|
|
%t2961 = getelementptr inbounds %LSlice, ptr %t2960, i32 0, i32 1
|
|
%t2962 = getelementptr inbounds %LSlice, ptr %t2960, i32 0, i32 2
|
|
%t2963 = getelementptr inbounds %LSlice, ptr %t2960, i32 0, i32 0
|
|
%t2964 = load i32, ptr %t2961
|
|
%t2965 = load i32, ptr %t2962
|
|
%t2966 = icmp sge i32 %t2964, %t2965
|
|
br i1 %t2966, label %grow716, label %put717
|
|
grow716:
|
|
%t2967 = mul i32 %t2965, 2
|
|
%t2968 = icmp eq i32 %t2965, 0
|
|
%t2969 = select i1 %t2968, i32 8, i32 %t2967
|
|
%t2970 = getelementptr ptr, ptr null, i32 1
|
|
%t2971 = ptrtoint ptr %t2970 to i64
|
|
%t2972 = zext i32 %t2969 to i64
|
|
%t2973 = mul i64 %t2972, %t2971
|
|
%t2974 = load ptr, ptr %t2963
|
|
%t2975 = call ptr @realloc(ptr %t2974, i64 %t2973)
|
|
store ptr %t2975, ptr %t2963
|
|
store i32 %t2969, ptr %t2962
|
|
br label %put717
|
|
put717:
|
|
%t2976 = load ptr, ptr %t2963
|
|
%t2977 = getelementptr inbounds ptr, ptr %t2976, i32 %t2964
|
|
store ptr @.str5923, ptr %t2977
|
|
%t2978 = add i32 %t2964, 1
|
|
store i32 %t2978, ptr %t2961
|
|
%t2979 = load ptr, ptr %t285
|
|
%t2980 = getelementptr inbounds %LSlice, ptr %t2979, i32 0, i32 1
|
|
%t2981 = getelementptr inbounds %LSlice, ptr %t2979, i32 0, i32 2
|
|
%t2982 = getelementptr inbounds %LSlice, ptr %t2979, i32 0, i32 0
|
|
%t2983 = load i32, ptr %t2980
|
|
%t2984 = load i32, ptr %t2981
|
|
%t2985 = icmp sge i32 %t2983, %t2984
|
|
br i1 %t2985, label %grow718, label %put719
|
|
grow718:
|
|
%t2986 = mul i32 %t2984, 2
|
|
%t2987 = icmp eq i32 %t2984, 0
|
|
%t2988 = select i1 %t2987, i32 8, i32 %t2986
|
|
%t2989 = getelementptr ptr, ptr null, i32 1
|
|
%t2990 = ptrtoint ptr %t2989 to i64
|
|
%t2991 = zext i32 %t2988 to i64
|
|
%t2992 = mul i64 %t2991, %t2990
|
|
%t2993 = load ptr, ptr %t2982
|
|
%t2994 = call ptr @realloc(ptr %t2993, i64 %t2992)
|
|
store ptr %t2994, ptr %t2982
|
|
store i32 %t2988, ptr %t2981
|
|
br label %put719
|
|
put719:
|
|
%t2995 = load ptr, ptr %t2982
|
|
%t2996 = getelementptr inbounds ptr, ptr %t2995, i32 %t2983
|
|
store ptr @.str5924, ptr %t2996
|
|
%t2997 = add i32 %t2983, 1
|
|
store i32 %t2997, ptr %t2980
|
|
%t2998 = load ptr, ptr %t285
|
|
%t2999 = getelementptr inbounds %LSlice, ptr %t2998, i32 0, i32 1
|
|
%t3000 = getelementptr inbounds %LSlice, ptr %t2998, i32 0, i32 2
|
|
%t3001 = getelementptr inbounds %LSlice, ptr %t2998, i32 0, i32 0
|
|
%t3002 = load i32, ptr %t2999
|
|
%t3003 = load i32, ptr %t3000
|
|
%t3004 = icmp sge i32 %t3002, %t3003
|
|
br i1 %t3004, label %grow720, label %put721
|
|
grow720:
|
|
%t3005 = mul i32 %t3003, 2
|
|
%t3006 = icmp eq i32 %t3003, 0
|
|
%t3007 = select i1 %t3006, i32 8, i32 %t3005
|
|
%t3008 = getelementptr ptr, ptr null, i32 1
|
|
%t3009 = ptrtoint ptr %t3008 to i64
|
|
%t3010 = zext i32 %t3007 to i64
|
|
%t3011 = mul i64 %t3010, %t3009
|
|
%t3012 = load ptr, ptr %t3001
|
|
%t3013 = call ptr @realloc(ptr %t3012, i64 %t3011)
|
|
store ptr %t3013, ptr %t3001
|
|
store i32 %t3007, ptr %t3000
|
|
br label %put721
|
|
put721:
|
|
%t3014 = load ptr, ptr %t3001
|
|
%t3015 = getelementptr inbounds ptr, ptr %t3014, i32 %t3002
|
|
store ptr @.str5925, ptr %t3015
|
|
%t3016 = add i32 %t3002, 1
|
|
store i32 %t3016, ptr %t2999
|
|
br label %ifend711
|
|
ifend711:
|
|
%t3017 = load ptr, ptr %t1
|
|
%t3018 = call i32 @fn_str_eq(ptr %t3017, ptr @.str5926)
|
|
%t3019 = icmp ne i32 %t3018, 0
|
|
br i1 %t3019, label %then722, label %ifend724
|
|
then722:
|
|
store ptr @.str5927, ptr %t278
|
|
%t3020 = load ptr, ptr %t285
|
|
%t3021 = getelementptr inbounds %LSlice, ptr %t3020, i32 0, i32 1
|
|
%t3022 = getelementptr inbounds %LSlice, ptr %t3020, i32 0, i32 2
|
|
%t3023 = getelementptr inbounds %LSlice, ptr %t3020, i32 0, i32 0
|
|
%t3024 = load i32, ptr %t3021
|
|
%t3025 = load i32, ptr %t3022
|
|
%t3026 = icmp sge i32 %t3024, %t3025
|
|
br i1 %t3026, label %grow725, label %put726
|
|
grow725:
|
|
%t3027 = mul i32 %t3025, 2
|
|
%t3028 = icmp eq i32 %t3025, 0
|
|
%t3029 = select i1 %t3028, i32 8, i32 %t3027
|
|
%t3030 = getelementptr ptr, ptr null, i32 1
|
|
%t3031 = ptrtoint ptr %t3030 to i64
|
|
%t3032 = zext i32 %t3029 to i64
|
|
%t3033 = mul i64 %t3032, %t3031
|
|
%t3034 = load ptr, ptr %t3023
|
|
%t3035 = call ptr @realloc(ptr %t3034, i64 %t3033)
|
|
store ptr %t3035, ptr %t3023
|
|
store i32 %t3029, ptr %t3022
|
|
br label %put726
|
|
put726:
|
|
%t3036 = load ptr, ptr %t3023
|
|
%t3037 = getelementptr inbounds ptr, ptr %t3036, i32 %t3024
|
|
store ptr @.str5928, ptr %t3037
|
|
%t3038 = add i32 %t3024, 1
|
|
store i32 %t3038, ptr %t3021
|
|
%t3039 = load ptr, ptr %t285
|
|
%t3040 = getelementptr inbounds %LSlice, ptr %t3039, i32 0, i32 1
|
|
%t3041 = getelementptr inbounds %LSlice, ptr %t3039, i32 0, i32 2
|
|
%t3042 = getelementptr inbounds %LSlice, ptr %t3039, i32 0, i32 0
|
|
%t3043 = load i32, ptr %t3040
|
|
%t3044 = load i32, ptr %t3041
|
|
%t3045 = icmp sge i32 %t3043, %t3044
|
|
br i1 %t3045, label %grow727, label %put728
|
|
grow727:
|
|
%t3046 = mul i32 %t3044, 2
|
|
%t3047 = icmp eq i32 %t3044, 0
|
|
%t3048 = select i1 %t3047, i32 8, i32 %t3046
|
|
%t3049 = getelementptr ptr, ptr null, i32 1
|
|
%t3050 = ptrtoint ptr %t3049 to i64
|
|
%t3051 = zext i32 %t3048 to i64
|
|
%t3052 = mul i64 %t3051, %t3050
|
|
%t3053 = load ptr, ptr %t3042
|
|
%t3054 = call ptr @realloc(ptr %t3053, i64 %t3052)
|
|
store ptr %t3054, ptr %t3042
|
|
store i32 %t3048, ptr %t3041
|
|
br label %put728
|
|
put728:
|
|
%t3055 = load ptr, ptr %t3042
|
|
%t3056 = getelementptr inbounds ptr, ptr %t3055, i32 %t3043
|
|
store ptr @.str5929, ptr %t3056
|
|
%t3057 = add i32 %t3043, 1
|
|
store i32 %t3057, ptr %t3040
|
|
%t3058 = load ptr, ptr %t285
|
|
%t3059 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 1
|
|
%t3060 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 2
|
|
%t3061 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 0
|
|
%t3062 = load i32, ptr %t3059
|
|
%t3063 = load i32, ptr %t3060
|
|
%t3064 = icmp sge i32 %t3062, %t3063
|
|
br i1 %t3064, label %grow729, label %put730
|
|
grow729:
|
|
%t3065 = mul i32 %t3063, 2
|
|
%t3066 = icmp eq i32 %t3063, 0
|
|
%t3067 = select i1 %t3066, i32 8, i32 %t3065
|
|
%t3068 = getelementptr ptr, ptr null, i32 1
|
|
%t3069 = ptrtoint ptr %t3068 to i64
|
|
%t3070 = zext i32 %t3067 to i64
|
|
%t3071 = mul i64 %t3070, %t3069
|
|
%t3072 = load ptr, ptr %t3061
|
|
%t3073 = call ptr @realloc(ptr %t3072, i64 %t3071)
|
|
store ptr %t3073, ptr %t3061
|
|
store i32 %t3067, ptr %t3060
|
|
br label %put730
|
|
put730:
|
|
%t3074 = load ptr, ptr %t3061
|
|
%t3075 = getelementptr inbounds ptr, ptr %t3074, i32 %t3062
|
|
store ptr @.str5930, ptr %t3075
|
|
%t3076 = add i32 %t3062, 1
|
|
store i32 %t3076, ptr %t3059
|
|
br label %ifend724
|
|
ifend724:
|
|
%t3077 = load ptr, ptr %t1
|
|
%t3078 = call i32 @fn_str_eq(ptr %t3077, ptr @.str5931)
|
|
%t3079 = icmp ne i32 %t3078, 0
|
|
br i1 %t3079, label %then731, label %ifend733
|
|
then731:
|
|
store ptr @.str5932, ptr %t278
|
|
%t3080 = load ptr, ptr %t285
|
|
%t3081 = getelementptr inbounds %LSlice, ptr %t3080, i32 0, i32 1
|
|
%t3082 = getelementptr inbounds %LSlice, ptr %t3080, i32 0, i32 2
|
|
%t3083 = getelementptr inbounds %LSlice, ptr %t3080, i32 0, i32 0
|
|
%t3084 = load i32, ptr %t3081
|
|
%t3085 = load i32, ptr %t3082
|
|
%t3086 = icmp sge i32 %t3084, %t3085
|
|
br i1 %t3086, label %grow734, label %put735
|
|
grow734:
|
|
%t3087 = mul i32 %t3085, 2
|
|
%t3088 = icmp eq i32 %t3085, 0
|
|
%t3089 = select i1 %t3088, i32 8, i32 %t3087
|
|
%t3090 = getelementptr ptr, ptr null, i32 1
|
|
%t3091 = ptrtoint ptr %t3090 to i64
|
|
%t3092 = zext i32 %t3089 to i64
|
|
%t3093 = mul i64 %t3092, %t3091
|
|
%t3094 = load ptr, ptr %t3083
|
|
%t3095 = call ptr @realloc(ptr %t3094, i64 %t3093)
|
|
store ptr %t3095, ptr %t3083
|
|
store i32 %t3089, ptr %t3082
|
|
br label %put735
|
|
put735:
|
|
%t3096 = load ptr, ptr %t3083
|
|
%t3097 = getelementptr inbounds ptr, ptr %t3096, i32 %t3084
|
|
store ptr @.str5933, ptr %t3097
|
|
%t3098 = add i32 %t3084, 1
|
|
store i32 %t3098, ptr %t3081
|
|
%t3099 = load ptr, ptr %t285
|
|
%t3100 = getelementptr inbounds %LSlice, ptr %t3099, i32 0, i32 1
|
|
%t3101 = getelementptr inbounds %LSlice, ptr %t3099, i32 0, i32 2
|
|
%t3102 = getelementptr inbounds %LSlice, ptr %t3099, i32 0, i32 0
|
|
%t3103 = load i32, ptr %t3100
|
|
%t3104 = load i32, ptr %t3101
|
|
%t3105 = icmp sge i32 %t3103, %t3104
|
|
br i1 %t3105, label %grow736, label %put737
|
|
grow736:
|
|
%t3106 = mul i32 %t3104, 2
|
|
%t3107 = icmp eq i32 %t3104, 0
|
|
%t3108 = select i1 %t3107, i32 8, i32 %t3106
|
|
%t3109 = getelementptr ptr, ptr null, i32 1
|
|
%t3110 = ptrtoint ptr %t3109 to i64
|
|
%t3111 = zext i32 %t3108 to i64
|
|
%t3112 = mul i64 %t3111, %t3110
|
|
%t3113 = load ptr, ptr %t3102
|
|
%t3114 = call ptr @realloc(ptr %t3113, i64 %t3112)
|
|
store ptr %t3114, ptr %t3102
|
|
store i32 %t3108, ptr %t3101
|
|
br label %put737
|
|
put737:
|
|
%t3115 = load ptr, ptr %t3102
|
|
%t3116 = getelementptr inbounds ptr, ptr %t3115, i32 %t3103
|
|
store ptr @.str5934, ptr %t3116
|
|
%t3117 = add i32 %t3103, 1
|
|
store i32 %t3117, ptr %t3100
|
|
%t3118 = load ptr, ptr %t285
|
|
%t3119 = getelementptr inbounds %LSlice, ptr %t3118, i32 0, i32 1
|
|
%t3120 = getelementptr inbounds %LSlice, ptr %t3118, i32 0, i32 2
|
|
%t3121 = getelementptr inbounds %LSlice, ptr %t3118, i32 0, i32 0
|
|
%t3122 = load i32, ptr %t3119
|
|
%t3123 = load i32, ptr %t3120
|
|
%t3124 = icmp sge i32 %t3122, %t3123
|
|
br i1 %t3124, label %grow738, label %put739
|
|
grow738:
|
|
%t3125 = mul i32 %t3123, 2
|
|
%t3126 = icmp eq i32 %t3123, 0
|
|
%t3127 = select i1 %t3126, i32 8, i32 %t3125
|
|
%t3128 = getelementptr ptr, ptr null, i32 1
|
|
%t3129 = ptrtoint ptr %t3128 to i64
|
|
%t3130 = zext i32 %t3127 to i64
|
|
%t3131 = mul i64 %t3130, %t3129
|
|
%t3132 = load ptr, ptr %t3121
|
|
%t3133 = call ptr @realloc(ptr %t3132, i64 %t3131)
|
|
store ptr %t3133, ptr %t3121
|
|
store i32 %t3127, ptr %t3120
|
|
br label %put739
|
|
put739:
|
|
%t3134 = load ptr, ptr %t3121
|
|
%t3135 = getelementptr inbounds ptr, ptr %t3134, i32 %t3122
|
|
store ptr @.str5935, ptr %t3135
|
|
%t3136 = add i32 %t3122, 1
|
|
store i32 %t3136, ptr %t3119
|
|
%t3137 = load ptr, ptr %t285
|
|
%t3138 = getelementptr inbounds %LSlice, ptr %t3137, i32 0, i32 1
|
|
%t3139 = getelementptr inbounds %LSlice, ptr %t3137, i32 0, i32 2
|
|
%t3140 = getelementptr inbounds %LSlice, ptr %t3137, i32 0, i32 0
|
|
%t3141 = load i32, ptr %t3138
|
|
%t3142 = load i32, ptr %t3139
|
|
%t3143 = icmp sge i32 %t3141, %t3142
|
|
br i1 %t3143, label %grow740, label %put741
|
|
grow740:
|
|
%t3144 = mul i32 %t3142, 2
|
|
%t3145 = icmp eq i32 %t3142, 0
|
|
%t3146 = select i1 %t3145, i32 8, i32 %t3144
|
|
%t3147 = getelementptr ptr, ptr null, i32 1
|
|
%t3148 = ptrtoint ptr %t3147 to i64
|
|
%t3149 = zext i32 %t3146 to i64
|
|
%t3150 = mul i64 %t3149, %t3148
|
|
%t3151 = load ptr, ptr %t3140
|
|
%t3152 = call ptr @realloc(ptr %t3151, i64 %t3150)
|
|
store ptr %t3152, ptr %t3140
|
|
store i32 %t3146, ptr %t3139
|
|
br label %put741
|
|
put741:
|
|
%t3153 = load ptr, ptr %t3140
|
|
%t3154 = getelementptr inbounds ptr, ptr %t3153, i32 %t3141
|
|
store ptr @.str5936, ptr %t3154
|
|
%t3155 = add i32 %t3141, 1
|
|
store i32 %t3155, ptr %t3138
|
|
%t3156 = load ptr, ptr %t285
|
|
%t3157 = getelementptr inbounds %LSlice, ptr %t3156, i32 0, i32 1
|
|
%t3158 = getelementptr inbounds %LSlice, ptr %t3156, i32 0, i32 2
|
|
%t3159 = getelementptr inbounds %LSlice, ptr %t3156, i32 0, i32 0
|
|
%t3160 = load i32, ptr %t3157
|
|
%t3161 = load i32, ptr %t3158
|
|
%t3162 = icmp sge i32 %t3160, %t3161
|
|
br i1 %t3162, label %grow742, label %put743
|
|
grow742:
|
|
%t3163 = mul i32 %t3161, 2
|
|
%t3164 = icmp eq i32 %t3161, 0
|
|
%t3165 = select i1 %t3164, i32 8, i32 %t3163
|
|
%t3166 = getelementptr ptr, ptr null, i32 1
|
|
%t3167 = ptrtoint ptr %t3166 to i64
|
|
%t3168 = zext i32 %t3165 to i64
|
|
%t3169 = mul i64 %t3168, %t3167
|
|
%t3170 = load ptr, ptr %t3159
|
|
%t3171 = call ptr @realloc(ptr %t3170, i64 %t3169)
|
|
store ptr %t3171, ptr %t3159
|
|
store i32 %t3165, ptr %t3158
|
|
br label %put743
|
|
put743:
|
|
%t3172 = load ptr, ptr %t3159
|
|
%t3173 = getelementptr inbounds ptr, ptr %t3172, i32 %t3160
|
|
store ptr @.str5937, ptr %t3173
|
|
%t3174 = add i32 %t3160, 1
|
|
store i32 %t3174, ptr %t3157
|
|
br label %ifend733
|
|
ifend733:
|
|
br label %ifend688
|
|
ifend688:
|
|
%t3175 = load ptr, ptr %t0
|
|
%t3176 = call i32 @fn_str_eq(ptr %t3175, ptr @.str5938)
|
|
%t3177 = icmp ne i32 %t3176, 0
|
|
br i1 %t3177, label %then744, label %ifend746
|
|
then744:
|
|
%t3178 = load ptr, ptr %t1
|
|
%t3179 = call i32 @fn_str_eq(ptr %t3178, ptr @.str5939)
|
|
%t3180 = icmp ne i32 %t3179, 0
|
|
br i1 %t3180, label %then747, label %ifend749
|
|
then747:
|
|
store ptr @.str5940, ptr %t278
|
|
%t3181 = load ptr, ptr %t285
|
|
%t3182 = getelementptr inbounds %LSlice, ptr %t3181, i32 0, i32 1
|
|
%t3183 = getelementptr inbounds %LSlice, ptr %t3181, i32 0, i32 2
|
|
%t3184 = getelementptr inbounds %LSlice, ptr %t3181, i32 0, i32 0
|
|
%t3185 = load i32, ptr %t3182
|
|
%t3186 = load i32, ptr %t3183
|
|
%t3187 = icmp sge i32 %t3185, %t3186
|
|
br i1 %t3187, label %grow750, label %put751
|
|
grow750:
|
|
%t3188 = mul i32 %t3186, 2
|
|
%t3189 = icmp eq i32 %t3186, 0
|
|
%t3190 = select i1 %t3189, i32 8, i32 %t3188
|
|
%t3191 = getelementptr ptr, ptr null, i32 1
|
|
%t3192 = ptrtoint ptr %t3191 to i64
|
|
%t3193 = zext i32 %t3190 to i64
|
|
%t3194 = mul i64 %t3193, %t3192
|
|
%t3195 = load ptr, ptr %t3184
|
|
%t3196 = call ptr @realloc(ptr %t3195, i64 %t3194)
|
|
store ptr %t3196, ptr %t3184
|
|
store i32 %t3190, ptr %t3183
|
|
br label %put751
|
|
put751:
|
|
%t3197 = load ptr, ptr %t3184
|
|
%t3198 = getelementptr inbounds ptr, ptr %t3197, i32 %t3185
|
|
store ptr @.str5941, ptr %t3198
|
|
%t3199 = add i32 %t3185, 1
|
|
store i32 %t3199, ptr %t3182
|
|
br label %ifend749
|
|
ifend749:
|
|
%t3200 = load ptr, ptr %t1
|
|
%t3201 = call i32 @fn_str_eq(ptr %t3200, ptr @.str5942)
|
|
%t3202 = icmp ne i32 %t3201, 0
|
|
br i1 %t3202, label %then752, label %ifend754
|
|
then752:
|
|
store ptr @.str5943, ptr %t278
|
|
%t3203 = load ptr, ptr %t285
|
|
%t3204 = getelementptr inbounds %LSlice, ptr %t3203, i32 0, i32 1
|
|
%t3205 = getelementptr inbounds %LSlice, ptr %t3203, i32 0, i32 2
|
|
%t3206 = getelementptr inbounds %LSlice, ptr %t3203, i32 0, i32 0
|
|
%t3207 = load i32, ptr %t3204
|
|
%t3208 = load i32, ptr %t3205
|
|
%t3209 = icmp sge i32 %t3207, %t3208
|
|
br i1 %t3209, label %grow755, label %put756
|
|
grow755:
|
|
%t3210 = mul i32 %t3208, 2
|
|
%t3211 = icmp eq i32 %t3208, 0
|
|
%t3212 = select i1 %t3211, i32 8, i32 %t3210
|
|
%t3213 = getelementptr ptr, ptr null, i32 1
|
|
%t3214 = ptrtoint ptr %t3213 to i64
|
|
%t3215 = zext i32 %t3212 to i64
|
|
%t3216 = mul i64 %t3215, %t3214
|
|
%t3217 = load ptr, ptr %t3206
|
|
%t3218 = call ptr @realloc(ptr %t3217, i64 %t3216)
|
|
store ptr %t3218, ptr %t3206
|
|
store i32 %t3212, ptr %t3205
|
|
br label %put756
|
|
put756:
|
|
%t3219 = load ptr, ptr %t3206
|
|
%t3220 = getelementptr inbounds ptr, ptr %t3219, i32 %t3207
|
|
store ptr @.str5944, ptr %t3220
|
|
%t3221 = add i32 %t3207, 1
|
|
store i32 %t3221, ptr %t3204
|
|
%t3222 = load ptr, ptr %t285
|
|
%t3223 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 1
|
|
%t3224 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 2
|
|
%t3225 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 0
|
|
%t3226 = load i32, ptr %t3223
|
|
%t3227 = load i32, ptr %t3224
|
|
%t3228 = icmp sge i32 %t3226, %t3227
|
|
br i1 %t3228, label %grow757, label %put758
|
|
grow757:
|
|
%t3229 = mul i32 %t3227, 2
|
|
%t3230 = icmp eq i32 %t3227, 0
|
|
%t3231 = select i1 %t3230, i32 8, i32 %t3229
|
|
%t3232 = getelementptr ptr, ptr null, i32 1
|
|
%t3233 = ptrtoint ptr %t3232 to i64
|
|
%t3234 = zext i32 %t3231 to i64
|
|
%t3235 = mul i64 %t3234, %t3233
|
|
%t3236 = load ptr, ptr %t3225
|
|
%t3237 = call ptr @realloc(ptr %t3236, i64 %t3235)
|
|
store ptr %t3237, ptr %t3225
|
|
store i32 %t3231, ptr %t3224
|
|
br label %put758
|
|
put758:
|
|
%t3238 = load ptr, ptr %t3225
|
|
%t3239 = getelementptr inbounds ptr, ptr %t3238, i32 %t3226
|
|
store ptr @.str5945, ptr %t3239
|
|
%t3240 = add i32 %t3226, 1
|
|
store i32 %t3240, ptr %t3223
|
|
%t3241 = load ptr, ptr %t285
|
|
%t3242 = getelementptr inbounds %LSlice, ptr %t3241, i32 0, i32 1
|
|
%t3243 = getelementptr inbounds %LSlice, ptr %t3241, i32 0, i32 2
|
|
%t3244 = getelementptr inbounds %LSlice, ptr %t3241, i32 0, i32 0
|
|
%t3245 = load i32, ptr %t3242
|
|
%t3246 = load i32, ptr %t3243
|
|
%t3247 = icmp sge i32 %t3245, %t3246
|
|
br i1 %t3247, label %grow759, label %put760
|
|
grow759:
|
|
%t3248 = mul i32 %t3246, 2
|
|
%t3249 = icmp eq i32 %t3246, 0
|
|
%t3250 = select i1 %t3249, i32 8, i32 %t3248
|
|
%t3251 = getelementptr ptr, ptr null, i32 1
|
|
%t3252 = ptrtoint ptr %t3251 to i64
|
|
%t3253 = zext i32 %t3250 to i64
|
|
%t3254 = mul i64 %t3253, %t3252
|
|
%t3255 = load ptr, ptr %t3244
|
|
%t3256 = call ptr @realloc(ptr %t3255, i64 %t3254)
|
|
store ptr %t3256, ptr %t3244
|
|
store i32 %t3250, ptr %t3243
|
|
br label %put760
|
|
put760:
|
|
%t3257 = load ptr, ptr %t3244
|
|
%t3258 = getelementptr inbounds ptr, ptr %t3257, i32 %t3245
|
|
store ptr @.str5946, ptr %t3258
|
|
%t3259 = add i32 %t3245, 1
|
|
store i32 %t3259, ptr %t3242
|
|
%t3260 = load ptr, ptr %t285
|
|
%t3261 = getelementptr inbounds %LSlice, ptr %t3260, i32 0, i32 1
|
|
%t3262 = getelementptr inbounds %LSlice, ptr %t3260, i32 0, i32 2
|
|
%t3263 = getelementptr inbounds %LSlice, ptr %t3260, i32 0, i32 0
|
|
%t3264 = load i32, ptr %t3261
|
|
%t3265 = load i32, ptr %t3262
|
|
%t3266 = icmp sge i32 %t3264, %t3265
|
|
br i1 %t3266, label %grow761, label %put762
|
|
grow761:
|
|
%t3267 = mul i32 %t3265, 2
|
|
%t3268 = icmp eq i32 %t3265, 0
|
|
%t3269 = select i1 %t3268, i32 8, i32 %t3267
|
|
%t3270 = getelementptr ptr, ptr null, i32 1
|
|
%t3271 = ptrtoint ptr %t3270 to i64
|
|
%t3272 = zext i32 %t3269 to i64
|
|
%t3273 = mul i64 %t3272, %t3271
|
|
%t3274 = load ptr, ptr %t3263
|
|
%t3275 = call ptr @realloc(ptr %t3274, i64 %t3273)
|
|
store ptr %t3275, ptr %t3263
|
|
store i32 %t3269, ptr %t3262
|
|
br label %put762
|
|
put762:
|
|
%t3276 = load ptr, ptr %t3263
|
|
%t3277 = getelementptr inbounds ptr, ptr %t3276, i32 %t3264
|
|
store ptr @.str5947, ptr %t3277
|
|
%t3278 = add i32 %t3264, 1
|
|
store i32 %t3278, ptr %t3261
|
|
%t3279 = load ptr, ptr %t285
|
|
%t3280 = getelementptr inbounds %LSlice, ptr %t3279, i32 0, i32 1
|
|
%t3281 = getelementptr inbounds %LSlice, ptr %t3279, i32 0, i32 2
|
|
%t3282 = getelementptr inbounds %LSlice, ptr %t3279, i32 0, i32 0
|
|
%t3283 = load i32, ptr %t3280
|
|
%t3284 = load i32, ptr %t3281
|
|
%t3285 = icmp sge i32 %t3283, %t3284
|
|
br i1 %t3285, label %grow763, label %put764
|
|
grow763:
|
|
%t3286 = mul i32 %t3284, 2
|
|
%t3287 = icmp eq i32 %t3284, 0
|
|
%t3288 = select i1 %t3287, i32 8, i32 %t3286
|
|
%t3289 = getelementptr ptr, ptr null, i32 1
|
|
%t3290 = ptrtoint ptr %t3289 to i64
|
|
%t3291 = zext i32 %t3288 to i64
|
|
%t3292 = mul i64 %t3291, %t3290
|
|
%t3293 = load ptr, ptr %t3282
|
|
%t3294 = call ptr @realloc(ptr %t3293, i64 %t3292)
|
|
store ptr %t3294, ptr %t3282
|
|
store i32 %t3288, ptr %t3281
|
|
br label %put764
|
|
put764:
|
|
%t3295 = load ptr, ptr %t3282
|
|
%t3296 = getelementptr inbounds ptr, ptr %t3295, i32 %t3283
|
|
store ptr @.str5948, ptr %t3296
|
|
%t3297 = add i32 %t3283, 1
|
|
store i32 %t3297, ptr %t3280
|
|
br label %ifend754
|
|
ifend754:
|
|
%t3298 = load ptr, ptr %t1
|
|
%t3299 = call i32 @fn_str_eq(ptr %t3298, ptr @.str5949)
|
|
%t3300 = icmp ne i32 %t3299, 0
|
|
br i1 %t3300, label %then765, label %ifend767
|
|
then765:
|
|
store ptr @.str5950, ptr %t278
|
|
%t3301 = load ptr, ptr %t285
|
|
%t3302 = getelementptr inbounds %LSlice, ptr %t3301, i32 0, i32 1
|
|
%t3303 = getelementptr inbounds %LSlice, ptr %t3301, i32 0, i32 2
|
|
%t3304 = getelementptr inbounds %LSlice, ptr %t3301, i32 0, i32 0
|
|
%t3305 = load i32, ptr %t3302
|
|
%t3306 = load i32, ptr %t3303
|
|
%t3307 = icmp sge i32 %t3305, %t3306
|
|
br i1 %t3307, label %grow768, label %put769
|
|
grow768:
|
|
%t3308 = mul i32 %t3306, 2
|
|
%t3309 = icmp eq i32 %t3306, 0
|
|
%t3310 = select i1 %t3309, i32 8, i32 %t3308
|
|
%t3311 = getelementptr ptr, ptr null, i32 1
|
|
%t3312 = ptrtoint ptr %t3311 to i64
|
|
%t3313 = zext i32 %t3310 to i64
|
|
%t3314 = mul i64 %t3313, %t3312
|
|
%t3315 = load ptr, ptr %t3304
|
|
%t3316 = call ptr @realloc(ptr %t3315, i64 %t3314)
|
|
store ptr %t3316, ptr %t3304
|
|
store i32 %t3310, ptr %t3303
|
|
br label %put769
|
|
put769:
|
|
%t3317 = load ptr, ptr %t3304
|
|
%t3318 = getelementptr inbounds ptr, ptr %t3317, i32 %t3305
|
|
store ptr @.str5951, ptr %t3318
|
|
%t3319 = add i32 %t3305, 1
|
|
store i32 %t3319, ptr %t3302
|
|
%t3320 = load ptr, ptr %t285
|
|
%t3321 = getelementptr inbounds %LSlice, ptr %t3320, i32 0, i32 1
|
|
%t3322 = getelementptr inbounds %LSlice, ptr %t3320, i32 0, i32 2
|
|
%t3323 = getelementptr inbounds %LSlice, ptr %t3320, i32 0, i32 0
|
|
%t3324 = load i32, ptr %t3321
|
|
%t3325 = load i32, ptr %t3322
|
|
%t3326 = icmp sge i32 %t3324, %t3325
|
|
br i1 %t3326, label %grow770, label %put771
|
|
grow770:
|
|
%t3327 = mul i32 %t3325, 2
|
|
%t3328 = icmp eq i32 %t3325, 0
|
|
%t3329 = select i1 %t3328, i32 8, i32 %t3327
|
|
%t3330 = getelementptr ptr, ptr null, i32 1
|
|
%t3331 = ptrtoint ptr %t3330 to i64
|
|
%t3332 = zext i32 %t3329 to i64
|
|
%t3333 = mul i64 %t3332, %t3331
|
|
%t3334 = load ptr, ptr %t3323
|
|
%t3335 = call ptr @realloc(ptr %t3334, i64 %t3333)
|
|
store ptr %t3335, ptr %t3323
|
|
store i32 %t3329, ptr %t3322
|
|
br label %put771
|
|
put771:
|
|
%t3336 = load ptr, ptr %t3323
|
|
%t3337 = getelementptr inbounds ptr, ptr %t3336, i32 %t3324
|
|
store ptr @.str5952, ptr %t3337
|
|
%t3338 = add i32 %t3324, 1
|
|
store i32 %t3338, ptr %t3321
|
|
%t3339 = load ptr, ptr %t285
|
|
%t3340 = getelementptr inbounds %LSlice, ptr %t3339, i32 0, i32 1
|
|
%t3341 = getelementptr inbounds %LSlice, ptr %t3339, i32 0, i32 2
|
|
%t3342 = getelementptr inbounds %LSlice, ptr %t3339, i32 0, i32 0
|
|
%t3343 = load i32, ptr %t3340
|
|
%t3344 = load i32, ptr %t3341
|
|
%t3345 = icmp sge i32 %t3343, %t3344
|
|
br i1 %t3345, label %grow772, label %put773
|
|
grow772:
|
|
%t3346 = mul i32 %t3344, 2
|
|
%t3347 = icmp eq i32 %t3344, 0
|
|
%t3348 = select i1 %t3347, i32 8, i32 %t3346
|
|
%t3349 = getelementptr ptr, ptr null, i32 1
|
|
%t3350 = ptrtoint ptr %t3349 to i64
|
|
%t3351 = zext i32 %t3348 to i64
|
|
%t3352 = mul i64 %t3351, %t3350
|
|
%t3353 = load ptr, ptr %t3342
|
|
%t3354 = call ptr @realloc(ptr %t3353, i64 %t3352)
|
|
store ptr %t3354, ptr %t3342
|
|
store i32 %t3348, ptr %t3341
|
|
br label %put773
|
|
put773:
|
|
%t3355 = load ptr, ptr %t3342
|
|
%t3356 = getelementptr inbounds ptr, ptr %t3355, i32 %t3343
|
|
store ptr @.str5953, ptr %t3356
|
|
%t3357 = add i32 %t3343, 1
|
|
store i32 %t3357, ptr %t3340
|
|
%t3358 = load ptr, ptr %t285
|
|
%t3359 = getelementptr inbounds %LSlice, ptr %t3358, i32 0, i32 1
|
|
%t3360 = getelementptr inbounds %LSlice, ptr %t3358, i32 0, i32 2
|
|
%t3361 = getelementptr inbounds %LSlice, ptr %t3358, i32 0, i32 0
|
|
%t3362 = load i32, ptr %t3359
|
|
%t3363 = load i32, ptr %t3360
|
|
%t3364 = icmp sge i32 %t3362, %t3363
|
|
br i1 %t3364, label %grow774, label %put775
|
|
grow774:
|
|
%t3365 = mul i32 %t3363, 2
|
|
%t3366 = icmp eq i32 %t3363, 0
|
|
%t3367 = select i1 %t3366, i32 8, i32 %t3365
|
|
%t3368 = getelementptr ptr, ptr null, i32 1
|
|
%t3369 = ptrtoint ptr %t3368 to i64
|
|
%t3370 = zext i32 %t3367 to i64
|
|
%t3371 = mul i64 %t3370, %t3369
|
|
%t3372 = load ptr, ptr %t3361
|
|
%t3373 = call ptr @realloc(ptr %t3372, i64 %t3371)
|
|
store ptr %t3373, ptr %t3361
|
|
store i32 %t3367, ptr %t3360
|
|
br label %put775
|
|
put775:
|
|
%t3374 = load ptr, ptr %t3361
|
|
%t3375 = getelementptr inbounds ptr, ptr %t3374, i32 %t3362
|
|
store ptr @.str5954, ptr %t3375
|
|
%t3376 = add i32 %t3362, 1
|
|
store i32 %t3376, ptr %t3359
|
|
br label %ifend767
|
|
ifend767:
|
|
%t3377 = load ptr, ptr %t1
|
|
%t3378 = call i32 @fn_str_eq(ptr %t3377, ptr @.str5955)
|
|
%t3379 = icmp ne i32 %t3378, 0
|
|
br i1 %t3379, label %then776, label %ifend778
|
|
then776:
|
|
store ptr @.str5956, ptr %t278
|
|
br label %ifend778
|
|
ifend778:
|
|
br label %ifend746
|
|
ifend746:
|
|
%t3380 = load ptr, ptr %t0
|
|
%t3381 = call i32 @fn_str_eq(ptr %t3380, ptr @.str5957)
|
|
%t3382 = icmp ne i32 %t3381, 0
|
|
br i1 %t3382, label %then779, label %ifend781
|
|
then779:
|
|
%t3383 = load ptr, ptr %t1
|
|
%t3384 = call i32 @fn_str_eq(ptr %t3383, ptr @.str5958)
|
|
%t3385 = icmp ne i32 %t3384, 0
|
|
br i1 %t3385, label %then782, label %ifend784
|
|
then782:
|
|
store ptr @.str5959, ptr %t278
|
|
%t3386 = load ptr, ptr %t285
|
|
%t3387 = getelementptr inbounds %LSlice, ptr %t3386, i32 0, i32 1
|
|
%t3388 = getelementptr inbounds %LSlice, ptr %t3386, i32 0, i32 2
|
|
%t3389 = getelementptr inbounds %LSlice, ptr %t3386, i32 0, i32 0
|
|
%t3390 = load i32, ptr %t3387
|
|
%t3391 = load i32, ptr %t3388
|
|
%t3392 = icmp sge i32 %t3390, %t3391
|
|
br i1 %t3392, label %grow785, label %put786
|
|
grow785:
|
|
%t3393 = mul i32 %t3391, 2
|
|
%t3394 = icmp eq i32 %t3391, 0
|
|
%t3395 = select i1 %t3394, i32 8, i32 %t3393
|
|
%t3396 = getelementptr ptr, ptr null, i32 1
|
|
%t3397 = ptrtoint ptr %t3396 to i64
|
|
%t3398 = zext i32 %t3395 to i64
|
|
%t3399 = mul i64 %t3398, %t3397
|
|
%t3400 = load ptr, ptr %t3389
|
|
%t3401 = call ptr @realloc(ptr %t3400, i64 %t3399)
|
|
store ptr %t3401, ptr %t3389
|
|
store i32 %t3395, ptr %t3388
|
|
br label %put786
|
|
put786:
|
|
%t3402 = load ptr, ptr %t3389
|
|
%t3403 = getelementptr inbounds ptr, ptr %t3402, i32 %t3390
|
|
store ptr @.str5960, ptr %t3403
|
|
%t3404 = add i32 %t3390, 1
|
|
store i32 %t3404, ptr %t3387
|
|
br label %ifend784
|
|
ifend784:
|
|
%t3405 = load ptr, ptr %t1
|
|
%t3406 = call i32 @fn_str_eq(ptr %t3405, ptr @.str5961)
|
|
%t3407 = icmp ne i32 %t3406, 0
|
|
br i1 %t3407, label %then787, label %ifend789
|
|
then787:
|
|
store ptr @.str5962, ptr %t278
|
|
%t3408 = load ptr, ptr %t285
|
|
%t3409 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 1
|
|
%t3410 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 2
|
|
%t3411 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 0
|
|
%t3412 = load i32, ptr %t3409
|
|
%t3413 = load i32, ptr %t3410
|
|
%t3414 = icmp sge i32 %t3412, %t3413
|
|
br i1 %t3414, label %grow790, label %put791
|
|
grow790:
|
|
%t3415 = mul i32 %t3413, 2
|
|
%t3416 = icmp eq i32 %t3413, 0
|
|
%t3417 = select i1 %t3416, i32 8, i32 %t3415
|
|
%t3418 = getelementptr ptr, ptr null, i32 1
|
|
%t3419 = ptrtoint ptr %t3418 to i64
|
|
%t3420 = zext i32 %t3417 to i64
|
|
%t3421 = mul i64 %t3420, %t3419
|
|
%t3422 = load ptr, ptr %t3411
|
|
%t3423 = call ptr @realloc(ptr %t3422, i64 %t3421)
|
|
store ptr %t3423, ptr %t3411
|
|
store i32 %t3417, ptr %t3410
|
|
br label %put791
|
|
put791:
|
|
%t3424 = load ptr, ptr %t3411
|
|
%t3425 = getelementptr inbounds ptr, ptr %t3424, i32 %t3412
|
|
store ptr @.str5963, ptr %t3425
|
|
%t3426 = add i32 %t3412, 1
|
|
store i32 %t3426, ptr %t3409
|
|
br label %ifend789
|
|
ifend789:
|
|
%t3427 = load ptr, ptr %t1
|
|
%t3428 = call i32 @fn_str_eq(ptr %t3427, ptr @.str5964)
|
|
%t3429 = icmp ne i32 %t3428, 0
|
|
br i1 %t3429, label %then792, label %ifend794
|
|
then792:
|
|
store ptr @.str5965, ptr %t278
|
|
%t3430 = load ptr, ptr %t285
|
|
%t3431 = getelementptr inbounds %LSlice, ptr %t3430, i32 0, i32 1
|
|
%t3432 = getelementptr inbounds %LSlice, ptr %t3430, i32 0, i32 2
|
|
%t3433 = getelementptr inbounds %LSlice, ptr %t3430, i32 0, i32 0
|
|
%t3434 = load i32, ptr %t3431
|
|
%t3435 = load i32, ptr %t3432
|
|
%t3436 = icmp sge i32 %t3434, %t3435
|
|
br i1 %t3436, label %grow795, label %put796
|
|
grow795:
|
|
%t3437 = mul i32 %t3435, 2
|
|
%t3438 = icmp eq i32 %t3435, 0
|
|
%t3439 = select i1 %t3438, i32 8, i32 %t3437
|
|
%t3440 = getelementptr ptr, ptr null, i32 1
|
|
%t3441 = ptrtoint ptr %t3440 to i64
|
|
%t3442 = zext i32 %t3439 to i64
|
|
%t3443 = mul i64 %t3442, %t3441
|
|
%t3444 = load ptr, ptr %t3433
|
|
%t3445 = call ptr @realloc(ptr %t3444, i64 %t3443)
|
|
store ptr %t3445, ptr %t3433
|
|
store i32 %t3439, ptr %t3432
|
|
br label %put796
|
|
put796:
|
|
%t3446 = load ptr, ptr %t3433
|
|
%t3447 = getelementptr inbounds ptr, ptr %t3446, i32 %t3434
|
|
store ptr @.str5966, ptr %t3447
|
|
%t3448 = add i32 %t3434, 1
|
|
store i32 %t3448, ptr %t3431
|
|
%t3449 = load ptr, ptr %t285
|
|
%t3450 = getelementptr inbounds %LSlice, ptr %t3449, i32 0, i32 1
|
|
%t3451 = getelementptr inbounds %LSlice, ptr %t3449, i32 0, i32 2
|
|
%t3452 = getelementptr inbounds %LSlice, ptr %t3449, i32 0, i32 0
|
|
%t3453 = load i32, ptr %t3450
|
|
%t3454 = load i32, ptr %t3451
|
|
%t3455 = icmp sge i32 %t3453, %t3454
|
|
br i1 %t3455, label %grow797, label %put798
|
|
grow797:
|
|
%t3456 = mul i32 %t3454, 2
|
|
%t3457 = icmp eq i32 %t3454, 0
|
|
%t3458 = select i1 %t3457, i32 8, i32 %t3456
|
|
%t3459 = getelementptr ptr, ptr null, i32 1
|
|
%t3460 = ptrtoint ptr %t3459 to i64
|
|
%t3461 = zext i32 %t3458 to i64
|
|
%t3462 = mul i64 %t3461, %t3460
|
|
%t3463 = load ptr, ptr %t3452
|
|
%t3464 = call ptr @realloc(ptr %t3463, i64 %t3462)
|
|
store ptr %t3464, ptr %t3452
|
|
store i32 %t3458, ptr %t3451
|
|
br label %put798
|
|
put798:
|
|
%t3465 = load ptr, ptr %t3452
|
|
%t3466 = getelementptr inbounds ptr, ptr %t3465, i32 %t3453
|
|
store ptr @.str5967, ptr %t3466
|
|
%t3467 = add i32 %t3453, 1
|
|
store i32 %t3467, ptr %t3450
|
|
%t3468 = load ptr, ptr %t285
|
|
%t3469 = getelementptr inbounds %LSlice, ptr %t3468, i32 0, i32 1
|
|
%t3470 = getelementptr inbounds %LSlice, ptr %t3468, i32 0, i32 2
|
|
%t3471 = getelementptr inbounds %LSlice, ptr %t3468, i32 0, i32 0
|
|
%t3472 = load i32, ptr %t3469
|
|
%t3473 = load i32, ptr %t3470
|
|
%t3474 = icmp sge i32 %t3472, %t3473
|
|
br i1 %t3474, label %grow799, label %put800
|
|
grow799:
|
|
%t3475 = mul i32 %t3473, 2
|
|
%t3476 = icmp eq i32 %t3473, 0
|
|
%t3477 = select i1 %t3476, i32 8, i32 %t3475
|
|
%t3478 = getelementptr ptr, ptr null, i32 1
|
|
%t3479 = ptrtoint ptr %t3478 to i64
|
|
%t3480 = zext i32 %t3477 to i64
|
|
%t3481 = mul i64 %t3480, %t3479
|
|
%t3482 = load ptr, ptr %t3471
|
|
%t3483 = call ptr @realloc(ptr %t3482, i64 %t3481)
|
|
store ptr %t3483, ptr %t3471
|
|
store i32 %t3477, ptr %t3470
|
|
br label %put800
|
|
put800:
|
|
%t3484 = load ptr, ptr %t3471
|
|
%t3485 = getelementptr inbounds ptr, ptr %t3484, i32 %t3472
|
|
store ptr @.str5968, ptr %t3485
|
|
%t3486 = add i32 %t3472, 1
|
|
store i32 %t3486, ptr %t3469
|
|
%t3487 = load ptr, ptr %t285
|
|
%t3488 = getelementptr inbounds %LSlice, ptr %t3487, i32 0, i32 1
|
|
%t3489 = getelementptr inbounds %LSlice, ptr %t3487, i32 0, i32 2
|
|
%t3490 = getelementptr inbounds %LSlice, ptr %t3487, i32 0, i32 0
|
|
%t3491 = load i32, ptr %t3488
|
|
%t3492 = load i32, ptr %t3489
|
|
%t3493 = icmp sge i32 %t3491, %t3492
|
|
br i1 %t3493, label %grow801, label %put802
|
|
grow801:
|
|
%t3494 = mul i32 %t3492, 2
|
|
%t3495 = icmp eq i32 %t3492, 0
|
|
%t3496 = select i1 %t3495, i32 8, i32 %t3494
|
|
%t3497 = getelementptr ptr, ptr null, i32 1
|
|
%t3498 = ptrtoint ptr %t3497 to i64
|
|
%t3499 = zext i32 %t3496 to i64
|
|
%t3500 = mul i64 %t3499, %t3498
|
|
%t3501 = load ptr, ptr %t3490
|
|
%t3502 = call ptr @realloc(ptr %t3501, i64 %t3500)
|
|
store ptr %t3502, ptr %t3490
|
|
store i32 %t3496, ptr %t3489
|
|
br label %put802
|
|
put802:
|
|
%t3503 = load ptr, ptr %t3490
|
|
%t3504 = getelementptr inbounds ptr, ptr %t3503, i32 %t3491
|
|
store ptr @.str5969, ptr %t3504
|
|
%t3505 = add i32 %t3491, 1
|
|
store i32 %t3505, ptr %t3488
|
|
%t3506 = load ptr, ptr %t285
|
|
%t3507 = getelementptr inbounds %LSlice, ptr %t3506, i32 0, i32 1
|
|
%t3508 = getelementptr inbounds %LSlice, ptr %t3506, i32 0, i32 2
|
|
%t3509 = getelementptr inbounds %LSlice, ptr %t3506, i32 0, i32 0
|
|
%t3510 = load i32, ptr %t3507
|
|
%t3511 = load i32, ptr %t3508
|
|
%t3512 = icmp sge i32 %t3510, %t3511
|
|
br i1 %t3512, label %grow803, label %put804
|
|
grow803:
|
|
%t3513 = mul i32 %t3511, 2
|
|
%t3514 = icmp eq i32 %t3511, 0
|
|
%t3515 = select i1 %t3514, i32 8, i32 %t3513
|
|
%t3516 = getelementptr ptr, ptr null, i32 1
|
|
%t3517 = ptrtoint ptr %t3516 to i64
|
|
%t3518 = zext i32 %t3515 to i64
|
|
%t3519 = mul i64 %t3518, %t3517
|
|
%t3520 = load ptr, ptr %t3509
|
|
%t3521 = call ptr @realloc(ptr %t3520, i64 %t3519)
|
|
store ptr %t3521, ptr %t3509
|
|
store i32 %t3515, ptr %t3508
|
|
br label %put804
|
|
put804:
|
|
%t3522 = load ptr, ptr %t3509
|
|
%t3523 = getelementptr inbounds ptr, ptr %t3522, i32 %t3510
|
|
store ptr @.str5970, ptr %t3523
|
|
%t3524 = add i32 %t3510, 1
|
|
store i32 %t3524, ptr %t3507
|
|
%t3525 = load ptr, ptr %t285
|
|
%t3526 = getelementptr inbounds %LSlice, ptr %t3525, i32 0, i32 1
|
|
%t3527 = getelementptr inbounds %LSlice, ptr %t3525, i32 0, i32 2
|
|
%t3528 = getelementptr inbounds %LSlice, ptr %t3525, i32 0, i32 0
|
|
%t3529 = load i32, ptr %t3526
|
|
%t3530 = load i32, ptr %t3527
|
|
%t3531 = icmp sge i32 %t3529, %t3530
|
|
br i1 %t3531, label %grow805, label %put806
|
|
grow805:
|
|
%t3532 = mul i32 %t3530, 2
|
|
%t3533 = icmp eq i32 %t3530, 0
|
|
%t3534 = select i1 %t3533, i32 8, i32 %t3532
|
|
%t3535 = getelementptr ptr, ptr null, i32 1
|
|
%t3536 = ptrtoint ptr %t3535 to i64
|
|
%t3537 = zext i32 %t3534 to i64
|
|
%t3538 = mul i64 %t3537, %t3536
|
|
%t3539 = load ptr, ptr %t3528
|
|
%t3540 = call ptr @realloc(ptr %t3539, i64 %t3538)
|
|
store ptr %t3540, ptr %t3528
|
|
store i32 %t3534, ptr %t3527
|
|
br label %put806
|
|
put806:
|
|
%t3541 = load ptr, ptr %t3528
|
|
%t3542 = getelementptr inbounds ptr, ptr %t3541, i32 %t3529
|
|
store ptr @.str5971, ptr %t3542
|
|
%t3543 = add i32 %t3529, 1
|
|
store i32 %t3543, ptr %t3526
|
|
br label %ifend794
|
|
ifend794:
|
|
%t3544 = load ptr, ptr %t1
|
|
%t3545 = call i32 @fn_str_eq(ptr %t3544, ptr @.str5972)
|
|
%t3546 = icmp ne i32 %t3545, 0
|
|
br i1 %t3546, label %then807, label %ifend809
|
|
then807:
|
|
store ptr @.str5973, ptr %t278
|
|
%t3547 = load ptr, ptr %t285
|
|
%t3548 = getelementptr inbounds %LSlice, ptr %t3547, i32 0, i32 1
|
|
%t3549 = getelementptr inbounds %LSlice, ptr %t3547, i32 0, i32 2
|
|
%t3550 = getelementptr inbounds %LSlice, ptr %t3547, i32 0, i32 0
|
|
%t3551 = load i32, ptr %t3548
|
|
%t3552 = load i32, ptr %t3549
|
|
%t3553 = icmp sge i32 %t3551, %t3552
|
|
br i1 %t3553, label %grow810, label %put811
|
|
grow810:
|
|
%t3554 = mul i32 %t3552, 2
|
|
%t3555 = icmp eq i32 %t3552, 0
|
|
%t3556 = select i1 %t3555, i32 8, i32 %t3554
|
|
%t3557 = getelementptr ptr, ptr null, i32 1
|
|
%t3558 = ptrtoint ptr %t3557 to i64
|
|
%t3559 = zext i32 %t3556 to i64
|
|
%t3560 = mul i64 %t3559, %t3558
|
|
%t3561 = load ptr, ptr %t3550
|
|
%t3562 = call ptr @realloc(ptr %t3561, i64 %t3560)
|
|
store ptr %t3562, ptr %t3550
|
|
store i32 %t3556, ptr %t3549
|
|
br label %put811
|
|
put811:
|
|
%t3563 = load ptr, ptr %t3550
|
|
%t3564 = getelementptr inbounds ptr, ptr %t3563, i32 %t3551
|
|
store ptr @.str5974, ptr %t3564
|
|
%t3565 = add i32 %t3551, 1
|
|
store i32 %t3565, ptr %t3548
|
|
%t3566 = load ptr, ptr %t285
|
|
%t3567 = getelementptr inbounds %LSlice, ptr %t3566, i32 0, i32 1
|
|
%t3568 = getelementptr inbounds %LSlice, ptr %t3566, i32 0, i32 2
|
|
%t3569 = getelementptr inbounds %LSlice, ptr %t3566, i32 0, i32 0
|
|
%t3570 = load i32, ptr %t3567
|
|
%t3571 = load i32, ptr %t3568
|
|
%t3572 = icmp sge i32 %t3570, %t3571
|
|
br i1 %t3572, label %grow812, label %put813
|
|
grow812:
|
|
%t3573 = mul i32 %t3571, 2
|
|
%t3574 = icmp eq i32 %t3571, 0
|
|
%t3575 = select i1 %t3574, i32 8, i32 %t3573
|
|
%t3576 = getelementptr ptr, ptr null, i32 1
|
|
%t3577 = ptrtoint ptr %t3576 to i64
|
|
%t3578 = zext i32 %t3575 to i64
|
|
%t3579 = mul i64 %t3578, %t3577
|
|
%t3580 = load ptr, ptr %t3569
|
|
%t3581 = call ptr @realloc(ptr %t3580, i64 %t3579)
|
|
store ptr %t3581, ptr %t3569
|
|
store i32 %t3575, ptr %t3568
|
|
br label %put813
|
|
put813:
|
|
%t3582 = load ptr, ptr %t3569
|
|
%t3583 = getelementptr inbounds ptr, ptr %t3582, i32 %t3570
|
|
store ptr @.str5975, ptr %t3583
|
|
%t3584 = add i32 %t3570, 1
|
|
store i32 %t3584, ptr %t3567
|
|
%t3585 = load ptr, ptr %t285
|
|
%t3586 = getelementptr inbounds %LSlice, ptr %t3585, i32 0, i32 1
|
|
%t3587 = getelementptr inbounds %LSlice, ptr %t3585, i32 0, i32 2
|
|
%t3588 = getelementptr inbounds %LSlice, ptr %t3585, i32 0, i32 0
|
|
%t3589 = load i32, ptr %t3586
|
|
%t3590 = load i32, ptr %t3587
|
|
%t3591 = icmp sge i32 %t3589, %t3590
|
|
br i1 %t3591, label %grow814, label %put815
|
|
grow814:
|
|
%t3592 = mul i32 %t3590, 2
|
|
%t3593 = icmp eq i32 %t3590, 0
|
|
%t3594 = select i1 %t3593, i32 8, i32 %t3592
|
|
%t3595 = getelementptr ptr, ptr null, i32 1
|
|
%t3596 = ptrtoint ptr %t3595 to i64
|
|
%t3597 = zext i32 %t3594 to i64
|
|
%t3598 = mul i64 %t3597, %t3596
|
|
%t3599 = load ptr, ptr %t3588
|
|
%t3600 = call ptr @realloc(ptr %t3599, i64 %t3598)
|
|
store ptr %t3600, ptr %t3588
|
|
store i32 %t3594, ptr %t3587
|
|
br label %put815
|
|
put815:
|
|
%t3601 = load ptr, ptr %t3588
|
|
%t3602 = getelementptr inbounds ptr, ptr %t3601, i32 %t3589
|
|
store ptr @.str5976, ptr %t3602
|
|
%t3603 = add i32 %t3589, 1
|
|
store i32 %t3603, ptr %t3586
|
|
%t3604 = load ptr, ptr %t285
|
|
%t3605 = getelementptr inbounds %LSlice, ptr %t3604, i32 0, i32 1
|
|
%t3606 = getelementptr inbounds %LSlice, ptr %t3604, i32 0, i32 2
|
|
%t3607 = getelementptr inbounds %LSlice, ptr %t3604, i32 0, i32 0
|
|
%t3608 = load i32, ptr %t3605
|
|
%t3609 = load i32, ptr %t3606
|
|
%t3610 = icmp sge i32 %t3608, %t3609
|
|
br i1 %t3610, label %grow816, label %put817
|
|
grow816:
|
|
%t3611 = mul i32 %t3609, 2
|
|
%t3612 = icmp eq i32 %t3609, 0
|
|
%t3613 = select i1 %t3612, i32 8, i32 %t3611
|
|
%t3614 = getelementptr ptr, ptr null, i32 1
|
|
%t3615 = ptrtoint ptr %t3614 to i64
|
|
%t3616 = zext i32 %t3613 to i64
|
|
%t3617 = mul i64 %t3616, %t3615
|
|
%t3618 = load ptr, ptr %t3607
|
|
%t3619 = call ptr @realloc(ptr %t3618, i64 %t3617)
|
|
store ptr %t3619, ptr %t3607
|
|
store i32 %t3613, ptr %t3606
|
|
br label %put817
|
|
put817:
|
|
%t3620 = load ptr, ptr %t3607
|
|
%t3621 = getelementptr inbounds ptr, ptr %t3620, i32 %t3608
|
|
store ptr @.str5977, ptr %t3621
|
|
%t3622 = add i32 %t3608, 1
|
|
store i32 %t3622, ptr %t3605
|
|
%t3623 = load ptr, ptr %t285
|
|
%t3624 = getelementptr inbounds %LSlice, ptr %t3623, i32 0, i32 1
|
|
%t3625 = getelementptr inbounds %LSlice, ptr %t3623, i32 0, i32 2
|
|
%t3626 = getelementptr inbounds %LSlice, ptr %t3623, i32 0, i32 0
|
|
%t3627 = load i32, ptr %t3624
|
|
%t3628 = load i32, ptr %t3625
|
|
%t3629 = icmp sge i32 %t3627, %t3628
|
|
br i1 %t3629, label %grow818, label %put819
|
|
grow818:
|
|
%t3630 = mul i32 %t3628, 2
|
|
%t3631 = icmp eq i32 %t3628, 0
|
|
%t3632 = select i1 %t3631, i32 8, i32 %t3630
|
|
%t3633 = getelementptr ptr, ptr null, i32 1
|
|
%t3634 = ptrtoint ptr %t3633 to i64
|
|
%t3635 = zext i32 %t3632 to i64
|
|
%t3636 = mul i64 %t3635, %t3634
|
|
%t3637 = load ptr, ptr %t3626
|
|
%t3638 = call ptr @realloc(ptr %t3637, i64 %t3636)
|
|
store ptr %t3638, ptr %t3626
|
|
store i32 %t3632, ptr %t3625
|
|
br label %put819
|
|
put819:
|
|
%t3639 = load ptr, ptr %t3626
|
|
%t3640 = getelementptr inbounds ptr, ptr %t3639, i32 %t3627
|
|
store ptr @.str5978, ptr %t3640
|
|
%t3641 = add i32 %t3627, 1
|
|
store i32 %t3641, ptr %t3624
|
|
%t3642 = load ptr, ptr %t285
|
|
%t3643 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 1
|
|
%t3644 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 2
|
|
%t3645 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 0
|
|
%t3646 = load i32, ptr %t3643
|
|
%t3647 = load i32, ptr %t3644
|
|
%t3648 = icmp sge i32 %t3646, %t3647
|
|
br i1 %t3648, label %grow820, label %put821
|
|
grow820:
|
|
%t3649 = mul i32 %t3647, 2
|
|
%t3650 = icmp eq i32 %t3647, 0
|
|
%t3651 = select i1 %t3650, i32 8, i32 %t3649
|
|
%t3652 = getelementptr ptr, ptr null, i32 1
|
|
%t3653 = ptrtoint ptr %t3652 to i64
|
|
%t3654 = zext i32 %t3651 to i64
|
|
%t3655 = mul i64 %t3654, %t3653
|
|
%t3656 = load ptr, ptr %t3645
|
|
%t3657 = call ptr @realloc(ptr %t3656, i64 %t3655)
|
|
store ptr %t3657, ptr %t3645
|
|
store i32 %t3651, ptr %t3644
|
|
br label %put821
|
|
put821:
|
|
%t3658 = load ptr, ptr %t3645
|
|
%t3659 = getelementptr inbounds ptr, ptr %t3658, i32 %t3646
|
|
store ptr @.str5979, ptr %t3659
|
|
%t3660 = add i32 %t3646, 1
|
|
store i32 %t3660, ptr %t3643
|
|
%t3661 = load ptr, ptr %t285
|
|
%t3662 = getelementptr inbounds %LSlice, ptr %t3661, i32 0, i32 1
|
|
%t3663 = getelementptr inbounds %LSlice, ptr %t3661, i32 0, i32 2
|
|
%t3664 = getelementptr inbounds %LSlice, ptr %t3661, i32 0, i32 0
|
|
%t3665 = load i32, ptr %t3662
|
|
%t3666 = load i32, ptr %t3663
|
|
%t3667 = icmp sge i32 %t3665, %t3666
|
|
br i1 %t3667, label %grow822, label %put823
|
|
grow822:
|
|
%t3668 = mul i32 %t3666, 2
|
|
%t3669 = icmp eq i32 %t3666, 0
|
|
%t3670 = select i1 %t3669, i32 8, i32 %t3668
|
|
%t3671 = getelementptr ptr, ptr null, i32 1
|
|
%t3672 = ptrtoint ptr %t3671 to i64
|
|
%t3673 = zext i32 %t3670 to i64
|
|
%t3674 = mul i64 %t3673, %t3672
|
|
%t3675 = load ptr, ptr %t3664
|
|
%t3676 = call ptr @realloc(ptr %t3675, i64 %t3674)
|
|
store ptr %t3676, ptr %t3664
|
|
store i32 %t3670, ptr %t3663
|
|
br label %put823
|
|
put823:
|
|
%t3677 = load ptr, ptr %t3664
|
|
%t3678 = getelementptr inbounds ptr, ptr %t3677, i32 %t3665
|
|
store ptr @.str5980, ptr %t3678
|
|
%t3679 = add i32 %t3665, 1
|
|
store i32 %t3679, ptr %t3662
|
|
br label %ifend809
|
|
ifend809:
|
|
br label %ifend781
|
|
ifend781:
|
|
%t3680 = load ptr, ptr %t0
|
|
%t3681 = call i32 @fn_str_eq(ptr %t3680, ptr @.str5981)
|
|
%t3682 = icmp ne i32 %t3681, 0
|
|
br i1 %t3682, label %then824, label %ifend826
|
|
then824:
|
|
%t3683 = load ptr, ptr %t1
|
|
%t3684 = call i32 @fn_str_eq(ptr %t3683, ptr @.str5982)
|
|
%t3685 = icmp ne i32 %t3684, 0
|
|
br i1 %t3685, label %then827, label %ifend829
|
|
then827:
|
|
store ptr @.str5983, ptr %t278
|
|
%t3686 = load ptr, ptr %t285
|
|
%t3687 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 1
|
|
%t3688 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 2
|
|
%t3689 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 0
|
|
%t3690 = load i32, ptr %t3687
|
|
%t3691 = load i32, ptr %t3688
|
|
%t3692 = icmp sge i32 %t3690, %t3691
|
|
br i1 %t3692, label %grow830, label %put831
|
|
grow830:
|
|
%t3693 = mul i32 %t3691, 2
|
|
%t3694 = icmp eq i32 %t3691, 0
|
|
%t3695 = select i1 %t3694, i32 8, i32 %t3693
|
|
%t3696 = getelementptr ptr, ptr null, i32 1
|
|
%t3697 = ptrtoint ptr %t3696 to i64
|
|
%t3698 = zext i32 %t3695 to i64
|
|
%t3699 = mul i64 %t3698, %t3697
|
|
%t3700 = load ptr, ptr %t3689
|
|
%t3701 = call ptr @realloc(ptr %t3700, i64 %t3699)
|
|
store ptr %t3701, ptr %t3689
|
|
store i32 %t3695, ptr %t3688
|
|
br label %put831
|
|
put831:
|
|
%t3702 = load ptr, ptr %t3689
|
|
%t3703 = getelementptr inbounds ptr, ptr %t3702, i32 %t3690
|
|
store ptr @.str5984, ptr %t3703
|
|
%t3704 = add i32 %t3690, 1
|
|
store i32 %t3704, ptr %t3687
|
|
br label %ifend829
|
|
ifend829:
|
|
%t3705 = load ptr, ptr %t1
|
|
%t3706 = call i32 @fn_str_eq(ptr %t3705, ptr @.str5985)
|
|
%t3707 = icmp ne i32 %t3706, 0
|
|
br i1 %t3707, label %then832, label %ifend834
|
|
then832:
|
|
store ptr @.str5986, ptr %t278
|
|
%t3708 = load ptr, ptr %t285
|
|
%t3709 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 1
|
|
%t3710 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 2
|
|
%t3711 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 0
|
|
%t3712 = load i32, ptr %t3709
|
|
%t3713 = load i32, ptr %t3710
|
|
%t3714 = icmp sge i32 %t3712, %t3713
|
|
br i1 %t3714, label %grow835, label %put836
|
|
grow835:
|
|
%t3715 = mul i32 %t3713, 2
|
|
%t3716 = icmp eq i32 %t3713, 0
|
|
%t3717 = select i1 %t3716, i32 8, i32 %t3715
|
|
%t3718 = getelementptr ptr, ptr null, i32 1
|
|
%t3719 = ptrtoint ptr %t3718 to i64
|
|
%t3720 = zext i32 %t3717 to i64
|
|
%t3721 = mul i64 %t3720, %t3719
|
|
%t3722 = load ptr, ptr %t3711
|
|
%t3723 = call ptr @realloc(ptr %t3722, i64 %t3721)
|
|
store ptr %t3723, ptr %t3711
|
|
store i32 %t3717, ptr %t3710
|
|
br label %put836
|
|
put836:
|
|
%t3724 = load ptr, ptr %t3711
|
|
%t3725 = getelementptr inbounds ptr, ptr %t3724, i32 %t3712
|
|
store ptr @.str5987, ptr %t3725
|
|
%t3726 = add i32 %t3712, 1
|
|
store i32 %t3726, ptr %t3709
|
|
%t3727 = load ptr, ptr %t285
|
|
%t3728 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 1
|
|
%t3729 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 2
|
|
%t3730 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 0
|
|
%t3731 = load i32, ptr %t3728
|
|
%t3732 = load i32, ptr %t3729
|
|
%t3733 = icmp sge i32 %t3731, %t3732
|
|
br i1 %t3733, label %grow837, label %put838
|
|
grow837:
|
|
%t3734 = mul i32 %t3732, 2
|
|
%t3735 = icmp eq i32 %t3732, 0
|
|
%t3736 = select i1 %t3735, i32 8, i32 %t3734
|
|
%t3737 = getelementptr ptr, ptr null, i32 1
|
|
%t3738 = ptrtoint ptr %t3737 to i64
|
|
%t3739 = zext i32 %t3736 to i64
|
|
%t3740 = mul i64 %t3739, %t3738
|
|
%t3741 = load ptr, ptr %t3730
|
|
%t3742 = call ptr @realloc(ptr %t3741, i64 %t3740)
|
|
store ptr %t3742, ptr %t3730
|
|
store i32 %t3736, ptr %t3729
|
|
br label %put838
|
|
put838:
|
|
%t3743 = load ptr, ptr %t3730
|
|
%t3744 = getelementptr inbounds ptr, ptr %t3743, i32 %t3731
|
|
store ptr @.str5988, ptr %t3744
|
|
%t3745 = add i32 %t3731, 1
|
|
store i32 %t3745, ptr %t3728
|
|
br label %ifend834
|
|
ifend834:
|
|
%t3746 = load ptr, ptr %t1
|
|
%t3747 = call i32 @fn_str_eq(ptr %t3746, ptr @.str5989)
|
|
%t3748 = icmp ne i32 %t3747, 0
|
|
br i1 %t3748, label %then839, label %ifend841
|
|
then839:
|
|
store ptr @.str5990, ptr %t278
|
|
br label %ifend841
|
|
ifend841:
|
|
%t3749 = load ptr, ptr %t1
|
|
%t3750 = call i32 @fn_str_eq(ptr %t3749, ptr @.str5991)
|
|
%t3751 = icmp ne i32 %t3750, 0
|
|
br i1 %t3751, label %then842, label %ifend844
|
|
then842:
|
|
store ptr @.str5992, ptr %t278
|
|
%t3752 = load ptr, ptr %t285
|
|
%t3753 = getelementptr inbounds %LSlice, ptr %t3752, i32 0, i32 1
|
|
%t3754 = getelementptr inbounds %LSlice, ptr %t3752, i32 0, i32 2
|
|
%t3755 = getelementptr inbounds %LSlice, ptr %t3752, i32 0, i32 0
|
|
%t3756 = load i32, ptr %t3753
|
|
%t3757 = load i32, ptr %t3754
|
|
%t3758 = icmp sge i32 %t3756, %t3757
|
|
br i1 %t3758, label %grow845, label %put846
|
|
grow845:
|
|
%t3759 = mul i32 %t3757, 2
|
|
%t3760 = icmp eq i32 %t3757, 0
|
|
%t3761 = select i1 %t3760, i32 8, i32 %t3759
|
|
%t3762 = getelementptr ptr, ptr null, i32 1
|
|
%t3763 = ptrtoint ptr %t3762 to i64
|
|
%t3764 = zext i32 %t3761 to i64
|
|
%t3765 = mul i64 %t3764, %t3763
|
|
%t3766 = load ptr, ptr %t3755
|
|
%t3767 = call ptr @realloc(ptr %t3766, i64 %t3765)
|
|
store ptr %t3767, ptr %t3755
|
|
store i32 %t3761, ptr %t3754
|
|
br label %put846
|
|
put846:
|
|
%t3768 = load ptr, ptr %t3755
|
|
%t3769 = getelementptr inbounds ptr, ptr %t3768, i32 %t3756
|
|
store ptr @.str5993, ptr %t3769
|
|
%t3770 = add i32 %t3756, 1
|
|
store i32 %t3770, ptr %t3753
|
|
br label %ifend844
|
|
ifend844:
|
|
%t3771 = load ptr, ptr %t1
|
|
%t3772 = call i32 @fn_str_eq(ptr %t3771, ptr @.str5994)
|
|
%t3773 = icmp ne i32 %t3772, 0
|
|
br i1 %t3773, label %then847, label %ifend849
|
|
then847:
|
|
store ptr @.str5995, ptr %t278
|
|
%t3774 = load ptr, ptr %t285
|
|
%t3775 = getelementptr inbounds %LSlice, ptr %t3774, i32 0, i32 1
|
|
%t3776 = getelementptr inbounds %LSlice, ptr %t3774, i32 0, i32 2
|
|
%t3777 = getelementptr inbounds %LSlice, ptr %t3774, i32 0, i32 0
|
|
%t3778 = load i32, ptr %t3775
|
|
%t3779 = load i32, ptr %t3776
|
|
%t3780 = icmp sge i32 %t3778, %t3779
|
|
br i1 %t3780, label %grow850, label %put851
|
|
grow850:
|
|
%t3781 = mul i32 %t3779, 2
|
|
%t3782 = icmp eq i32 %t3779, 0
|
|
%t3783 = select i1 %t3782, i32 8, i32 %t3781
|
|
%t3784 = getelementptr ptr, ptr null, i32 1
|
|
%t3785 = ptrtoint ptr %t3784 to i64
|
|
%t3786 = zext i32 %t3783 to i64
|
|
%t3787 = mul i64 %t3786, %t3785
|
|
%t3788 = load ptr, ptr %t3777
|
|
%t3789 = call ptr @realloc(ptr %t3788, i64 %t3787)
|
|
store ptr %t3789, ptr %t3777
|
|
store i32 %t3783, ptr %t3776
|
|
br label %put851
|
|
put851:
|
|
%t3790 = load ptr, ptr %t3777
|
|
%t3791 = getelementptr inbounds ptr, ptr %t3790, i32 %t3778
|
|
store ptr @.str5996, ptr %t3791
|
|
%t3792 = add i32 %t3778, 1
|
|
store i32 %t3792, ptr %t3775
|
|
br label %ifend849
|
|
ifend849:
|
|
%t3793 = load ptr, ptr %t1
|
|
%t3794 = call i32 @fn_str_eq(ptr %t3793, ptr @.str5997)
|
|
%t3795 = icmp ne i32 %t3794, 0
|
|
br i1 %t3795, label %then852, label %ifend854
|
|
then852:
|
|
store ptr @.str5998, ptr %t278
|
|
%t3796 = load ptr, ptr %t285
|
|
%t3797 = getelementptr inbounds %LSlice, ptr %t3796, i32 0, i32 1
|
|
%t3798 = getelementptr inbounds %LSlice, ptr %t3796, i32 0, i32 2
|
|
%t3799 = getelementptr inbounds %LSlice, ptr %t3796, i32 0, i32 0
|
|
%t3800 = load i32, ptr %t3797
|
|
%t3801 = load i32, ptr %t3798
|
|
%t3802 = icmp sge i32 %t3800, %t3801
|
|
br i1 %t3802, label %grow855, label %put856
|
|
grow855:
|
|
%t3803 = mul i32 %t3801, 2
|
|
%t3804 = icmp eq i32 %t3801, 0
|
|
%t3805 = select i1 %t3804, i32 8, i32 %t3803
|
|
%t3806 = getelementptr ptr, ptr null, i32 1
|
|
%t3807 = ptrtoint ptr %t3806 to i64
|
|
%t3808 = zext i32 %t3805 to i64
|
|
%t3809 = mul i64 %t3808, %t3807
|
|
%t3810 = load ptr, ptr %t3799
|
|
%t3811 = call ptr @realloc(ptr %t3810, i64 %t3809)
|
|
store ptr %t3811, ptr %t3799
|
|
store i32 %t3805, ptr %t3798
|
|
br label %put856
|
|
put856:
|
|
%t3812 = load ptr, ptr %t3799
|
|
%t3813 = getelementptr inbounds ptr, ptr %t3812, i32 %t3800
|
|
store ptr @.str5999, ptr %t3813
|
|
%t3814 = add i32 %t3800, 1
|
|
store i32 %t3814, ptr %t3797
|
|
%t3815 = load ptr, ptr %t285
|
|
%t3816 = getelementptr inbounds %LSlice, ptr %t3815, i32 0, i32 1
|
|
%t3817 = getelementptr inbounds %LSlice, ptr %t3815, i32 0, i32 2
|
|
%t3818 = getelementptr inbounds %LSlice, ptr %t3815, i32 0, i32 0
|
|
%t3819 = load i32, ptr %t3816
|
|
%t3820 = load i32, ptr %t3817
|
|
%t3821 = icmp sge i32 %t3819, %t3820
|
|
br i1 %t3821, label %grow857, label %put858
|
|
grow857:
|
|
%t3822 = mul i32 %t3820, 2
|
|
%t3823 = icmp eq i32 %t3820, 0
|
|
%t3824 = select i1 %t3823, i32 8, i32 %t3822
|
|
%t3825 = getelementptr ptr, ptr null, i32 1
|
|
%t3826 = ptrtoint ptr %t3825 to i64
|
|
%t3827 = zext i32 %t3824 to i64
|
|
%t3828 = mul i64 %t3827, %t3826
|
|
%t3829 = load ptr, ptr %t3818
|
|
%t3830 = call ptr @realloc(ptr %t3829, i64 %t3828)
|
|
store ptr %t3830, ptr %t3818
|
|
store i32 %t3824, ptr %t3817
|
|
br label %put858
|
|
put858:
|
|
%t3831 = load ptr, ptr %t3818
|
|
%t3832 = getelementptr inbounds ptr, ptr %t3831, i32 %t3819
|
|
store ptr @.str6000, ptr %t3832
|
|
%t3833 = add i32 %t3819, 1
|
|
store i32 %t3833, ptr %t3816
|
|
br label %ifend854
|
|
ifend854:
|
|
%t3834 = load ptr, ptr %t1
|
|
%t3835 = call i32 @fn_str_eq(ptr %t3834, ptr @.str6001)
|
|
%t3836 = icmp ne i32 %t3835, 0
|
|
br i1 %t3836, label %then859, label %ifend861
|
|
then859:
|
|
store ptr @.str6002, ptr %t278
|
|
%t3837 = load ptr, ptr %t285
|
|
%t3838 = getelementptr inbounds %LSlice, ptr %t3837, i32 0, i32 1
|
|
%t3839 = getelementptr inbounds %LSlice, ptr %t3837, i32 0, i32 2
|
|
%t3840 = getelementptr inbounds %LSlice, ptr %t3837, i32 0, i32 0
|
|
%t3841 = load i32, ptr %t3838
|
|
%t3842 = load i32, ptr %t3839
|
|
%t3843 = icmp sge i32 %t3841, %t3842
|
|
br i1 %t3843, label %grow862, label %put863
|
|
grow862:
|
|
%t3844 = mul i32 %t3842, 2
|
|
%t3845 = icmp eq i32 %t3842, 0
|
|
%t3846 = select i1 %t3845, i32 8, i32 %t3844
|
|
%t3847 = getelementptr ptr, ptr null, i32 1
|
|
%t3848 = ptrtoint ptr %t3847 to i64
|
|
%t3849 = zext i32 %t3846 to i64
|
|
%t3850 = mul i64 %t3849, %t3848
|
|
%t3851 = load ptr, ptr %t3840
|
|
%t3852 = call ptr @realloc(ptr %t3851, i64 %t3850)
|
|
store ptr %t3852, ptr %t3840
|
|
store i32 %t3846, ptr %t3839
|
|
br label %put863
|
|
put863:
|
|
%t3853 = load ptr, ptr %t3840
|
|
%t3854 = getelementptr inbounds ptr, ptr %t3853, i32 %t3841
|
|
store ptr @.str6003, ptr %t3854
|
|
%t3855 = add i32 %t3841, 1
|
|
store i32 %t3855, ptr %t3838
|
|
%t3856 = load ptr, ptr %t285
|
|
%t3857 = getelementptr inbounds %LSlice, ptr %t3856, i32 0, i32 1
|
|
%t3858 = getelementptr inbounds %LSlice, ptr %t3856, i32 0, i32 2
|
|
%t3859 = getelementptr inbounds %LSlice, ptr %t3856, i32 0, i32 0
|
|
%t3860 = load i32, ptr %t3857
|
|
%t3861 = load i32, ptr %t3858
|
|
%t3862 = icmp sge i32 %t3860, %t3861
|
|
br i1 %t3862, label %grow864, label %put865
|
|
grow864:
|
|
%t3863 = mul i32 %t3861, 2
|
|
%t3864 = icmp eq i32 %t3861, 0
|
|
%t3865 = select i1 %t3864, i32 8, i32 %t3863
|
|
%t3866 = getelementptr ptr, ptr null, i32 1
|
|
%t3867 = ptrtoint ptr %t3866 to i64
|
|
%t3868 = zext i32 %t3865 to i64
|
|
%t3869 = mul i64 %t3868, %t3867
|
|
%t3870 = load ptr, ptr %t3859
|
|
%t3871 = call ptr @realloc(ptr %t3870, i64 %t3869)
|
|
store ptr %t3871, ptr %t3859
|
|
store i32 %t3865, ptr %t3858
|
|
br label %put865
|
|
put865:
|
|
%t3872 = load ptr, ptr %t3859
|
|
%t3873 = getelementptr inbounds ptr, ptr %t3872, i32 %t3860
|
|
store ptr @.str6004, ptr %t3873
|
|
%t3874 = add i32 %t3860, 1
|
|
store i32 %t3874, ptr %t3857
|
|
br label %ifend861
|
|
ifend861:
|
|
%t3875 = load ptr, ptr %t1
|
|
%t3876 = call i32 @fn_str_eq(ptr %t3875, ptr @.str6005)
|
|
%t3877 = icmp ne i32 %t3876, 0
|
|
br i1 %t3877, label %then866, label %ifend868
|
|
then866:
|
|
store ptr @.str6006, ptr %t278
|
|
%t3878 = load ptr, ptr %t285
|
|
%t3879 = getelementptr inbounds %LSlice, ptr %t3878, i32 0, i32 1
|
|
%t3880 = getelementptr inbounds %LSlice, ptr %t3878, i32 0, i32 2
|
|
%t3881 = getelementptr inbounds %LSlice, ptr %t3878, i32 0, i32 0
|
|
%t3882 = load i32, ptr %t3879
|
|
%t3883 = load i32, ptr %t3880
|
|
%t3884 = icmp sge i32 %t3882, %t3883
|
|
br i1 %t3884, label %grow869, label %put870
|
|
grow869:
|
|
%t3885 = mul i32 %t3883, 2
|
|
%t3886 = icmp eq i32 %t3883, 0
|
|
%t3887 = select i1 %t3886, i32 8, i32 %t3885
|
|
%t3888 = getelementptr ptr, ptr null, i32 1
|
|
%t3889 = ptrtoint ptr %t3888 to i64
|
|
%t3890 = zext i32 %t3887 to i64
|
|
%t3891 = mul i64 %t3890, %t3889
|
|
%t3892 = load ptr, ptr %t3881
|
|
%t3893 = call ptr @realloc(ptr %t3892, i64 %t3891)
|
|
store ptr %t3893, ptr %t3881
|
|
store i32 %t3887, ptr %t3880
|
|
br label %put870
|
|
put870:
|
|
%t3894 = load ptr, ptr %t3881
|
|
%t3895 = getelementptr inbounds ptr, ptr %t3894, i32 %t3882
|
|
store ptr @.str6007, ptr %t3895
|
|
%t3896 = add i32 %t3882, 1
|
|
store i32 %t3896, ptr %t3879
|
|
%t3897 = load ptr, ptr %t285
|
|
%t3898 = getelementptr inbounds %LSlice, ptr %t3897, i32 0, i32 1
|
|
%t3899 = getelementptr inbounds %LSlice, ptr %t3897, i32 0, i32 2
|
|
%t3900 = getelementptr inbounds %LSlice, ptr %t3897, i32 0, i32 0
|
|
%t3901 = load i32, ptr %t3898
|
|
%t3902 = load i32, ptr %t3899
|
|
%t3903 = icmp sge i32 %t3901, %t3902
|
|
br i1 %t3903, label %grow871, label %put872
|
|
grow871:
|
|
%t3904 = mul i32 %t3902, 2
|
|
%t3905 = icmp eq i32 %t3902, 0
|
|
%t3906 = select i1 %t3905, i32 8, i32 %t3904
|
|
%t3907 = getelementptr ptr, ptr null, i32 1
|
|
%t3908 = ptrtoint ptr %t3907 to i64
|
|
%t3909 = zext i32 %t3906 to i64
|
|
%t3910 = mul i64 %t3909, %t3908
|
|
%t3911 = load ptr, ptr %t3900
|
|
%t3912 = call ptr @realloc(ptr %t3911, i64 %t3910)
|
|
store ptr %t3912, ptr %t3900
|
|
store i32 %t3906, ptr %t3899
|
|
br label %put872
|
|
put872:
|
|
%t3913 = load ptr, ptr %t3900
|
|
%t3914 = getelementptr inbounds ptr, ptr %t3913, i32 %t3901
|
|
store ptr @.str6008, ptr %t3914
|
|
%t3915 = add i32 %t3901, 1
|
|
store i32 %t3915, ptr %t3898
|
|
%t3916 = load ptr, ptr %t285
|
|
%t3917 = getelementptr inbounds %LSlice, ptr %t3916, i32 0, i32 1
|
|
%t3918 = getelementptr inbounds %LSlice, ptr %t3916, i32 0, i32 2
|
|
%t3919 = getelementptr inbounds %LSlice, ptr %t3916, i32 0, i32 0
|
|
%t3920 = load i32, ptr %t3917
|
|
%t3921 = load i32, ptr %t3918
|
|
%t3922 = icmp sge i32 %t3920, %t3921
|
|
br i1 %t3922, label %grow873, label %put874
|
|
grow873:
|
|
%t3923 = mul i32 %t3921, 2
|
|
%t3924 = icmp eq i32 %t3921, 0
|
|
%t3925 = select i1 %t3924, i32 8, i32 %t3923
|
|
%t3926 = getelementptr ptr, ptr null, i32 1
|
|
%t3927 = ptrtoint ptr %t3926 to i64
|
|
%t3928 = zext i32 %t3925 to i64
|
|
%t3929 = mul i64 %t3928, %t3927
|
|
%t3930 = load ptr, ptr %t3919
|
|
%t3931 = call ptr @realloc(ptr %t3930, i64 %t3929)
|
|
store ptr %t3931, ptr %t3919
|
|
store i32 %t3925, ptr %t3918
|
|
br label %put874
|
|
put874:
|
|
%t3932 = load ptr, ptr %t3919
|
|
%t3933 = getelementptr inbounds ptr, ptr %t3932, i32 %t3920
|
|
store ptr @.str6009, ptr %t3933
|
|
%t3934 = add i32 %t3920, 1
|
|
store i32 %t3934, ptr %t3917
|
|
br label %ifend868
|
|
ifend868:
|
|
%t3935 = load ptr, ptr %t1
|
|
%t3936 = call i32 @fn_str_eq(ptr %t3935, ptr @.str6010)
|
|
%t3937 = icmp ne i32 %t3936, 0
|
|
br i1 %t3937, label %then875, label %ifend877
|
|
then875:
|
|
store ptr @.str6011, ptr %t278
|
|
%t3938 = load ptr, ptr %t285
|
|
%t3939 = getelementptr inbounds %LSlice, ptr %t3938, i32 0, i32 1
|
|
%t3940 = getelementptr inbounds %LSlice, ptr %t3938, i32 0, i32 2
|
|
%t3941 = getelementptr inbounds %LSlice, ptr %t3938, i32 0, i32 0
|
|
%t3942 = load i32, ptr %t3939
|
|
%t3943 = load i32, ptr %t3940
|
|
%t3944 = icmp sge i32 %t3942, %t3943
|
|
br i1 %t3944, label %grow878, label %put879
|
|
grow878:
|
|
%t3945 = mul i32 %t3943, 2
|
|
%t3946 = icmp eq i32 %t3943, 0
|
|
%t3947 = select i1 %t3946, i32 8, i32 %t3945
|
|
%t3948 = getelementptr ptr, ptr null, i32 1
|
|
%t3949 = ptrtoint ptr %t3948 to i64
|
|
%t3950 = zext i32 %t3947 to i64
|
|
%t3951 = mul i64 %t3950, %t3949
|
|
%t3952 = load ptr, ptr %t3941
|
|
%t3953 = call ptr @realloc(ptr %t3952, i64 %t3951)
|
|
store ptr %t3953, ptr %t3941
|
|
store i32 %t3947, ptr %t3940
|
|
br label %put879
|
|
put879:
|
|
%t3954 = load ptr, ptr %t3941
|
|
%t3955 = getelementptr inbounds ptr, ptr %t3954, i32 %t3942
|
|
store ptr @.str6012, ptr %t3955
|
|
%t3956 = add i32 %t3942, 1
|
|
store i32 %t3956, ptr %t3939
|
|
%t3957 = load ptr, ptr %t285
|
|
%t3958 = getelementptr inbounds %LSlice, ptr %t3957, i32 0, i32 1
|
|
%t3959 = getelementptr inbounds %LSlice, ptr %t3957, i32 0, i32 2
|
|
%t3960 = getelementptr inbounds %LSlice, ptr %t3957, i32 0, i32 0
|
|
%t3961 = load i32, ptr %t3958
|
|
%t3962 = load i32, ptr %t3959
|
|
%t3963 = icmp sge i32 %t3961, %t3962
|
|
br i1 %t3963, label %grow880, label %put881
|
|
grow880:
|
|
%t3964 = mul i32 %t3962, 2
|
|
%t3965 = icmp eq i32 %t3962, 0
|
|
%t3966 = select i1 %t3965, i32 8, i32 %t3964
|
|
%t3967 = getelementptr ptr, ptr null, i32 1
|
|
%t3968 = ptrtoint ptr %t3967 to i64
|
|
%t3969 = zext i32 %t3966 to i64
|
|
%t3970 = mul i64 %t3969, %t3968
|
|
%t3971 = load ptr, ptr %t3960
|
|
%t3972 = call ptr @realloc(ptr %t3971, i64 %t3970)
|
|
store ptr %t3972, ptr %t3960
|
|
store i32 %t3966, ptr %t3959
|
|
br label %put881
|
|
put881:
|
|
%t3973 = load ptr, ptr %t3960
|
|
%t3974 = getelementptr inbounds ptr, ptr %t3973, i32 %t3961
|
|
store ptr @.str6013, ptr %t3974
|
|
%t3975 = add i32 %t3961, 1
|
|
store i32 %t3975, ptr %t3958
|
|
%t3976 = load ptr, ptr %t285
|
|
%t3977 = getelementptr inbounds %LSlice, ptr %t3976, i32 0, i32 1
|
|
%t3978 = getelementptr inbounds %LSlice, ptr %t3976, i32 0, i32 2
|
|
%t3979 = getelementptr inbounds %LSlice, ptr %t3976, i32 0, i32 0
|
|
%t3980 = load i32, ptr %t3977
|
|
%t3981 = load i32, ptr %t3978
|
|
%t3982 = icmp sge i32 %t3980, %t3981
|
|
br i1 %t3982, label %grow882, label %put883
|
|
grow882:
|
|
%t3983 = mul i32 %t3981, 2
|
|
%t3984 = icmp eq i32 %t3981, 0
|
|
%t3985 = select i1 %t3984, i32 8, i32 %t3983
|
|
%t3986 = getelementptr ptr, ptr null, i32 1
|
|
%t3987 = ptrtoint ptr %t3986 to i64
|
|
%t3988 = zext i32 %t3985 to i64
|
|
%t3989 = mul i64 %t3988, %t3987
|
|
%t3990 = load ptr, ptr %t3979
|
|
%t3991 = call ptr @realloc(ptr %t3990, i64 %t3989)
|
|
store ptr %t3991, ptr %t3979
|
|
store i32 %t3985, ptr %t3978
|
|
br label %put883
|
|
put883:
|
|
%t3992 = load ptr, ptr %t3979
|
|
%t3993 = getelementptr inbounds ptr, ptr %t3992, i32 %t3980
|
|
store ptr @.str6014, ptr %t3993
|
|
%t3994 = add i32 %t3980, 1
|
|
store i32 %t3994, ptr %t3977
|
|
%t3995 = load ptr, ptr %t285
|
|
%t3996 = getelementptr inbounds %LSlice, ptr %t3995, i32 0, i32 1
|
|
%t3997 = getelementptr inbounds %LSlice, ptr %t3995, i32 0, i32 2
|
|
%t3998 = getelementptr inbounds %LSlice, ptr %t3995, i32 0, i32 0
|
|
%t3999 = load i32, ptr %t3996
|
|
%t4000 = load i32, ptr %t3997
|
|
%t4001 = icmp sge i32 %t3999, %t4000
|
|
br i1 %t4001, label %grow884, label %put885
|
|
grow884:
|
|
%t4002 = mul i32 %t4000, 2
|
|
%t4003 = icmp eq i32 %t4000, 0
|
|
%t4004 = select i1 %t4003, i32 8, i32 %t4002
|
|
%t4005 = getelementptr ptr, ptr null, i32 1
|
|
%t4006 = ptrtoint ptr %t4005 to i64
|
|
%t4007 = zext i32 %t4004 to i64
|
|
%t4008 = mul i64 %t4007, %t4006
|
|
%t4009 = load ptr, ptr %t3998
|
|
%t4010 = call ptr @realloc(ptr %t4009, i64 %t4008)
|
|
store ptr %t4010, ptr %t3998
|
|
store i32 %t4004, ptr %t3997
|
|
br label %put885
|
|
put885:
|
|
%t4011 = load ptr, ptr %t3998
|
|
%t4012 = getelementptr inbounds ptr, ptr %t4011, i32 %t3999
|
|
store ptr @.str6015, ptr %t4012
|
|
%t4013 = add i32 %t3999, 1
|
|
store i32 %t4013, ptr %t3996
|
|
br label %ifend877
|
|
ifend877:
|
|
%t4014 = load ptr, ptr %t1
|
|
%t4015 = call i32 @fn_str_eq(ptr %t4014, ptr @.str6016)
|
|
%t4016 = icmp ne i32 %t4015, 0
|
|
br i1 %t4016, label %then886, label %ifend888
|
|
then886:
|
|
store ptr @.str6017, ptr %t278
|
|
%t4017 = load ptr, ptr %t285
|
|
%t4018 = getelementptr inbounds %LSlice, ptr %t4017, i32 0, i32 1
|
|
%t4019 = getelementptr inbounds %LSlice, ptr %t4017, i32 0, i32 2
|
|
%t4020 = getelementptr inbounds %LSlice, ptr %t4017, i32 0, i32 0
|
|
%t4021 = load i32, ptr %t4018
|
|
%t4022 = load i32, ptr %t4019
|
|
%t4023 = icmp sge i32 %t4021, %t4022
|
|
br i1 %t4023, label %grow889, label %put890
|
|
grow889:
|
|
%t4024 = mul i32 %t4022, 2
|
|
%t4025 = icmp eq i32 %t4022, 0
|
|
%t4026 = select i1 %t4025, i32 8, i32 %t4024
|
|
%t4027 = getelementptr ptr, ptr null, i32 1
|
|
%t4028 = ptrtoint ptr %t4027 to i64
|
|
%t4029 = zext i32 %t4026 to i64
|
|
%t4030 = mul i64 %t4029, %t4028
|
|
%t4031 = load ptr, ptr %t4020
|
|
%t4032 = call ptr @realloc(ptr %t4031, i64 %t4030)
|
|
store ptr %t4032, ptr %t4020
|
|
store i32 %t4026, ptr %t4019
|
|
br label %put890
|
|
put890:
|
|
%t4033 = load ptr, ptr %t4020
|
|
%t4034 = getelementptr inbounds ptr, ptr %t4033, i32 %t4021
|
|
store ptr @.str6018, ptr %t4034
|
|
%t4035 = add i32 %t4021, 1
|
|
store i32 %t4035, ptr %t4018
|
|
%t4036 = load ptr, ptr %t285
|
|
%t4037 = getelementptr inbounds %LSlice, ptr %t4036, i32 0, i32 1
|
|
%t4038 = getelementptr inbounds %LSlice, ptr %t4036, i32 0, i32 2
|
|
%t4039 = getelementptr inbounds %LSlice, ptr %t4036, i32 0, i32 0
|
|
%t4040 = load i32, ptr %t4037
|
|
%t4041 = load i32, ptr %t4038
|
|
%t4042 = icmp sge i32 %t4040, %t4041
|
|
br i1 %t4042, label %grow891, label %put892
|
|
grow891:
|
|
%t4043 = mul i32 %t4041, 2
|
|
%t4044 = icmp eq i32 %t4041, 0
|
|
%t4045 = select i1 %t4044, i32 8, i32 %t4043
|
|
%t4046 = getelementptr ptr, ptr null, i32 1
|
|
%t4047 = ptrtoint ptr %t4046 to i64
|
|
%t4048 = zext i32 %t4045 to i64
|
|
%t4049 = mul i64 %t4048, %t4047
|
|
%t4050 = load ptr, ptr %t4039
|
|
%t4051 = call ptr @realloc(ptr %t4050, i64 %t4049)
|
|
store ptr %t4051, ptr %t4039
|
|
store i32 %t4045, ptr %t4038
|
|
br label %put892
|
|
put892:
|
|
%t4052 = load ptr, ptr %t4039
|
|
%t4053 = getelementptr inbounds ptr, ptr %t4052, i32 %t4040
|
|
store ptr @.str6019, ptr %t4053
|
|
%t4054 = add i32 %t4040, 1
|
|
store i32 %t4054, ptr %t4037
|
|
br label %ifend888
|
|
ifend888:
|
|
%t4055 = load ptr, ptr %t1
|
|
%t4056 = call i32 @fn_str_eq(ptr %t4055, ptr @.str6020)
|
|
%t4057 = icmp ne i32 %t4056, 0
|
|
br i1 %t4057, label %then893, label %ifend895
|
|
then893:
|
|
store ptr @.str6021, ptr %t278
|
|
%t4058 = load ptr, ptr %t285
|
|
%t4059 = getelementptr inbounds %LSlice, ptr %t4058, i32 0, i32 1
|
|
%t4060 = getelementptr inbounds %LSlice, ptr %t4058, i32 0, i32 2
|
|
%t4061 = getelementptr inbounds %LSlice, ptr %t4058, i32 0, i32 0
|
|
%t4062 = load i32, ptr %t4059
|
|
%t4063 = load i32, ptr %t4060
|
|
%t4064 = icmp sge i32 %t4062, %t4063
|
|
br i1 %t4064, label %grow896, label %put897
|
|
grow896:
|
|
%t4065 = mul i32 %t4063, 2
|
|
%t4066 = icmp eq i32 %t4063, 0
|
|
%t4067 = select i1 %t4066, i32 8, i32 %t4065
|
|
%t4068 = getelementptr ptr, ptr null, i32 1
|
|
%t4069 = ptrtoint ptr %t4068 to i64
|
|
%t4070 = zext i32 %t4067 to i64
|
|
%t4071 = mul i64 %t4070, %t4069
|
|
%t4072 = load ptr, ptr %t4061
|
|
%t4073 = call ptr @realloc(ptr %t4072, i64 %t4071)
|
|
store ptr %t4073, ptr %t4061
|
|
store i32 %t4067, ptr %t4060
|
|
br label %put897
|
|
put897:
|
|
%t4074 = load ptr, ptr %t4061
|
|
%t4075 = getelementptr inbounds ptr, ptr %t4074, i32 %t4062
|
|
store ptr @.str6022, ptr %t4075
|
|
%t4076 = add i32 %t4062, 1
|
|
store i32 %t4076, ptr %t4059
|
|
br label %ifend895
|
|
ifend895:
|
|
%t4077 = load ptr, ptr %t1
|
|
%t4078 = call i32 @fn_str_eq(ptr %t4077, ptr @.str6023)
|
|
%t4079 = icmp ne i32 %t4078, 0
|
|
br i1 %t4079, label %then898, label %ifend900
|
|
then898:
|
|
store ptr @.str6024, ptr %t278
|
|
%t4080 = load ptr, ptr %t285
|
|
%t4081 = getelementptr inbounds %LSlice, ptr %t4080, i32 0, i32 1
|
|
%t4082 = getelementptr inbounds %LSlice, ptr %t4080, i32 0, i32 2
|
|
%t4083 = getelementptr inbounds %LSlice, ptr %t4080, i32 0, i32 0
|
|
%t4084 = load i32, ptr %t4081
|
|
%t4085 = load i32, ptr %t4082
|
|
%t4086 = icmp sge i32 %t4084, %t4085
|
|
br i1 %t4086, label %grow901, label %put902
|
|
grow901:
|
|
%t4087 = mul i32 %t4085, 2
|
|
%t4088 = icmp eq i32 %t4085, 0
|
|
%t4089 = select i1 %t4088, i32 8, i32 %t4087
|
|
%t4090 = getelementptr ptr, ptr null, i32 1
|
|
%t4091 = ptrtoint ptr %t4090 to i64
|
|
%t4092 = zext i32 %t4089 to i64
|
|
%t4093 = mul i64 %t4092, %t4091
|
|
%t4094 = load ptr, ptr %t4083
|
|
%t4095 = call ptr @realloc(ptr %t4094, i64 %t4093)
|
|
store ptr %t4095, ptr %t4083
|
|
store i32 %t4089, ptr %t4082
|
|
br label %put902
|
|
put902:
|
|
%t4096 = load ptr, ptr %t4083
|
|
%t4097 = getelementptr inbounds ptr, ptr %t4096, i32 %t4084
|
|
store ptr @.str6025, ptr %t4097
|
|
%t4098 = add i32 %t4084, 1
|
|
store i32 %t4098, ptr %t4081
|
|
br label %ifend900
|
|
ifend900:
|
|
%t4099 = load ptr, ptr %t1
|
|
%t4100 = call i32 @fn_str_eq(ptr %t4099, ptr @.str6026)
|
|
%t4101 = icmp ne i32 %t4100, 0
|
|
br i1 %t4101, label %then903, label %ifend905
|
|
then903:
|
|
store ptr @.str6027, ptr %t278
|
|
%t4102 = load ptr, ptr %t285
|
|
%t4103 = getelementptr inbounds %LSlice, ptr %t4102, i32 0, i32 1
|
|
%t4104 = getelementptr inbounds %LSlice, ptr %t4102, i32 0, i32 2
|
|
%t4105 = getelementptr inbounds %LSlice, ptr %t4102, i32 0, i32 0
|
|
%t4106 = load i32, ptr %t4103
|
|
%t4107 = load i32, ptr %t4104
|
|
%t4108 = icmp sge i32 %t4106, %t4107
|
|
br i1 %t4108, label %grow906, label %put907
|
|
grow906:
|
|
%t4109 = mul i32 %t4107, 2
|
|
%t4110 = icmp eq i32 %t4107, 0
|
|
%t4111 = select i1 %t4110, i32 8, i32 %t4109
|
|
%t4112 = getelementptr ptr, ptr null, i32 1
|
|
%t4113 = ptrtoint ptr %t4112 to i64
|
|
%t4114 = zext i32 %t4111 to i64
|
|
%t4115 = mul i64 %t4114, %t4113
|
|
%t4116 = load ptr, ptr %t4105
|
|
%t4117 = call ptr @realloc(ptr %t4116, i64 %t4115)
|
|
store ptr %t4117, ptr %t4105
|
|
store i32 %t4111, ptr %t4104
|
|
br label %put907
|
|
put907:
|
|
%t4118 = load ptr, ptr %t4105
|
|
%t4119 = getelementptr inbounds ptr, ptr %t4118, i32 %t4106
|
|
store ptr @.str6028, ptr %t4119
|
|
%t4120 = add i32 %t4106, 1
|
|
store i32 %t4120, ptr %t4103
|
|
br label %ifend905
|
|
ifend905:
|
|
%t4121 = load ptr, ptr %t1
|
|
%t4122 = call i32 @fn_str_eq(ptr %t4121, ptr @.str6029)
|
|
%t4123 = icmp ne i32 %t4122, 0
|
|
br i1 %t4123, label %then908, label %ifend910
|
|
then908:
|
|
store ptr @.str6030, ptr %t278
|
|
%t4124 = load ptr, ptr %t285
|
|
%t4125 = getelementptr inbounds %LSlice, ptr %t4124, i32 0, i32 1
|
|
%t4126 = getelementptr inbounds %LSlice, ptr %t4124, i32 0, i32 2
|
|
%t4127 = getelementptr inbounds %LSlice, ptr %t4124, i32 0, i32 0
|
|
%t4128 = load i32, ptr %t4125
|
|
%t4129 = load i32, ptr %t4126
|
|
%t4130 = icmp sge i32 %t4128, %t4129
|
|
br i1 %t4130, label %grow911, label %put912
|
|
grow911:
|
|
%t4131 = mul i32 %t4129, 2
|
|
%t4132 = icmp eq i32 %t4129, 0
|
|
%t4133 = select i1 %t4132, i32 8, i32 %t4131
|
|
%t4134 = getelementptr ptr, ptr null, i32 1
|
|
%t4135 = ptrtoint ptr %t4134 to i64
|
|
%t4136 = zext i32 %t4133 to i64
|
|
%t4137 = mul i64 %t4136, %t4135
|
|
%t4138 = load ptr, ptr %t4127
|
|
%t4139 = call ptr @realloc(ptr %t4138, i64 %t4137)
|
|
store ptr %t4139, ptr %t4127
|
|
store i32 %t4133, ptr %t4126
|
|
br label %put912
|
|
put912:
|
|
%t4140 = load ptr, ptr %t4127
|
|
%t4141 = getelementptr inbounds ptr, ptr %t4140, i32 %t4128
|
|
store ptr @.str6031, ptr %t4141
|
|
%t4142 = add i32 %t4128, 1
|
|
store i32 %t4142, ptr %t4125
|
|
%t4143 = load ptr, ptr %t285
|
|
%t4144 = getelementptr inbounds %LSlice, ptr %t4143, i32 0, i32 1
|
|
%t4145 = getelementptr inbounds %LSlice, ptr %t4143, i32 0, i32 2
|
|
%t4146 = getelementptr inbounds %LSlice, ptr %t4143, i32 0, i32 0
|
|
%t4147 = load i32, ptr %t4144
|
|
%t4148 = load i32, ptr %t4145
|
|
%t4149 = icmp sge i32 %t4147, %t4148
|
|
br i1 %t4149, label %grow913, label %put914
|
|
grow913:
|
|
%t4150 = mul i32 %t4148, 2
|
|
%t4151 = icmp eq i32 %t4148, 0
|
|
%t4152 = select i1 %t4151, i32 8, i32 %t4150
|
|
%t4153 = getelementptr ptr, ptr null, i32 1
|
|
%t4154 = ptrtoint ptr %t4153 to i64
|
|
%t4155 = zext i32 %t4152 to i64
|
|
%t4156 = mul i64 %t4155, %t4154
|
|
%t4157 = load ptr, ptr %t4146
|
|
%t4158 = call ptr @realloc(ptr %t4157, i64 %t4156)
|
|
store ptr %t4158, ptr %t4146
|
|
store i32 %t4152, ptr %t4145
|
|
br label %put914
|
|
put914:
|
|
%t4159 = load ptr, ptr %t4146
|
|
%t4160 = getelementptr inbounds ptr, ptr %t4159, i32 %t4147
|
|
store ptr @.str6032, ptr %t4160
|
|
%t4161 = add i32 %t4147, 1
|
|
store i32 %t4161, ptr %t4144
|
|
br label %ifend910
|
|
ifend910:
|
|
br label %ifend826
|
|
ifend826:
|
|
%t4162 = load ptr, ptr %t0
|
|
%t4163 = call i32 @fn_str_eq(ptr %t4162, ptr @.str6033)
|
|
%t4164 = icmp ne i32 %t4163, 0
|
|
br i1 %t4164, label %then915, label %ifend917
|
|
then915:
|
|
%t4165 = load ptr, ptr %t1
|
|
%t4166 = call i32 @fn_str_eq(ptr %t4165, ptr @.str6034)
|
|
%t4167 = icmp ne i32 %t4166, 0
|
|
br i1 %t4167, label %then918, label %ifend920
|
|
then918:
|
|
store ptr @.str6035, ptr %t278
|
|
br label %ifend920
|
|
ifend920:
|
|
%t4168 = load ptr, ptr %t1
|
|
%t4169 = call i32 @fn_str_eq(ptr %t4168, ptr @.str6036)
|
|
%t4170 = icmp ne i32 %t4169, 0
|
|
br i1 %t4170, label %then921, label %ifend923
|
|
then921:
|
|
store ptr @.str6037, ptr %t278
|
|
%t4171 = load ptr, ptr %t285
|
|
%t4172 = getelementptr inbounds %LSlice, ptr %t4171, i32 0, i32 1
|
|
%t4173 = getelementptr inbounds %LSlice, ptr %t4171, i32 0, i32 2
|
|
%t4174 = getelementptr inbounds %LSlice, ptr %t4171, i32 0, i32 0
|
|
%t4175 = load i32, ptr %t4172
|
|
%t4176 = load i32, ptr %t4173
|
|
%t4177 = icmp sge i32 %t4175, %t4176
|
|
br i1 %t4177, label %grow924, label %put925
|
|
grow924:
|
|
%t4178 = mul i32 %t4176, 2
|
|
%t4179 = icmp eq i32 %t4176, 0
|
|
%t4180 = select i1 %t4179, i32 8, i32 %t4178
|
|
%t4181 = getelementptr ptr, ptr null, i32 1
|
|
%t4182 = ptrtoint ptr %t4181 to i64
|
|
%t4183 = zext i32 %t4180 to i64
|
|
%t4184 = mul i64 %t4183, %t4182
|
|
%t4185 = load ptr, ptr %t4174
|
|
%t4186 = call ptr @realloc(ptr %t4185, i64 %t4184)
|
|
store ptr %t4186, ptr %t4174
|
|
store i32 %t4180, ptr %t4173
|
|
br label %put925
|
|
put925:
|
|
%t4187 = load ptr, ptr %t4174
|
|
%t4188 = getelementptr inbounds ptr, ptr %t4187, i32 %t4175
|
|
store ptr @.str6038, ptr %t4188
|
|
%t4189 = add i32 %t4175, 1
|
|
store i32 %t4189, ptr %t4172
|
|
br label %ifend923
|
|
ifend923:
|
|
%t4190 = load ptr, ptr %t1
|
|
%t4191 = call i32 @fn_str_eq(ptr %t4190, ptr @.str6039)
|
|
%t4192 = icmp ne i32 %t4191, 0
|
|
br i1 %t4192, label %then926, label %ifend928
|
|
then926:
|
|
store ptr @.str6040, ptr %t278
|
|
%t4193 = load ptr, ptr %t285
|
|
%t4194 = getelementptr inbounds %LSlice, ptr %t4193, i32 0, i32 1
|
|
%t4195 = getelementptr inbounds %LSlice, ptr %t4193, i32 0, i32 2
|
|
%t4196 = getelementptr inbounds %LSlice, ptr %t4193, i32 0, i32 0
|
|
%t4197 = load i32, ptr %t4194
|
|
%t4198 = load i32, ptr %t4195
|
|
%t4199 = icmp sge i32 %t4197, %t4198
|
|
br i1 %t4199, label %grow929, label %put930
|
|
grow929:
|
|
%t4200 = mul i32 %t4198, 2
|
|
%t4201 = icmp eq i32 %t4198, 0
|
|
%t4202 = select i1 %t4201, i32 8, i32 %t4200
|
|
%t4203 = getelementptr ptr, ptr null, i32 1
|
|
%t4204 = ptrtoint ptr %t4203 to i64
|
|
%t4205 = zext i32 %t4202 to i64
|
|
%t4206 = mul i64 %t4205, %t4204
|
|
%t4207 = load ptr, ptr %t4196
|
|
%t4208 = call ptr @realloc(ptr %t4207, i64 %t4206)
|
|
store ptr %t4208, ptr %t4196
|
|
store i32 %t4202, ptr %t4195
|
|
br label %put930
|
|
put930:
|
|
%t4209 = load ptr, ptr %t4196
|
|
%t4210 = getelementptr inbounds ptr, ptr %t4209, i32 %t4197
|
|
store ptr @.str6041, ptr %t4210
|
|
%t4211 = add i32 %t4197, 1
|
|
store i32 %t4211, ptr %t4194
|
|
br label %ifend928
|
|
ifend928:
|
|
%t4212 = load ptr, ptr %t1
|
|
%t4213 = call i32 @fn_str_eq(ptr %t4212, ptr @.str6042)
|
|
%t4214 = icmp ne i32 %t4213, 0
|
|
br i1 %t4214, label %then931, label %ifend933
|
|
then931:
|
|
store ptr @.str6043, ptr %t278
|
|
%t4215 = load ptr, ptr %t285
|
|
%t4216 = getelementptr inbounds %LSlice, ptr %t4215, i32 0, i32 1
|
|
%t4217 = getelementptr inbounds %LSlice, ptr %t4215, i32 0, i32 2
|
|
%t4218 = getelementptr inbounds %LSlice, ptr %t4215, i32 0, i32 0
|
|
%t4219 = load i32, ptr %t4216
|
|
%t4220 = load i32, ptr %t4217
|
|
%t4221 = icmp sge i32 %t4219, %t4220
|
|
br i1 %t4221, label %grow934, label %put935
|
|
grow934:
|
|
%t4222 = mul i32 %t4220, 2
|
|
%t4223 = icmp eq i32 %t4220, 0
|
|
%t4224 = select i1 %t4223, i32 8, i32 %t4222
|
|
%t4225 = getelementptr ptr, ptr null, i32 1
|
|
%t4226 = ptrtoint ptr %t4225 to i64
|
|
%t4227 = zext i32 %t4224 to i64
|
|
%t4228 = mul i64 %t4227, %t4226
|
|
%t4229 = load ptr, ptr %t4218
|
|
%t4230 = call ptr @realloc(ptr %t4229, i64 %t4228)
|
|
store ptr %t4230, ptr %t4218
|
|
store i32 %t4224, ptr %t4217
|
|
br label %put935
|
|
put935:
|
|
%t4231 = load ptr, ptr %t4218
|
|
%t4232 = getelementptr inbounds ptr, ptr %t4231, i32 %t4219
|
|
store ptr @.str6044, ptr %t4232
|
|
%t4233 = add i32 %t4219, 1
|
|
store i32 %t4233, ptr %t4216
|
|
br label %ifend933
|
|
ifend933:
|
|
%t4234 = load ptr, ptr %t1
|
|
%t4235 = call i32 @fn_str_eq(ptr %t4234, ptr @.str6045)
|
|
%t4236 = icmp ne i32 %t4235, 0
|
|
br i1 %t4236, label %then936, label %ifend938
|
|
then936:
|
|
store ptr @.str6046, ptr %t278
|
|
%t4237 = load ptr, ptr %t285
|
|
%t4238 = getelementptr inbounds %LSlice, ptr %t4237, i32 0, i32 1
|
|
%t4239 = getelementptr inbounds %LSlice, ptr %t4237, i32 0, i32 2
|
|
%t4240 = getelementptr inbounds %LSlice, ptr %t4237, i32 0, i32 0
|
|
%t4241 = load i32, ptr %t4238
|
|
%t4242 = load i32, ptr %t4239
|
|
%t4243 = icmp sge i32 %t4241, %t4242
|
|
br i1 %t4243, label %grow939, label %put940
|
|
grow939:
|
|
%t4244 = mul i32 %t4242, 2
|
|
%t4245 = icmp eq i32 %t4242, 0
|
|
%t4246 = select i1 %t4245, i32 8, i32 %t4244
|
|
%t4247 = getelementptr ptr, ptr null, i32 1
|
|
%t4248 = ptrtoint ptr %t4247 to i64
|
|
%t4249 = zext i32 %t4246 to i64
|
|
%t4250 = mul i64 %t4249, %t4248
|
|
%t4251 = load ptr, ptr %t4240
|
|
%t4252 = call ptr @realloc(ptr %t4251, i64 %t4250)
|
|
store ptr %t4252, ptr %t4240
|
|
store i32 %t4246, ptr %t4239
|
|
br label %put940
|
|
put940:
|
|
%t4253 = load ptr, ptr %t4240
|
|
%t4254 = getelementptr inbounds ptr, ptr %t4253, i32 %t4241
|
|
store ptr @.str6047, ptr %t4254
|
|
%t4255 = add i32 %t4241, 1
|
|
store i32 %t4255, ptr %t4238
|
|
br label %ifend938
|
|
ifend938:
|
|
%t4256 = load ptr, ptr %t1
|
|
%t4257 = call i32 @fn_str_eq(ptr %t4256, ptr @.str6048)
|
|
%t4258 = icmp ne i32 %t4257, 0
|
|
br i1 %t4258, label %then941, label %ifend943
|
|
then941:
|
|
store ptr @.str6049, ptr %t278
|
|
br label %ifend943
|
|
ifend943:
|
|
%t4259 = load ptr, ptr %t1
|
|
%t4260 = call i32 @fn_str_eq(ptr %t4259, ptr @.str6050)
|
|
%t4261 = icmp ne i32 %t4260, 0
|
|
br i1 %t4261, label %then944, label %ifend946
|
|
then944:
|
|
store ptr @.str6051, ptr %t278
|
|
br label %ifend946
|
|
ifend946:
|
|
%t4262 = load ptr, ptr %t1
|
|
%t4263 = call i32 @fn_str_eq(ptr %t4262, ptr @.str6052)
|
|
%t4264 = icmp ne i32 %t4263, 0
|
|
br i1 %t4264, label %then947, label %ifend949
|
|
then947:
|
|
store ptr @.str6053, ptr %t278
|
|
%t4265 = load ptr, ptr %t285
|
|
%t4266 = getelementptr inbounds %LSlice, ptr %t4265, i32 0, i32 1
|
|
%t4267 = getelementptr inbounds %LSlice, ptr %t4265, i32 0, i32 2
|
|
%t4268 = getelementptr inbounds %LSlice, ptr %t4265, i32 0, i32 0
|
|
%t4269 = load i32, ptr %t4266
|
|
%t4270 = load i32, ptr %t4267
|
|
%t4271 = icmp sge i32 %t4269, %t4270
|
|
br i1 %t4271, label %grow950, label %put951
|
|
grow950:
|
|
%t4272 = mul i32 %t4270, 2
|
|
%t4273 = icmp eq i32 %t4270, 0
|
|
%t4274 = select i1 %t4273, i32 8, i32 %t4272
|
|
%t4275 = getelementptr ptr, ptr null, i32 1
|
|
%t4276 = ptrtoint ptr %t4275 to i64
|
|
%t4277 = zext i32 %t4274 to i64
|
|
%t4278 = mul i64 %t4277, %t4276
|
|
%t4279 = load ptr, ptr %t4268
|
|
%t4280 = call ptr @realloc(ptr %t4279, i64 %t4278)
|
|
store ptr %t4280, ptr %t4268
|
|
store i32 %t4274, ptr %t4267
|
|
br label %put951
|
|
put951:
|
|
%t4281 = load ptr, ptr %t4268
|
|
%t4282 = getelementptr inbounds ptr, ptr %t4281, i32 %t4269
|
|
store ptr @.str6054, ptr %t4282
|
|
%t4283 = add i32 %t4269, 1
|
|
store i32 %t4283, ptr %t4266
|
|
%t4284 = load ptr, ptr %t285
|
|
%t4285 = getelementptr inbounds %LSlice, ptr %t4284, i32 0, i32 1
|
|
%t4286 = getelementptr inbounds %LSlice, ptr %t4284, i32 0, i32 2
|
|
%t4287 = getelementptr inbounds %LSlice, ptr %t4284, i32 0, i32 0
|
|
%t4288 = load i32, ptr %t4285
|
|
%t4289 = load i32, ptr %t4286
|
|
%t4290 = icmp sge i32 %t4288, %t4289
|
|
br i1 %t4290, label %grow952, label %put953
|
|
grow952:
|
|
%t4291 = mul i32 %t4289, 2
|
|
%t4292 = icmp eq i32 %t4289, 0
|
|
%t4293 = select i1 %t4292, i32 8, i32 %t4291
|
|
%t4294 = getelementptr ptr, ptr null, i32 1
|
|
%t4295 = ptrtoint ptr %t4294 to i64
|
|
%t4296 = zext i32 %t4293 to i64
|
|
%t4297 = mul i64 %t4296, %t4295
|
|
%t4298 = load ptr, ptr %t4287
|
|
%t4299 = call ptr @realloc(ptr %t4298, i64 %t4297)
|
|
store ptr %t4299, ptr %t4287
|
|
store i32 %t4293, ptr %t4286
|
|
br label %put953
|
|
put953:
|
|
%t4300 = load ptr, ptr %t4287
|
|
%t4301 = getelementptr inbounds ptr, ptr %t4300, i32 %t4288
|
|
store ptr @.str6055, ptr %t4301
|
|
%t4302 = add i32 %t4288, 1
|
|
store i32 %t4302, ptr %t4285
|
|
br label %ifend949
|
|
ifend949:
|
|
%t4303 = load ptr, ptr %t1
|
|
%t4304 = call i32 @fn_str_eq(ptr %t4303, ptr @.str6056)
|
|
%t4305 = icmp ne i32 %t4304, 0
|
|
br i1 %t4305, label %then954, label %ifend956
|
|
then954:
|
|
store ptr @.str6057, ptr %t278
|
|
%t4306 = load ptr, ptr %t285
|
|
%t4307 = getelementptr inbounds %LSlice, ptr %t4306, i32 0, i32 1
|
|
%t4308 = getelementptr inbounds %LSlice, ptr %t4306, i32 0, i32 2
|
|
%t4309 = getelementptr inbounds %LSlice, ptr %t4306, i32 0, i32 0
|
|
%t4310 = load i32, ptr %t4307
|
|
%t4311 = load i32, ptr %t4308
|
|
%t4312 = icmp sge i32 %t4310, %t4311
|
|
br i1 %t4312, label %grow957, label %put958
|
|
grow957:
|
|
%t4313 = mul i32 %t4311, 2
|
|
%t4314 = icmp eq i32 %t4311, 0
|
|
%t4315 = select i1 %t4314, i32 8, i32 %t4313
|
|
%t4316 = getelementptr ptr, ptr null, i32 1
|
|
%t4317 = ptrtoint ptr %t4316 to i64
|
|
%t4318 = zext i32 %t4315 to i64
|
|
%t4319 = mul i64 %t4318, %t4317
|
|
%t4320 = load ptr, ptr %t4309
|
|
%t4321 = call ptr @realloc(ptr %t4320, i64 %t4319)
|
|
store ptr %t4321, ptr %t4309
|
|
store i32 %t4315, ptr %t4308
|
|
br label %put958
|
|
put958:
|
|
%t4322 = load ptr, ptr %t4309
|
|
%t4323 = getelementptr inbounds ptr, ptr %t4322, i32 %t4310
|
|
store ptr @.str6058, ptr %t4323
|
|
%t4324 = add i32 %t4310, 1
|
|
store i32 %t4324, ptr %t4307
|
|
%t4325 = load ptr, ptr %t285
|
|
%t4326 = getelementptr inbounds %LSlice, ptr %t4325, i32 0, i32 1
|
|
%t4327 = getelementptr inbounds %LSlice, ptr %t4325, i32 0, i32 2
|
|
%t4328 = getelementptr inbounds %LSlice, ptr %t4325, i32 0, i32 0
|
|
%t4329 = load i32, ptr %t4326
|
|
%t4330 = load i32, ptr %t4327
|
|
%t4331 = icmp sge i32 %t4329, %t4330
|
|
br i1 %t4331, label %grow959, label %put960
|
|
grow959:
|
|
%t4332 = mul i32 %t4330, 2
|
|
%t4333 = icmp eq i32 %t4330, 0
|
|
%t4334 = select i1 %t4333, i32 8, i32 %t4332
|
|
%t4335 = getelementptr ptr, ptr null, i32 1
|
|
%t4336 = ptrtoint ptr %t4335 to i64
|
|
%t4337 = zext i32 %t4334 to i64
|
|
%t4338 = mul i64 %t4337, %t4336
|
|
%t4339 = load ptr, ptr %t4328
|
|
%t4340 = call ptr @realloc(ptr %t4339, i64 %t4338)
|
|
store ptr %t4340, ptr %t4328
|
|
store i32 %t4334, ptr %t4327
|
|
br label %put960
|
|
put960:
|
|
%t4341 = load ptr, ptr %t4328
|
|
%t4342 = getelementptr inbounds ptr, ptr %t4341, i32 %t4329
|
|
store ptr @.str6059, ptr %t4342
|
|
%t4343 = add i32 %t4329, 1
|
|
store i32 %t4343, ptr %t4326
|
|
%t4344 = load ptr, ptr %t285
|
|
%t4345 = getelementptr inbounds %LSlice, ptr %t4344, i32 0, i32 1
|
|
%t4346 = getelementptr inbounds %LSlice, ptr %t4344, i32 0, i32 2
|
|
%t4347 = getelementptr inbounds %LSlice, ptr %t4344, i32 0, i32 0
|
|
%t4348 = load i32, ptr %t4345
|
|
%t4349 = load i32, ptr %t4346
|
|
%t4350 = icmp sge i32 %t4348, %t4349
|
|
br i1 %t4350, label %grow961, label %put962
|
|
grow961:
|
|
%t4351 = mul i32 %t4349, 2
|
|
%t4352 = icmp eq i32 %t4349, 0
|
|
%t4353 = select i1 %t4352, i32 8, i32 %t4351
|
|
%t4354 = getelementptr ptr, ptr null, i32 1
|
|
%t4355 = ptrtoint ptr %t4354 to i64
|
|
%t4356 = zext i32 %t4353 to i64
|
|
%t4357 = mul i64 %t4356, %t4355
|
|
%t4358 = load ptr, ptr %t4347
|
|
%t4359 = call ptr @realloc(ptr %t4358, i64 %t4357)
|
|
store ptr %t4359, ptr %t4347
|
|
store i32 %t4353, ptr %t4346
|
|
br label %put962
|
|
put962:
|
|
%t4360 = load ptr, ptr %t4347
|
|
%t4361 = getelementptr inbounds ptr, ptr %t4360, i32 %t4348
|
|
store ptr @.str6060, ptr %t4361
|
|
%t4362 = add i32 %t4348, 1
|
|
store i32 %t4362, ptr %t4345
|
|
br label %ifend956
|
|
ifend956:
|
|
%t4363 = load ptr, ptr %t1
|
|
%t4364 = call i32 @fn_str_eq(ptr %t4363, ptr @.str6061)
|
|
%t4365 = icmp ne i32 %t4364, 0
|
|
br i1 %t4365, label %then963, label %ifend965
|
|
then963:
|
|
store ptr @.str6062, ptr %t278
|
|
%t4366 = load ptr, ptr %t285
|
|
%t4367 = getelementptr inbounds %LSlice, ptr %t4366, i32 0, i32 1
|
|
%t4368 = getelementptr inbounds %LSlice, ptr %t4366, i32 0, i32 2
|
|
%t4369 = getelementptr inbounds %LSlice, ptr %t4366, i32 0, i32 0
|
|
%t4370 = load i32, ptr %t4367
|
|
%t4371 = load i32, ptr %t4368
|
|
%t4372 = icmp sge i32 %t4370, %t4371
|
|
br i1 %t4372, label %grow966, label %put967
|
|
grow966:
|
|
%t4373 = mul i32 %t4371, 2
|
|
%t4374 = icmp eq i32 %t4371, 0
|
|
%t4375 = select i1 %t4374, i32 8, i32 %t4373
|
|
%t4376 = getelementptr ptr, ptr null, i32 1
|
|
%t4377 = ptrtoint ptr %t4376 to i64
|
|
%t4378 = zext i32 %t4375 to i64
|
|
%t4379 = mul i64 %t4378, %t4377
|
|
%t4380 = load ptr, ptr %t4369
|
|
%t4381 = call ptr @realloc(ptr %t4380, i64 %t4379)
|
|
store ptr %t4381, ptr %t4369
|
|
store i32 %t4375, ptr %t4368
|
|
br label %put967
|
|
put967:
|
|
%t4382 = load ptr, ptr %t4369
|
|
%t4383 = getelementptr inbounds ptr, ptr %t4382, i32 %t4370
|
|
store ptr @.str6063, ptr %t4383
|
|
%t4384 = add i32 %t4370, 1
|
|
store i32 %t4384, ptr %t4367
|
|
%t4385 = load ptr, ptr %t285
|
|
%t4386 = getelementptr inbounds %LSlice, ptr %t4385, i32 0, i32 1
|
|
%t4387 = getelementptr inbounds %LSlice, ptr %t4385, i32 0, i32 2
|
|
%t4388 = getelementptr inbounds %LSlice, ptr %t4385, i32 0, i32 0
|
|
%t4389 = load i32, ptr %t4386
|
|
%t4390 = load i32, ptr %t4387
|
|
%t4391 = icmp sge i32 %t4389, %t4390
|
|
br i1 %t4391, label %grow968, label %put969
|
|
grow968:
|
|
%t4392 = mul i32 %t4390, 2
|
|
%t4393 = icmp eq i32 %t4390, 0
|
|
%t4394 = select i1 %t4393, i32 8, i32 %t4392
|
|
%t4395 = getelementptr ptr, ptr null, i32 1
|
|
%t4396 = ptrtoint ptr %t4395 to i64
|
|
%t4397 = zext i32 %t4394 to i64
|
|
%t4398 = mul i64 %t4397, %t4396
|
|
%t4399 = load ptr, ptr %t4388
|
|
%t4400 = call ptr @realloc(ptr %t4399, i64 %t4398)
|
|
store ptr %t4400, ptr %t4388
|
|
store i32 %t4394, ptr %t4387
|
|
br label %put969
|
|
put969:
|
|
%t4401 = load ptr, ptr %t4388
|
|
%t4402 = getelementptr inbounds ptr, ptr %t4401, i32 %t4389
|
|
store ptr @.str6064, ptr %t4402
|
|
%t4403 = add i32 %t4389, 1
|
|
store i32 %t4403, ptr %t4386
|
|
br label %ifend965
|
|
ifend965:
|
|
%t4404 = load ptr, ptr %t1
|
|
%t4405 = call i32 @fn_str_eq(ptr %t4404, ptr @.str6065)
|
|
%t4406 = icmp ne i32 %t4405, 0
|
|
br i1 %t4406, label %then970, label %ifend972
|
|
then970:
|
|
store ptr @.str6066, ptr %t278
|
|
%t4407 = load ptr, ptr %t285
|
|
%t4408 = getelementptr inbounds %LSlice, ptr %t4407, i32 0, i32 1
|
|
%t4409 = getelementptr inbounds %LSlice, ptr %t4407, i32 0, i32 2
|
|
%t4410 = getelementptr inbounds %LSlice, ptr %t4407, i32 0, i32 0
|
|
%t4411 = load i32, ptr %t4408
|
|
%t4412 = load i32, ptr %t4409
|
|
%t4413 = icmp sge i32 %t4411, %t4412
|
|
br i1 %t4413, label %grow973, label %put974
|
|
grow973:
|
|
%t4414 = mul i32 %t4412, 2
|
|
%t4415 = icmp eq i32 %t4412, 0
|
|
%t4416 = select i1 %t4415, i32 8, i32 %t4414
|
|
%t4417 = getelementptr ptr, ptr null, i32 1
|
|
%t4418 = ptrtoint ptr %t4417 to i64
|
|
%t4419 = zext i32 %t4416 to i64
|
|
%t4420 = mul i64 %t4419, %t4418
|
|
%t4421 = load ptr, ptr %t4410
|
|
%t4422 = call ptr @realloc(ptr %t4421, i64 %t4420)
|
|
store ptr %t4422, ptr %t4410
|
|
store i32 %t4416, ptr %t4409
|
|
br label %put974
|
|
put974:
|
|
%t4423 = load ptr, ptr %t4410
|
|
%t4424 = getelementptr inbounds ptr, ptr %t4423, i32 %t4411
|
|
store ptr @.str6067, ptr %t4424
|
|
%t4425 = add i32 %t4411, 1
|
|
store i32 %t4425, ptr %t4408
|
|
%t4426 = load ptr, ptr %t285
|
|
%t4427 = getelementptr inbounds %LSlice, ptr %t4426, i32 0, i32 1
|
|
%t4428 = getelementptr inbounds %LSlice, ptr %t4426, i32 0, i32 2
|
|
%t4429 = getelementptr inbounds %LSlice, ptr %t4426, i32 0, i32 0
|
|
%t4430 = load i32, ptr %t4427
|
|
%t4431 = load i32, ptr %t4428
|
|
%t4432 = icmp sge i32 %t4430, %t4431
|
|
br i1 %t4432, label %grow975, label %put976
|
|
grow975:
|
|
%t4433 = mul i32 %t4431, 2
|
|
%t4434 = icmp eq i32 %t4431, 0
|
|
%t4435 = select i1 %t4434, i32 8, i32 %t4433
|
|
%t4436 = getelementptr ptr, ptr null, i32 1
|
|
%t4437 = ptrtoint ptr %t4436 to i64
|
|
%t4438 = zext i32 %t4435 to i64
|
|
%t4439 = mul i64 %t4438, %t4437
|
|
%t4440 = load ptr, ptr %t4429
|
|
%t4441 = call ptr @realloc(ptr %t4440, i64 %t4439)
|
|
store ptr %t4441, ptr %t4429
|
|
store i32 %t4435, ptr %t4428
|
|
br label %put976
|
|
put976:
|
|
%t4442 = load ptr, ptr %t4429
|
|
%t4443 = getelementptr inbounds ptr, ptr %t4442, i32 %t4430
|
|
store ptr @.str6068, ptr %t4443
|
|
%t4444 = add i32 %t4430, 1
|
|
store i32 %t4444, ptr %t4427
|
|
br label %ifend972
|
|
ifend972:
|
|
%t4445 = load ptr, ptr %t1
|
|
%t4446 = call i32 @fn_str_eq(ptr %t4445, ptr @.str6069)
|
|
%t4447 = icmp ne i32 %t4446, 0
|
|
br i1 %t4447, label %then977, label %ifend979
|
|
then977:
|
|
store ptr @.str6070, ptr %t278
|
|
%t4448 = load ptr, ptr %t285
|
|
%t4449 = getelementptr inbounds %LSlice, ptr %t4448, i32 0, i32 1
|
|
%t4450 = getelementptr inbounds %LSlice, ptr %t4448, i32 0, i32 2
|
|
%t4451 = getelementptr inbounds %LSlice, ptr %t4448, i32 0, i32 0
|
|
%t4452 = load i32, ptr %t4449
|
|
%t4453 = load i32, ptr %t4450
|
|
%t4454 = icmp sge i32 %t4452, %t4453
|
|
br i1 %t4454, label %grow980, label %put981
|
|
grow980:
|
|
%t4455 = mul i32 %t4453, 2
|
|
%t4456 = icmp eq i32 %t4453, 0
|
|
%t4457 = select i1 %t4456, i32 8, i32 %t4455
|
|
%t4458 = getelementptr ptr, ptr null, i32 1
|
|
%t4459 = ptrtoint ptr %t4458 to i64
|
|
%t4460 = zext i32 %t4457 to i64
|
|
%t4461 = mul i64 %t4460, %t4459
|
|
%t4462 = load ptr, ptr %t4451
|
|
%t4463 = call ptr @realloc(ptr %t4462, i64 %t4461)
|
|
store ptr %t4463, ptr %t4451
|
|
store i32 %t4457, ptr %t4450
|
|
br label %put981
|
|
put981:
|
|
%t4464 = load ptr, ptr %t4451
|
|
%t4465 = getelementptr inbounds ptr, ptr %t4464, i32 %t4452
|
|
store ptr @.str6071, ptr %t4465
|
|
%t4466 = add i32 %t4452, 1
|
|
store i32 %t4466, ptr %t4449
|
|
%t4467 = load ptr, ptr %t285
|
|
%t4468 = getelementptr inbounds %LSlice, ptr %t4467, i32 0, i32 1
|
|
%t4469 = getelementptr inbounds %LSlice, ptr %t4467, i32 0, i32 2
|
|
%t4470 = getelementptr inbounds %LSlice, ptr %t4467, i32 0, i32 0
|
|
%t4471 = load i32, ptr %t4468
|
|
%t4472 = load i32, ptr %t4469
|
|
%t4473 = icmp sge i32 %t4471, %t4472
|
|
br i1 %t4473, label %grow982, label %put983
|
|
grow982:
|
|
%t4474 = mul i32 %t4472, 2
|
|
%t4475 = icmp eq i32 %t4472, 0
|
|
%t4476 = select i1 %t4475, i32 8, i32 %t4474
|
|
%t4477 = getelementptr ptr, ptr null, i32 1
|
|
%t4478 = ptrtoint ptr %t4477 to i64
|
|
%t4479 = zext i32 %t4476 to i64
|
|
%t4480 = mul i64 %t4479, %t4478
|
|
%t4481 = load ptr, ptr %t4470
|
|
%t4482 = call ptr @realloc(ptr %t4481, i64 %t4480)
|
|
store ptr %t4482, ptr %t4470
|
|
store i32 %t4476, ptr %t4469
|
|
br label %put983
|
|
put983:
|
|
%t4483 = load ptr, ptr %t4470
|
|
%t4484 = getelementptr inbounds ptr, ptr %t4483, i32 %t4471
|
|
store ptr @.str6072, ptr %t4484
|
|
%t4485 = add i32 %t4471, 1
|
|
store i32 %t4485, ptr %t4468
|
|
br label %ifend979
|
|
ifend979:
|
|
%t4486 = load ptr, ptr %t1
|
|
%t4487 = call i32 @fn_str_eq(ptr %t4486, ptr @.str6073)
|
|
%t4488 = icmp ne i32 %t4487, 0
|
|
br i1 %t4488, label %then984, label %ifend986
|
|
then984:
|
|
store ptr @.str6074, ptr %t278
|
|
%t4489 = load ptr, ptr %t285
|
|
%t4490 = getelementptr inbounds %LSlice, ptr %t4489, i32 0, i32 1
|
|
%t4491 = getelementptr inbounds %LSlice, ptr %t4489, i32 0, i32 2
|
|
%t4492 = getelementptr inbounds %LSlice, ptr %t4489, i32 0, i32 0
|
|
%t4493 = load i32, ptr %t4490
|
|
%t4494 = load i32, ptr %t4491
|
|
%t4495 = icmp sge i32 %t4493, %t4494
|
|
br i1 %t4495, label %grow987, label %put988
|
|
grow987:
|
|
%t4496 = mul i32 %t4494, 2
|
|
%t4497 = icmp eq i32 %t4494, 0
|
|
%t4498 = select i1 %t4497, i32 8, i32 %t4496
|
|
%t4499 = getelementptr ptr, ptr null, i32 1
|
|
%t4500 = ptrtoint ptr %t4499 to i64
|
|
%t4501 = zext i32 %t4498 to i64
|
|
%t4502 = mul i64 %t4501, %t4500
|
|
%t4503 = load ptr, ptr %t4492
|
|
%t4504 = call ptr @realloc(ptr %t4503, i64 %t4502)
|
|
store ptr %t4504, ptr %t4492
|
|
store i32 %t4498, ptr %t4491
|
|
br label %put988
|
|
put988:
|
|
%t4505 = load ptr, ptr %t4492
|
|
%t4506 = getelementptr inbounds ptr, ptr %t4505, i32 %t4493
|
|
store ptr @.str6075, ptr %t4506
|
|
%t4507 = add i32 %t4493, 1
|
|
store i32 %t4507, ptr %t4490
|
|
%t4508 = load ptr, ptr %t285
|
|
%t4509 = getelementptr inbounds %LSlice, ptr %t4508, i32 0, i32 1
|
|
%t4510 = getelementptr inbounds %LSlice, ptr %t4508, i32 0, i32 2
|
|
%t4511 = getelementptr inbounds %LSlice, ptr %t4508, i32 0, i32 0
|
|
%t4512 = load i32, ptr %t4509
|
|
%t4513 = load i32, ptr %t4510
|
|
%t4514 = icmp sge i32 %t4512, %t4513
|
|
br i1 %t4514, label %grow989, label %put990
|
|
grow989:
|
|
%t4515 = mul i32 %t4513, 2
|
|
%t4516 = icmp eq i32 %t4513, 0
|
|
%t4517 = select i1 %t4516, i32 8, i32 %t4515
|
|
%t4518 = getelementptr ptr, ptr null, i32 1
|
|
%t4519 = ptrtoint ptr %t4518 to i64
|
|
%t4520 = zext i32 %t4517 to i64
|
|
%t4521 = mul i64 %t4520, %t4519
|
|
%t4522 = load ptr, ptr %t4511
|
|
%t4523 = call ptr @realloc(ptr %t4522, i64 %t4521)
|
|
store ptr %t4523, ptr %t4511
|
|
store i32 %t4517, ptr %t4510
|
|
br label %put990
|
|
put990:
|
|
%t4524 = load ptr, ptr %t4511
|
|
%t4525 = getelementptr inbounds ptr, ptr %t4524, i32 %t4512
|
|
store ptr @.str6076, ptr %t4525
|
|
%t4526 = add i32 %t4512, 1
|
|
store i32 %t4526, ptr %t4509
|
|
br label %ifend986
|
|
ifend986:
|
|
%t4527 = load ptr, ptr %t1
|
|
%t4528 = call i32 @fn_str_eq(ptr %t4527, ptr @.str6077)
|
|
%t4529 = icmp ne i32 %t4528, 0
|
|
br i1 %t4529, label %then991, label %ifend993
|
|
then991:
|
|
store ptr @.str6078, ptr %t278
|
|
%t4530 = load ptr, ptr %t285
|
|
%t4531 = getelementptr inbounds %LSlice, ptr %t4530, i32 0, i32 1
|
|
%t4532 = getelementptr inbounds %LSlice, ptr %t4530, i32 0, i32 2
|
|
%t4533 = getelementptr inbounds %LSlice, ptr %t4530, i32 0, i32 0
|
|
%t4534 = load i32, ptr %t4531
|
|
%t4535 = load i32, ptr %t4532
|
|
%t4536 = icmp sge i32 %t4534, %t4535
|
|
br i1 %t4536, label %grow994, label %put995
|
|
grow994:
|
|
%t4537 = mul i32 %t4535, 2
|
|
%t4538 = icmp eq i32 %t4535, 0
|
|
%t4539 = select i1 %t4538, i32 8, i32 %t4537
|
|
%t4540 = getelementptr ptr, ptr null, i32 1
|
|
%t4541 = ptrtoint ptr %t4540 to i64
|
|
%t4542 = zext i32 %t4539 to i64
|
|
%t4543 = mul i64 %t4542, %t4541
|
|
%t4544 = load ptr, ptr %t4533
|
|
%t4545 = call ptr @realloc(ptr %t4544, i64 %t4543)
|
|
store ptr %t4545, ptr %t4533
|
|
store i32 %t4539, ptr %t4532
|
|
br label %put995
|
|
put995:
|
|
%t4546 = load ptr, ptr %t4533
|
|
%t4547 = getelementptr inbounds ptr, ptr %t4546, i32 %t4534
|
|
store ptr @.str6079, ptr %t4547
|
|
%t4548 = add i32 %t4534, 1
|
|
store i32 %t4548, ptr %t4531
|
|
br label %ifend993
|
|
ifend993:
|
|
%t4549 = load ptr, ptr %t1
|
|
%t4550 = call i32 @fn_str_eq(ptr %t4549, ptr @.str6080)
|
|
%t4551 = icmp ne i32 %t4550, 0
|
|
br i1 %t4551, label %then996, label %ifend998
|
|
then996:
|
|
store ptr @.str6081, ptr %t278
|
|
%t4552 = load ptr, ptr %t285
|
|
%t4553 = getelementptr inbounds %LSlice, ptr %t4552, i32 0, i32 1
|
|
%t4554 = getelementptr inbounds %LSlice, ptr %t4552, i32 0, i32 2
|
|
%t4555 = getelementptr inbounds %LSlice, ptr %t4552, i32 0, i32 0
|
|
%t4556 = load i32, ptr %t4553
|
|
%t4557 = load i32, ptr %t4554
|
|
%t4558 = icmp sge i32 %t4556, %t4557
|
|
br i1 %t4558, label %grow999, label %put1000
|
|
grow999:
|
|
%t4559 = mul i32 %t4557, 2
|
|
%t4560 = icmp eq i32 %t4557, 0
|
|
%t4561 = select i1 %t4560, i32 8, i32 %t4559
|
|
%t4562 = getelementptr ptr, ptr null, i32 1
|
|
%t4563 = ptrtoint ptr %t4562 to i64
|
|
%t4564 = zext i32 %t4561 to i64
|
|
%t4565 = mul i64 %t4564, %t4563
|
|
%t4566 = load ptr, ptr %t4555
|
|
%t4567 = call ptr @realloc(ptr %t4566, i64 %t4565)
|
|
store ptr %t4567, ptr %t4555
|
|
store i32 %t4561, ptr %t4554
|
|
br label %put1000
|
|
put1000:
|
|
%t4568 = load ptr, ptr %t4555
|
|
%t4569 = getelementptr inbounds ptr, ptr %t4568, i32 %t4556
|
|
store ptr @.str6082, ptr %t4569
|
|
%t4570 = add i32 %t4556, 1
|
|
store i32 %t4570, ptr %t4553
|
|
br label %ifend998
|
|
ifend998:
|
|
%t4571 = load ptr, ptr %t1
|
|
%t4572 = call i32 @fn_str_eq(ptr %t4571, ptr @.str6083)
|
|
%t4573 = icmp ne i32 %t4572, 0
|
|
br i1 %t4573, label %then1001, label %ifend1003
|
|
then1001:
|
|
store ptr @.str6084, ptr %t278
|
|
%t4574 = load ptr, ptr %t285
|
|
%t4575 = getelementptr inbounds %LSlice, ptr %t4574, i32 0, i32 1
|
|
%t4576 = getelementptr inbounds %LSlice, ptr %t4574, i32 0, i32 2
|
|
%t4577 = getelementptr inbounds %LSlice, ptr %t4574, i32 0, i32 0
|
|
%t4578 = load i32, ptr %t4575
|
|
%t4579 = load i32, ptr %t4576
|
|
%t4580 = icmp sge i32 %t4578, %t4579
|
|
br i1 %t4580, label %grow1004, label %put1005
|
|
grow1004:
|
|
%t4581 = mul i32 %t4579, 2
|
|
%t4582 = icmp eq i32 %t4579, 0
|
|
%t4583 = select i1 %t4582, i32 8, i32 %t4581
|
|
%t4584 = getelementptr ptr, ptr null, i32 1
|
|
%t4585 = ptrtoint ptr %t4584 to i64
|
|
%t4586 = zext i32 %t4583 to i64
|
|
%t4587 = mul i64 %t4586, %t4585
|
|
%t4588 = load ptr, ptr %t4577
|
|
%t4589 = call ptr @realloc(ptr %t4588, i64 %t4587)
|
|
store ptr %t4589, ptr %t4577
|
|
store i32 %t4583, ptr %t4576
|
|
br label %put1005
|
|
put1005:
|
|
%t4590 = load ptr, ptr %t4577
|
|
%t4591 = getelementptr inbounds ptr, ptr %t4590, i32 %t4578
|
|
store ptr @.str6085, ptr %t4591
|
|
%t4592 = add i32 %t4578, 1
|
|
store i32 %t4592, ptr %t4575
|
|
br label %ifend1003
|
|
ifend1003:
|
|
%t4593 = load ptr, ptr %t1
|
|
%t4594 = call i32 @fn_str_eq(ptr %t4593, ptr @.str6086)
|
|
%t4595 = icmp ne i32 %t4594, 0
|
|
br i1 %t4595, label %then1006, label %ifend1008
|
|
then1006:
|
|
store ptr @.str6087, ptr %t278
|
|
%t4596 = load ptr, ptr %t285
|
|
%t4597 = getelementptr inbounds %LSlice, ptr %t4596, i32 0, i32 1
|
|
%t4598 = getelementptr inbounds %LSlice, ptr %t4596, i32 0, i32 2
|
|
%t4599 = getelementptr inbounds %LSlice, ptr %t4596, i32 0, i32 0
|
|
%t4600 = load i32, ptr %t4597
|
|
%t4601 = load i32, ptr %t4598
|
|
%t4602 = icmp sge i32 %t4600, %t4601
|
|
br i1 %t4602, label %grow1009, label %put1010
|
|
grow1009:
|
|
%t4603 = mul i32 %t4601, 2
|
|
%t4604 = icmp eq i32 %t4601, 0
|
|
%t4605 = select i1 %t4604, i32 8, i32 %t4603
|
|
%t4606 = getelementptr ptr, ptr null, i32 1
|
|
%t4607 = ptrtoint ptr %t4606 to i64
|
|
%t4608 = zext i32 %t4605 to i64
|
|
%t4609 = mul i64 %t4608, %t4607
|
|
%t4610 = load ptr, ptr %t4599
|
|
%t4611 = call ptr @realloc(ptr %t4610, i64 %t4609)
|
|
store ptr %t4611, ptr %t4599
|
|
store i32 %t4605, ptr %t4598
|
|
br label %put1010
|
|
put1010:
|
|
%t4612 = load ptr, ptr %t4599
|
|
%t4613 = getelementptr inbounds ptr, ptr %t4612, i32 %t4600
|
|
store ptr @.str6088, ptr %t4613
|
|
%t4614 = add i32 %t4600, 1
|
|
store i32 %t4614, ptr %t4597
|
|
br label %ifend1008
|
|
ifend1008:
|
|
br label %ifend917
|
|
ifend917:
|
|
%t4615 = load ptr, ptr %t0
|
|
%t4616 = call i32 @fn_str_eq(ptr %t4615, ptr @.str6089)
|
|
%t4617 = icmp ne i32 %t4616, 0
|
|
br i1 %t4617, label %then1011, label %ifend1013
|
|
then1011:
|
|
%t4618 = load ptr, ptr %t1
|
|
%t4619 = call i32 @fn_str_eq(ptr %t4618, ptr @.str6090)
|
|
%t4620 = icmp ne i32 %t4619, 0
|
|
br i1 %t4620, label %then1014, label %ifend1016
|
|
then1014:
|
|
store ptr @.str6091, ptr %t278
|
|
%t4621 = load ptr, ptr %t285
|
|
%t4622 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 1
|
|
%t4623 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 2
|
|
%t4624 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 0
|
|
%t4625 = load i32, ptr %t4622
|
|
%t4626 = load i32, ptr %t4623
|
|
%t4627 = icmp sge i32 %t4625, %t4626
|
|
br i1 %t4627, label %grow1017, label %put1018
|
|
grow1017:
|
|
%t4628 = mul i32 %t4626, 2
|
|
%t4629 = icmp eq i32 %t4626, 0
|
|
%t4630 = select i1 %t4629, i32 8, i32 %t4628
|
|
%t4631 = getelementptr ptr, ptr null, i32 1
|
|
%t4632 = ptrtoint ptr %t4631 to i64
|
|
%t4633 = zext i32 %t4630 to i64
|
|
%t4634 = mul i64 %t4633, %t4632
|
|
%t4635 = load ptr, ptr %t4624
|
|
%t4636 = call ptr @realloc(ptr %t4635, i64 %t4634)
|
|
store ptr %t4636, ptr %t4624
|
|
store i32 %t4630, ptr %t4623
|
|
br label %put1018
|
|
put1018:
|
|
%t4637 = load ptr, ptr %t4624
|
|
%t4638 = getelementptr inbounds ptr, ptr %t4637, i32 %t4625
|
|
store ptr @.str6092, ptr %t4638
|
|
%t4639 = add i32 %t4625, 1
|
|
store i32 %t4639, ptr %t4622
|
|
br label %ifend1016
|
|
ifend1016:
|
|
%t4640 = load ptr, ptr %t1
|
|
%t4641 = call i32 @fn_str_eq(ptr %t4640, ptr @.str6093)
|
|
%t4642 = icmp ne i32 %t4641, 0
|
|
br i1 %t4642, label %then1019, label %ifend1021
|
|
then1019:
|
|
store ptr @.str6094, ptr %t278
|
|
%t4643 = load ptr, ptr %t285
|
|
%t4644 = getelementptr inbounds %LSlice, ptr %t4643, i32 0, i32 1
|
|
%t4645 = getelementptr inbounds %LSlice, ptr %t4643, i32 0, i32 2
|
|
%t4646 = getelementptr inbounds %LSlice, ptr %t4643, i32 0, i32 0
|
|
%t4647 = load i32, ptr %t4644
|
|
%t4648 = load i32, ptr %t4645
|
|
%t4649 = icmp sge i32 %t4647, %t4648
|
|
br i1 %t4649, label %grow1022, label %put1023
|
|
grow1022:
|
|
%t4650 = mul i32 %t4648, 2
|
|
%t4651 = icmp eq i32 %t4648, 0
|
|
%t4652 = select i1 %t4651, i32 8, i32 %t4650
|
|
%t4653 = getelementptr ptr, ptr null, i32 1
|
|
%t4654 = ptrtoint ptr %t4653 to i64
|
|
%t4655 = zext i32 %t4652 to i64
|
|
%t4656 = mul i64 %t4655, %t4654
|
|
%t4657 = load ptr, ptr %t4646
|
|
%t4658 = call ptr @realloc(ptr %t4657, i64 %t4656)
|
|
store ptr %t4658, ptr %t4646
|
|
store i32 %t4652, ptr %t4645
|
|
br label %put1023
|
|
put1023:
|
|
%t4659 = load ptr, ptr %t4646
|
|
%t4660 = getelementptr inbounds ptr, ptr %t4659, i32 %t4647
|
|
store ptr @.str6095, ptr %t4660
|
|
%t4661 = add i32 %t4647, 1
|
|
store i32 %t4661, ptr %t4644
|
|
br label %ifend1021
|
|
ifend1021:
|
|
br label %ifend1013
|
|
ifend1013:
|
|
%t4662 = load ptr, ptr %t278
|
|
%t4663 = icmp eq ptr %t4662, null
|
|
%t4664 = zext i1 %t4663 to i32
|
|
%t4665 = icmp ne i32 %t4664, 0
|
|
br i1 %t4665, label %then1024, label %ifend1026
|
|
then1024:
|
|
%t4666 = load ptr, ptr %t0
|
|
%t4667 = call ptr @fn_str_concat(ptr @.str6096, ptr %t4666)
|
|
%t4668 = call ptr @fn_str_concat(ptr %t4667, ptr @.str6097)
|
|
%t4669 = load ptr, ptr %t1
|
|
%t4670 = call ptr @fn_str_concat(ptr %t4668, ptr %t4669)
|
|
call void @fn_perr(ptr %t4670)
|
|
br label %ifend1026
|
|
ifend1026:
|
|
%t4671 = load ptr, ptr %t2
|
|
%t4672 = load ptr, ptr %t285
|
|
call void @fn_reorder_named(ptr %t4671, ptr %t4672)
|
|
%t4673 = call ptr @fn_node(i32 33)
|
|
store ptr %t4673, ptr %t4674
|
|
%t4675 = load ptr, ptr %t4674
|
|
%t4676 = getelementptr inbounds %Cmp_Node, ptr %t4675, i32 0, i32 1
|
|
%t4677 = load ptr, ptr %t278
|
|
store ptr %t4677, ptr %t4676
|
|
%t4678 = load ptr, ptr %t2
|
|
%t4679 = getelementptr inbounds %Cmp_Node, ptr %t4678, i32 0, i32 4
|
|
%t4680 = load ptr, ptr %t4674
|
|
store ptr %t4680, ptr %t4679
|
|
%t4681 = load ptr, ptr %t2
|
|
%t4682 = call ptr @fn_emit_call(ptr %t4681)
|
|
store ptr %t4682, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t4683 = load ptr, ptr %retval
|
|
ret ptr %t4683
|
|
}
|
|
|
|
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
|
|
%t642 = alloca ptr
|
|
%t652 = alloca ptr
|
|
%t667 = alloca ptr
|
|
%t676 = alloca ptr
|
|
%t687 = alloca ptr
|
|
%t697 = alloca ptr
|
|
%t718 = alloca ptr
|
|
%t727 = alloca ptr
|
|
%t736 = alloca ptr
|
|
%t747 = alloca ptr
|
|
%t751 = alloca ptr
|
|
%t756 = alloca ptr
|
|
%t766 = alloca ptr
|
|
%t775 = alloca ptr
|
|
%t785 = alloca ptr
|
|
%t806 = alloca ptr
|
|
%t816 = alloca ptr
|
|
%t818 = alloca ptr
|
|
%t842 = alloca ptr
|
|
%t849 = alloca ptr
|
|
%t851 = alloca ptr
|
|
%t853 = alloca ptr
|
|
%t873 = alloca ptr
|
|
%t883 = alloca ptr
|
|
%t885 = alloca ptr
|
|
%t900 = alloca i32
|
|
%t920 = alloca ptr
|
|
%t922 = alloca ptr
|
|
%t927 = alloca ptr
|
|
%t935 = alloca ptr
|
|
%t947 = alloca ptr
|
|
%t953 = alloca i32
|
|
%t973 = alloca ptr
|
|
%t975 = alloca ptr
|
|
%t980 = alloca ptr
|
|
%t988 = alloca ptr
|
|
%t996 = alloca ptr
|
|
%t1007 = alloca i32
|
|
%t1027 = alloca ptr
|
|
%t1034 = alloca ptr
|
|
%t1038 = alloca ptr
|
|
%t1043 = alloca ptr
|
|
%t1049 = alloca i32
|
|
%t1069 = alloca ptr
|
|
%t1076 = alloca ptr
|
|
%t1080 = alloca ptr
|
|
%t1085 = alloca ptr
|
|
%t1102 = alloca ptr
|
|
%t1121 = alloca ptr
|
|
%t1130 = alloca ptr
|
|
%t1154 = alloca ptr
|
|
%t1163 = alloca ptr
|
|
%t1172 = alloca ptr
|
|
%t1189 = alloca ptr
|
|
%t1206 = alloca ptr
|
|
%t1215 = alloca ptr
|
|
%t1224 = alloca ptr
|
|
%t1233 = alloca ptr
|
|
%t1240 = alloca ptr
|
|
%t1263 = alloca ptr
|
|
%t1272 = alloca ptr
|
|
%t1301 = alloca ptr
|
|
%t1320 = alloca ptr
|
|
%t1339 = alloca ptr
|
|
%t1348 = alloca ptr
|
|
%t1372 = alloca ptr
|
|
%t1381 = alloca ptr
|
|
%t1405 = alloca ptr
|
|
%t1414 = alloca ptr
|
|
%t1433 = alloca ptr
|
|
%t1442 = alloca ptr
|
|
%t1461 = alloca ptr
|
|
%t1485 = alloca ptr
|
|
%t1504 = alloca ptr
|
|
%t1523 = alloca ptr
|
|
%t1532 = alloca ptr
|
|
%t1556 = alloca ptr
|
|
%t1565 = alloca ptr
|
|
%t1598 = alloca ptr
|
|
%t1612 = alloca ptr
|
|
%t1619 = alloca ptr
|
|
%t1620 = alloca i32
|
|
%t1639 = alloca ptr
|
|
%t1690 = alloca ptr
|
|
%t1691 = alloca ptr
|
|
%t1738 = alloca ptr
|
|
%t1740 = alloca ptr
|
|
%t1747 = alloca ptr
|
|
%t1762 = alloca ptr
|
|
%t1769 = alloca ptr
|
|
%t1776 = alloca ptr
|
|
%t1777 = alloca i32
|
|
%t1796 = alloca ptr
|
|
%t1800 = alloca ptr
|
|
%t1862 = alloca ptr
|
|
%t1863 = 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 @.str6098)
|
|
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 @.str6099)
|
|
%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 @.str6100, ptr @.str6101)
|
|
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 @.str6102, ptr %t53)
|
|
%t55 = call ptr @fn_emit_bind(ptr %t54)
|
|
%t56 = call ptr @fn_val(ptr %t55, ptr @.str6103)
|
|
store ptr %t56, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t57 = load ptr, ptr %t38
|
|
%t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str6104)
|
|
%t59 = icmp ne i32 %t58, 0
|
|
br i1 %t59, label %then12, label %ifend14
|
|
then12:
|
|
%t60 = call ptr @fn_emit_bind(ptr @.str6105)
|
|
%t61 = call ptr @fn_val(ptr %t60, ptr @.str6106)
|
|
store ptr %t61, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t62 = load ptr, ptr %t38
|
|
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str6107)
|
|
%t64 = icmp ne i32 %t63, 0
|
|
br i1 %t64, label %then15, label %ifend17
|
|
then15:
|
|
call void @fn_emit(ptr @.str6108)
|
|
%t65 = call ptr @fn_val(ptr @.str6109, ptr @.str6110)
|
|
store ptr %t65, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t66 = load ptr, ptr %t38
|
|
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str6111)
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then18, label %ifend20
|
|
then18:
|
|
call void @fn_emit(ptr @.str6112)
|
|
%t69 = call ptr @fn_val(ptr @.str6113, ptr @.str6114)
|
|
store ptr %t69, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t70 = load ptr, ptr %t38
|
|
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str6115)
|
|
%t72 = icmp ne i32 %t71, 0
|
|
br i1 %t72, label %then21, label %ifend23
|
|
then21:
|
|
%t73 = call ptr @fn_emit_bind(ptr @.str6116)
|
|
%t74 = call ptr @fn_val(ptr %t73, ptr @.str6117)
|
|
store ptr %t74, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t75 = load ptr, ptr %t38
|
|
%t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str6118)
|
|
%t77 = icmp ne i32 %t76, 0
|
|
br i1 %t77, label %then24, label %ifend26
|
|
then24:
|
|
%t78 = call ptr @fn_emit_bind(ptr @.str6119)
|
|
%t79 = call ptr @fn_val(ptr %t78, ptr @.str6120)
|
|
store ptr %t79, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t80 = load ptr, ptr %t38
|
|
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str6121)
|
|
%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 @.str6122, ptr %t94)
|
|
%t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str6123)
|
|
%t97 = call ptr @fn_emit_bind(ptr %t96)
|
|
%t98 = call ptr @fn_val(ptr %t97, ptr @.str6124)
|
|
store ptr %t98, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t99 = load ptr, ptr %t38
|
|
%t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str6125)
|
|
%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 @.str6126)
|
|
%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 @.str6127)
|
|
%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 @.str6128)
|
|
%t126 = call ptr @fn_val(ptr @.str6129, ptr @.str6130)
|
|
store ptr %t126, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t127 = load ptr, ptr %t38
|
|
%t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str6131)
|
|
%t129 = icmp ne i32 %t128, 0
|
|
br i1 %t129, label %then33, label %ifend35
|
|
then33:
|
|
call void @fn_emit(ptr @.str6132)
|
|
%t130 = call ptr @fn_val(ptr @.str6133, ptr @.str6134)
|
|
store ptr %t130, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t131 = load ptr, ptr %t38
|
|
%t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str6135)
|
|
%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 @.str6136, ptr %t154)
|
|
%t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str6137)
|
|
%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 @.str6138)
|
|
%t162 = call ptr @fn_emit_bind(ptr %t161)
|
|
%t163 = call ptr @fn_val(ptr %t162, ptr @.str6139)
|
|
store ptr %t163, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t164 = load ptr, ptr %t38
|
|
%t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str6140)
|
|
%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 @.str6141)
|
|
%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 @.str6142)
|
|
%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 @.str6143)
|
|
%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 @.str6144)
|
|
%t203 = call ptr @fn_val(ptr @.str6145, ptr @.str6146)
|
|
store ptr %t203, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t204 = load ptr, ptr %t38
|
|
%t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str6147)
|
|
%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 @.str6148, ptr %t218)
|
|
%t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str6149)
|
|
%t221 = call ptr @fn_emit_bind(ptr %t220)
|
|
%t222 = call ptr @fn_val(ptr %t221, ptr @.str6150)
|
|
store ptr %t222, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t223 = load ptr, ptr %t38
|
|
%t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str6151)
|
|
%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 @.str6152, ptr %t237)
|
|
%t239 = call ptr @fn_str_concat(ptr %t238, ptr @.str6153)
|
|
%t240 = call ptr @fn_emit_bind(ptr %t239)
|
|
%t241 = call ptr @fn_val(ptr %t240, ptr @.str6154)
|
|
store ptr %t241, ptr %retval
|
|
br label %ret
|
|
ifend47:
|
|
%t242 = load ptr, ptr %t38
|
|
%t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str6155)
|
|
%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 @.str6156)
|
|
%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 @.str6157)
|
|
%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 @.str6158)
|
|
%t269 = call ptr @fn_val(ptr @.str6159, ptr @.str6160)
|
|
store ptr %t269, ptr %retval
|
|
br label %ret
|
|
ifend50:
|
|
%t270 = load ptr, ptr %t38
|
|
%t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str6161)
|
|
%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 @.str6162, ptr %t284)
|
|
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str6163)
|
|
%t287 = call ptr @fn_emit_bind(ptr %t286)
|
|
%t288 = call ptr @fn_val(ptr %t287, ptr @.str6164)
|
|
store ptr %t288, ptr %retval
|
|
br label %ret
|
|
ifend53:
|
|
%t289 = load ptr, ptr %t38
|
|
%t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str6165)
|
|
%t291 = icmp ne i32 %t290, 0
|
|
br i1 %t291, label %then54, label %ifend56
|
|
then54:
|
|
%t292 = call ptr @fn_emit_bind(ptr @.str6166)
|
|
store ptr %t292, ptr %t293
|
|
%t294 = load ptr, ptr %t293
|
|
%t295 = call ptr @fn_str_concat(ptr @.str6167, ptr %t294)
|
|
%t296 = call ptr @fn_str_concat(ptr %t295, ptr @.str6168)
|
|
%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 @.str6169, ptr %t299)
|
|
%t301 = call ptr @fn_str_concat(ptr %t300, ptr @.str6170)
|
|
%t302 = call ptr @fn_emit_bind(ptr %t301)
|
|
%t303 = call ptr @fn_val(ptr %t302, ptr @.str6171)
|
|
store ptr %t303, ptr %retval
|
|
br label %ret
|
|
ifend56:
|
|
%t304 = load ptr, ptr %t38
|
|
%t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str6172)
|
|
%t306 = icmp ne i32 %t305, 0
|
|
br i1 %t306, label %then57, label %ifend59
|
|
then57:
|
|
%t307 = call ptr @fn_emit_bind(ptr @.str6173)
|
|
%t308 = call ptr @fn_val(ptr %t307, ptr @.str6174)
|
|
store ptr %t308, ptr %retval
|
|
br label %ret
|
|
ifend59:
|
|
%t309 = load ptr, ptr %t38
|
|
%t310 = call i32 @fn_str_eq(ptr %t309, ptr @.str6175)
|
|
%t311 = icmp ne i32 %t310, 0
|
|
br i1 %t311, label %then60, label %ifend62
|
|
then60:
|
|
call void @fn_emit(ptr @.str6176)
|
|
%t312 = call ptr @fn_val(ptr @.str6177, ptr @.str6178)
|
|
store ptr %t312, ptr %retval
|
|
br label %ret
|
|
ifend62:
|
|
%t313 = load ptr, ptr %t38
|
|
%t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str6179)
|
|
%t315 = icmp ne i32 %t314, 0
|
|
br i1 %t315, label %then63, label %ifend65
|
|
then63:
|
|
call void @fn_emit(ptr @.str6180)
|
|
%t316 = call ptr @fn_val(ptr @.str6181, ptr @.str6182)
|
|
store ptr %t316, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t317 = load ptr, ptr %t38
|
|
%t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str6183)
|
|
%t319 = icmp ne i32 %t318, 0
|
|
br i1 %t319, label %then66, label %ifend68
|
|
then66:
|
|
call void @fn_emit(ptr @.str6184)
|
|
%t320 = call ptr @fn_val(ptr @.str6185, ptr @.str6186)
|
|
store ptr %t320, ptr %retval
|
|
br label %ret
|
|
ifend68:
|
|
%t321 = load ptr, ptr %t38
|
|
%t322 = call i32 @fn_str_eq(ptr %t321, ptr @.str6187)
|
|
%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 @.str6188)
|
|
%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 @.str6189)
|
|
%t336 = call ptr @fn_val(ptr @.str6190, ptr @.str6191)
|
|
store ptr %t336, ptr %retval
|
|
br label %ret
|
|
ifend71:
|
|
%t337 = load ptr, ptr %t38
|
|
%t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str6192)
|
|
%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 @.str6193)
|
|
%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 @.str6194)
|
|
%t352 = call ptr @fn_val(ptr @.str6195, ptr @.str6196)
|
|
store ptr %t352, ptr %retval
|
|
br label %ret
|
|
ifend74:
|
|
%t354 = load ptr, ptr %t38
|
|
%t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str6197)
|
|
%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 @.str6198)
|
|
%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 @.str6199)
|
|
%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 @.str6200)
|
|
%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 @.str6201)
|
|
%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 @.str6202)
|
|
%t401 = call ptr @fn_val(ptr @.str6203, ptr @.str6204)
|
|
store ptr %t401, ptr %retval
|
|
br label %ret
|
|
ifend79:
|
|
%t403 = load ptr, ptr %t38
|
|
%t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str6205)
|
|
%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 @.str6206)
|
|
%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 @.str6207, ptr %t434)
|
|
%t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str6208)
|
|
%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 @.str6209)
|
|
%t442 = call ptr @fn_emit_bind(ptr %t441)
|
|
%t443 = call ptr @fn_val(ptr %t442, ptr @.str6210)
|
|
store ptr %t443, ptr %retval
|
|
br label %ret
|
|
ifend84:
|
|
%t444 = load ptr, ptr %t38
|
|
%t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str6211)
|
|
%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 @.str6212)
|
|
%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 @.str6213)
|
|
%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 @.str6214)
|
|
%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 @.str6215)
|
|
%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 @.str6216, ptr %t481)
|
|
%t483 = call ptr @fn_str_concat(ptr %t482, ptr @.str6217)
|
|
%t484 = call ptr @fn_emit_bind(ptr %t483)
|
|
%t485 = call ptr @fn_val(ptr %t484, ptr @.str6218)
|
|
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 @.str6219, ptr %t488)
|
|
%t490 = call ptr @fn_str_concat(ptr %t489, ptr @.str6220)
|
|
%t491 = call ptr @fn_emit_bind(ptr %t490)
|
|
%t492 = call ptr @fn_val(ptr %t491, ptr @.str6221)
|
|
store ptr %t492, ptr %retval
|
|
br label %ret
|
|
ifend93:
|
|
%t493 = load ptr, ptr %t38
|
|
%t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str6222)
|
|
%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 @.str6223)
|
|
%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 @.str6225)
|
|
%t515 = call ptr @fn_str_concat(ptr @.str6224, 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 @.str6226)
|
|
%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 @.str6228)
|
|
%t526 = call ptr @fn_str_concat(ptr @.str6227, 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 @.str6230)
|
|
%t531 = call ptr @fn_str_concat(ptr @.str6229, ptr %t530)
|
|
call void @fn_emit(ptr %t531)
|
|
br label %ifend108
|
|
ifend108:
|
|
br label %ifend105
|
|
ifend105:
|
|
%t532 = call ptr @fn_val(ptr @.str6231, ptr @.str6232)
|
|
store ptr %t532, ptr %retval
|
|
br label %ret
|
|
ifend102:
|
|
%t533 = load ptr, ptr %t38
|
|
%t534 = call i32 @fn_str_eq(ptr %t533, ptr @.str6233)
|
|
%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 @.str6234, ptr %t547)
|
|
%t549 = call ptr @fn_str_concat(ptr %t548, ptr @.str6235)
|
|
%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 @.str6236, ptr %t552)
|
|
%t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str6237)
|
|
%t555 = call ptr @fn_emit_bind(ptr %t554)
|
|
%t556 = call ptr @fn_val(ptr %t555, ptr @.str6238)
|
|
store ptr %t556, ptr %retval
|
|
br label %ret
|
|
ifend111:
|
|
%t557 = load ptr, ptr %t38
|
|
%t558 = call i32 @fn_str_eq(ptr %t557, ptr @.str6239)
|
|
%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 @.str6240, ptr %t571)
|
|
%t573 = call ptr @fn_str_concat(ptr %t572, ptr @.str6241)
|
|
%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 @.str6242, ptr %t576)
|
|
%t578 = call ptr @fn_str_concat(ptr %t577, ptr @.str6243)
|
|
%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 @.str6244, ptr %t581)
|
|
%t583 = call ptr @fn_str_concat(ptr %t582, ptr @.str6245)
|
|
%t584 = call ptr @fn_emit_bind(ptr %t583)
|
|
%t585 = call ptr @fn_val(ptr %t584, ptr @.str6246)
|
|
store ptr %t585, ptr %retval
|
|
br label %ret
|
|
ifend114:
|
|
%t586 = load ptr, ptr %t38
|
|
%t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str6247)
|
|
%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 @.str6248, ptr %t600)
|
|
%t602 = call ptr @fn_str_concat(ptr %t601, ptr @.str6249)
|
|
%t603 = call ptr @fn_emit_bind(ptr %t602)
|
|
%t604 = call ptr @fn_val(ptr %t603, ptr @.str6250)
|
|
store ptr %t604, ptr %retval
|
|
br label %ret
|
|
ifend117:
|
|
%t605 = load ptr, ptr %t38
|
|
%t606 = call i32 @fn_str_eq(ptr %t605, ptr @.str6251)
|
|
%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 @.str6252, ptr %t619)
|
|
%t621 = call ptr @fn_str_concat(ptr %t620, ptr @.str6253)
|
|
%t622 = call ptr @fn_emit_bind(ptr %t621)
|
|
%t623 = call ptr @fn_val(ptr %t622, ptr @.str6254)
|
|
store ptr %t623, ptr %retval
|
|
br label %ret
|
|
ifend120:
|
|
%t624 = load ptr, ptr %t38
|
|
%t625 = call i32 @fn_str_eq(ptr %t624, ptr @.str6255)
|
|
%t626 = icmp ne i32 %t625, 0
|
|
br i1 %t626, label %then121, label %ifend123
|
|
then121:
|
|
store i32 1, ptr @g_g_uses_expect
|
|
%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 @.str6256, ptr %t638)
|
|
%t640 = call ptr @fn_str_concat(ptr %t639, ptr @.str6257)
|
|
%t641 = call ptr @fn_emit_bind(ptr %t640)
|
|
store ptr %t641, ptr %t642
|
|
%t643 = load ptr, ptr @g_g_src_name
|
|
%t644 = call ptr @fn_str_concat(ptr %t643, ptr @.str6258)
|
|
%t645 = load ptr, ptr %t0
|
|
%t646 = getelementptr inbounds %Cmp_Node, ptr %t645, i32 0, i32 8
|
|
%t647 = load i32, ptr %t646
|
|
%t648 = call ptr @fn_itoa(i32 %t647)
|
|
%t649 = call ptr @fn_str_concat(ptr %t644, ptr %t648)
|
|
%t650 = call ptr @fn_str_concat(ptr %t649, ptr @.str6259)
|
|
%t651 = call ptr @fn_emit_str_const(ptr %t650)
|
|
store ptr %t651, ptr %t652
|
|
%t653 = load ptr, ptr %t642
|
|
%t654 = load ptr, ptr %t652
|
|
call void @fn_emit_expect_fail(ptr %t653, ptr %t654, ptr @.str6260, ptr @.str6261)
|
|
%t655 = call ptr @fn_val(ptr @.str6262, ptr @.str6263)
|
|
store ptr %t655, ptr %retval
|
|
br label %ret
|
|
ifend123:
|
|
%t656 = load ptr, ptr %t38
|
|
%t657 = call i32 @fn_str_eq(ptr %t656, ptr @.str6264)
|
|
%t658 = icmp ne i32 %t657, 0
|
|
br i1 %t658, label %then124, label %ifend126
|
|
then124:
|
|
store i32 1, ptr @g_g_uses_expect
|
|
%t659 = load ptr, ptr %t0
|
|
%t660 = getelementptr inbounds %Cmp_Node, ptr %t659, i32 0, i32 7
|
|
%t661 = load ptr, ptr %t660
|
|
%t662 = getelementptr inbounds %LSlice, ptr %t661, i32 0, i32 0
|
|
%t663 = load ptr, ptr %t662
|
|
%t664 = getelementptr inbounds ptr, ptr %t663, i32 0
|
|
%t665 = load ptr, ptr %t664
|
|
%t666 = call ptr @fn_emit_expr(ptr %t665)
|
|
store ptr %t666, ptr %t667
|
|
%t668 = load ptr, ptr %t0
|
|
%t669 = getelementptr inbounds %Cmp_Node, ptr %t668, i32 0, i32 7
|
|
%t670 = load ptr, ptr %t669
|
|
%t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0
|
|
%t672 = load ptr, ptr %t671
|
|
%t673 = getelementptr inbounds ptr, ptr %t672, i32 1
|
|
%t674 = load ptr, ptr %t673
|
|
%t675 = call ptr @fn_emit_expr(ptr %t674)
|
|
store ptr %t675, ptr %t676
|
|
%t677 = load ptr, ptr %t667
|
|
%t678 = getelementptr inbounds %Cmp_Val, ptr %t677, i32 0, i32 0
|
|
%t679 = load ptr, ptr %t678
|
|
%t680 = call ptr @fn_str_concat(ptr @.str6265, ptr %t679)
|
|
%t681 = call ptr @fn_str_concat(ptr %t680, ptr @.str6266)
|
|
%t682 = load ptr, ptr %t676
|
|
%t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0
|
|
%t684 = load ptr, ptr %t683
|
|
%t685 = call ptr @fn_str_concat(ptr %t681, ptr %t684)
|
|
%t686 = call ptr @fn_emit_bind(ptr %t685)
|
|
store ptr %t686, ptr %t687
|
|
%t688 = load ptr, ptr @g_g_src_name
|
|
%t689 = call ptr @fn_str_concat(ptr %t688, ptr @.str6267)
|
|
%t690 = load ptr, ptr %t0
|
|
%t691 = getelementptr inbounds %Cmp_Node, ptr %t690, i32 0, i32 8
|
|
%t692 = load i32, ptr %t691
|
|
%t693 = call ptr @fn_itoa(i32 %t692)
|
|
%t694 = call ptr @fn_str_concat(ptr %t689, ptr %t693)
|
|
%t695 = call ptr @fn_str_concat(ptr %t694, ptr @.str6268)
|
|
%t696 = call ptr @fn_emit_str_const(ptr %t695)
|
|
store ptr %t696, ptr %t697
|
|
%t698 = load ptr, ptr %t687
|
|
%t699 = load ptr, ptr %t697
|
|
%t700 = load ptr, ptr %t667
|
|
%t701 = getelementptr inbounds %Cmp_Val, ptr %t700, i32 0, i32 0
|
|
%t702 = load ptr, ptr %t701
|
|
%t703 = load ptr, ptr %t676
|
|
%t704 = getelementptr inbounds %Cmp_Val, ptr %t703, i32 0, i32 0
|
|
%t705 = load ptr, ptr %t704
|
|
call void @fn_emit_expect_fail(ptr %t698, ptr %t699, ptr %t702, ptr %t705)
|
|
%t706 = call ptr @fn_val(ptr @.str6269, ptr @.str6270)
|
|
store ptr %t706, ptr %retval
|
|
br label %ret
|
|
ifend126:
|
|
%t707 = load ptr, ptr %t38
|
|
%t708 = call i32 @fn_str_eq(ptr %t707, ptr @.str6271)
|
|
%t709 = icmp ne i32 %t708, 0
|
|
br i1 %t709, label %then127, label %ifend129
|
|
then127:
|
|
store i32 1, ptr @g_g_uses_expect
|
|
%t710 = load ptr, ptr %t0
|
|
%t711 = getelementptr inbounds %Cmp_Node, ptr %t710, i32 0, i32 7
|
|
%t712 = load ptr, ptr %t711
|
|
%t713 = getelementptr inbounds %LSlice, ptr %t712, i32 0, i32 0
|
|
%t714 = load ptr, ptr %t713
|
|
%t715 = getelementptr inbounds ptr, ptr %t714, i32 0
|
|
%t716 = load ptr, ptr %t715
|
|
%t717 = call ptr @fn_emit_expr(ptr %t716)
|
|
store ptr %t717, ptr %t718
|
|
%t719 = load ptr, ptr %t0
|
|
%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 1
|
|
%t725 = load ptr, ptr %t724
|
|
%t726 = call ptr @fn_emit_expr(ptr %t725)
|
|
store ptr %t726, ptr %t727
|
|
%t728 = load ptr, ptr %t0
|
|
%t729 = getelementptr inbounds %Cmp_Node, ptr %t728, i32 0, i32 7
|
|
%t730 = load ptr, ptr %t729
|
|
%t731 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 0
|
|
%t732 = load ptr, ptr %t731
|
|
%t733 = getelementptr inbounds ptr, ptr %t732, i32 2
|
|
%t734 = load ptr, ptr %t733
|
|
%t735 = call ptr @fn_emit_expr(ptr %t734)
|
|
store ptr %t735, ptr %t736
|
|
%t737 = load ptr, ptr %t718
|
|
%t738 = getelementptr inbounds %Cmp_Val, ptr %t737, i32 0, i32 0
|
|
%t739 = load ptr, ptr %t738
|
|
%t740 = call ptr @fn_str_concat(ptr @.str6272, ptr %t739)
|
|
%t741 = call ptr @fn_str_concat(ptr %t740, ptr @.str6273)
|
|
%t742 = load ptr, ptr %t727
|
|
%t743 = getelementptr inbounds %Cmp_Val, ptr %t742, i32 0, i32 0
|
|
%t744 = load ptr, ptr %t743
|
|
%t745 = call ptr @fn_str_concat(ptr %t741, ptr %t744)
|
|
%t746 = call ptr @fn_emit_bind(ptr %t745)
|
|
store ptr %t746, ptr %t747
|
|
%t748 = load ptr, ptr %t747
|
|
%t749 = call ptr @fn_str_concat(ptr @.str6274, ptr %t748)
|
|
%t750 = call ptr @fn_emit_bind(ptr %t749)
|
|
store ptr %t750, ptr %t751
|
|
%t752 = load ptr, ptr %t747
|
|
%t753 = call ptr @fn_str_concat(ptr @.str6275, ptr %t752)
|
|
%t754 = call ptr @fn_str_concat(ptr %t753, ptr @.str6276)
|
|
%t755 = call ptr @fn_emit_bind(ptr %t754)
|
|
store ptr %t755, ptr %t756
|
|
%t757 = load ptr, ptr %t756
|
|
%t758 = call ptr @fn_str_concat(ptr @.str6277, ptr %t757)
|
|
%t759 = call ptr @fn_str_concat(ptr %t758, ptr @.str6278)
|
|
%t760 = load ptr, ptr %t751
|
|
%t761 = call ptr @fn_str_concat(ptr %t759, ptr %t760)
|
|
%t762 = call ptr @fn_str_concat(ptr %t761, ptr @.str6279)
|
|
%t763 = load ptr, ptr %t747
|
|
%t764 = call ptr @fn_str_concat(ptr %t762, ptr %t763)
|
|
%t765 = call ptr @fn_emit_bind(ptr %t764)
|
|
store ptr %t765, ptr %t766
|
|
%t767 = load ptr, ptr %t766
|
|
%t768 = call ptr @fn_str_concat(ptr @.str6280, ptr %t767)
|
|
%t769 = call ptr @fn_str_concat(ptr %t768, ptr @.str6281)
|
|
%t770 = load ptr, ptr %t736
|
|
%t771 = getelementptr inbounds %Cmp_Val, ptr %t770, i32 0, i32 0
|
|
%t772 = load ptr, ptr %t771
|
|
%t773 = call ptr @fn_str_concat(ptr %t769, ptr %t772)
|
|
%t774 = call ptr @fn_emit_bind(ptr %t773)
|
|
store ptr %t774, ptr %t775
|
|
%t776 = load ptr, ptr @g_g_src_name
|
|
%t777 = call ptr @fn_str_concat(ptr %t776, ptr @.str6282)
|
|
%t778 = load ptr, ptr %t0
|
|
%t779 = getelementptr inbounds %Cmp_Node, ptr %t778, i32 0, i32 8
|
|
%t780 = load i32, ptr %t779
|
|
%t781 = call ptr @fn_itoa(i32 %t780)
|
|
%t782 = call ptr @fn_str_concat(ptr %t777, ptr %t781)
|
|
%t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str6283)
|
|
%t784 = call ptr @fn_emit_str_const(ptr %t783)
|
|
store ptr %t784, ptr %t785
|
|
%t786 = load ptr, ptr %t775
|
|
%t787 = load ptr, ptr %t785
|
|
%t788 = load ptr, ptr %t718
|
|
%t789 = getelementptr inbounds %Cmp_Val, ptr %t788, i32 0, i32 0
|
|
%t790 = load ptr, ptr %t789
|
|
%t791 = load ptr, ptr %t727
|
|
%t792 = getelementptr inbounds %Cmp_Val, ptr %t791, i32 0, i32 0
|
|
%t793 = load ptr, ptr %t792
|
|
call void @fn_emit_expect_fail(ptr %t786, ptr %t787, ptr %t790, ptr %t793)
|
|
%t794 = call ptr @fn_val(ptr @.str6284, ptr @.str6285)
|
|
store ptr %t794, ptr %retval
|
|
br label %ret
|
|
ifend129:
|
|
%t795 = load ptr, ptr %t38
|
|
%t796 = call i32 @fn_str_eq(ptr %t795, ptr @.str6286)
|
|
%t797 = icmp ne i32 %t796, 0
|
|
br i1 %t797, label %then130, label %ifend132
|
|
then130:
|
|
store i32 1, ptr @g_g_uses_panic
|
|
%t798 = load ptr, ptr %t0
|
|
%t799 = getelementptr inbounds %Cmp_Node, ptr %t798, i32 0, i32 7
|
|
%t800 = load ptr, ptr %t799
|
|
%t801 = getelementptr inbounds %LSlice, ptr %t800, i32 0, i32 0
|
|
%t802 = load ptr, ptr %t801
|
|
%t803 = getelementptr inbounds ptr, ptr %t802, i32 0
|
|
%t804 = load ptr, ptr %t803
|
|
%t805 = call ptr @fn_emit_expr(ptr %t804)
|
|
store ptr %t805, ptr %t806
|
|
%t807 = load ptr, ptr @g_g_src_name
|
|
%t808 = call ptr @fn_str_concat(ptr %t807, ptr @.str6287)
|
|
%t809 = load ptr, ptr %t0
|
|
%t810 = getelementptr inbounds %Cmp_Node, ptr %t809, i32 0, i32 8
|
|
%t811 = load i32, ptr %t810
|
|
%t812 = call ptr @fn_itoa(i32 %t811)
|
|
%t813 = call ptr @fn_str_concat(ptr %t808, ptr %t812)
|
|
%t814 = call ptr @fn_str_concat(ptr %t813, ptr @.str6288)
|
|
%t815 = call ptr @fn_emit_str_const(ptr %t814)
|
|
store ptr %t815, ptr %t816
|
|
%t817 = call ptr @fn_emit_bind(ptr @.str6289)
|
|
store ptr %t817, ptr %t818
|
|
%t819 = load ptr, ptr %t818
|
|
%t820 = call ptr @fn_str_concat(ptr @.str6290, ptr %t819)
|
|
%t821 = call ptr @fn_str_concat(ptr %t820, ptr @.str6291)
|
|
%t822 = load ptr, ptr %t816
|
|
%t823 = call ptr @fn_str_concat(ptr %t821, ptr %t822)
|
|
%t824 = call ptr @fn_str_concat(ptr %t823, ptr @.str6292)
|
|
%t825 = load ptr, ptr %t806
|
|
%t826 = getelementptr inbounds %Cmp_Val, ptr %t825, i32 0, i32 0
|
|
%t827 = load ptr, ptr %t826
|
|
%t828 = call ptr @fn_str_concat(ptr %t824, ptr %t827)
|
|
%t829 = call ptr @fn_str_concat(ptr %t828, ptr @.str6293)
|
|
call void @fn_emit(ptr %t829)
|
|
call void @fn_emit(ptr @.str6294)
|
|
store i32 1, ptr @g_g_term
|
|
%t830 = call ptr @fn_val(ptr @.str6295, ptr @.str6296)
|
|
store ptr %t830, ptr %retval
|
|
br label %ret
|
|
ifend132:
|
|
%t831 = load ptr, ptr %t38
|
|
%t832 = call i32 @fn_str_eq(ptr %t831, ptr @.str6297)
|
|
%t833 = icmp ne i32 %t832, 0
|
|
br i1 %t833, label %then133, label %ifend135
|
|
then133:
|
|
store i32 1, ptr @g_g_uses_panic
|
|
%t834 = load ptr, ptr %t0
|
|
%t835 = getelementptr inbounds %Cmp_Node, ptr %t834, i32 0, i32 7
|
|
%t836 = load ptr, ptr %t835
|
|
%t837 = getelementptr inbounds %LSlice, ptr %t836, i32 0, i32 0
|
|
%t838 = load ptr, ptr %t837
|
|
%t839 = getelementptr inbounds ptr, ptr %t838, i32 0
|
|
%t840 = load ptr, ptr %t839
|
|
%t841 = call ptr @fn_emit_expr(ptr %t840)
|
|
store ptr %t841, ptr %t842
|
|
%t843 = load ptr, ptr %t842
|
|
%t844 = getelementptr inbounds %Cmp_Val, ptr %t843, i32 0, i32 0
|
|
%t845 = load ptr, ptr %t844
|
|
%t846 = call ptr @fn_str_concat(ptr @.str6298, ptr %t845)
|
|
%t847 = call ptr @fn_str_concat(ptr %t846, ptr @.str6299)
|
|
%t848 = call ptr @fn_emit_bind(ptr %t847)
|
|
store ptr %t848, ptr %t849
|
|
%t850 = call ptr @fn_lbl(ptr @.str6300)
|
|
store ptr %t850, ptr %t851
|
|
%t852 = call ptr @fn_lbl(ptr @.str6301)
|
|
store ptr %t852, ptr %t853
|
|
%t854 = load ptr, ptr %t849
|
|
%t855 = call ptr @fn_str_concat(ptr @.str6302, ptr %t854)
|
|
%t856 = call ptr @fn_str_concat(ptr %t855, ptr @.str6303)
|
|
%t857 = load ptr, ptr %t851
|
|
%t858 = call ptr @fn_str_concat(ptr %t856, ptr %t857)
|
|
%t859 = call ptr @fn_str_concat(ptr %t858, ptr @.str6304)
|
|
%t860 = load ptr, ptr %t853
|
|
%t861 = call ptr @fn_str_concat(ptr %t859, ptr %t860)
|
|
%t862 = call ptr @fn_str_concat(ptr %t861, ptr @.str6305)
|
|
call void @fn_emit(ptr %t862)
|
|
%t863 = load ptr, ptr %t853
|
|
%t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str6306)
|
|
call void @fn_emit(ptr %t864)
|
|
%t865 = load ptr, ptr %t0
|
|
%t866 = getelementptr inbounds %Cmp_Node, ptr %t865, i32 0, i32 7
|
|
%t867 = load ptr, ptr %t866
|
|
%t868 = getelementptr inbounds %LSlice, ptr %t867, i32 0, i32 0
|
|
%t869 = load ptr, ptr %t868
|
|
%t870 = getelementptr inbounds ptr, ptr %t869, i32 1
|
|
%t871 = load ptr, ptr %t870
|
|
%t872 = call ptr @fn_emit_expr(ptr %t871)
|
|
store ptr %t872, ptr %t873
|
|
%t874 = load ptr, ptr @g_g_src_name
|
|
%t875 = call ptr @fn_str_concat(ptr %t874, ptr @.str6307)
|
|
%t876 = load ptr, ptr %t0
|
|
%t877 = getelementptr inbounds %Cmp_Node, ptr %t876, i32 0, i32 8
|
|
%t878 = load i32, ptr %t877
|
|
%t879 = call ptr @fn_itoa(i32 %t878)
|
|
%t880 = call ptr @fn_str_concat(ptr %t875, ptr %t879)
|
|
%t881 = call ptr @fn_str_concat(ptr %t880, ptr @.str6308)
|
|
%t882 = call ptr @fn_emit_str_const(ptr %t881)
|
|
store ptr %t882, ptr %t883
|
|
%t884 = call ptr @fn_emit_bind(ptr @.str6309)
|
|
store ptr %t884, ptr %t885
|
|
%t886 = load ptr, ptr %t885
|
|
%t887 = call ptr @fn_str_concat(ptr @.str6310, ptr %t886)
|
|
%t888 = call ptr @fn_str_concat(ptr %t887, ptr @.str6311)
|
|
%t889 = load ptr, ptr %t883
|
|
%t890 = call ptr @fn_str_concat(ptr %t888, ptr %t889)
|
|
%t891 = call ptr @fn_str_concat(ptr %t890, ptr @.str6312)
|
|
%t892 = load ptr, ptr %t873
|
|
%t893 = getelementptr inbounds %Cmp_Val, ptr %t892, i32 0, i32 0
|
|
%t894 = load ptr, ptr %t893
|
|
%t895 = call ptr @fn_str_concat(ptr %t891, ptr %t894)
|
|
%t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str6313)
|
|
call void @fn_emit(ptr %t896)
|
|
call void @fn_emit(ptr @.str6314)
|
|
%t897 = load ptr, ptr %t851
|
|
%t898 = call ptr @fn_str_concat(ptr %t897, ptr @.str6315)
|
|
call void @fn_emit(ptr %t898)
|
|
%t899 = call ptr @fn_val(ptr @.str6316, ptr @.str6317)
|
|
store ptr %t899, ptr %retval
|
|
br label %ret
|
|
ifend135:
|
|
%t901 = load ptr, ptr %t38
|
|
%t902 = call i32 @fn_str_eq(ptr %t901, ptr @.str6318)
|
|
%t903 = icmp ne i32 %t902, 0
|
|
%t904 = zext i1 %t903 to i32
|
|
store i32 %t904, ptr %t900
|
|
br i1 %t903, label %sc136, label %scend137
|
|
sc136:
|
|
%t905 = call ptr @fn_find_fn(ptr @.str6319)
|
|
%t906 = icmp eq ptr %t905, null
|
|
%t907 = zext i1 %t906 to i32
|
|
%t908 = icmp ne i32 %t907, 0
|
|
%t909 = zext i1 %t908 to i32
|
|
store i32 %t909, ptr %t900
|
|
br label %scend137
|
|
scend137:
|
|
%t910 = load i32, ptr %t900
|
|
%t911 = icmp ne i32 %t910, 0
|
|
br i1 %t911, label %then138, label %ifend140
|
|
then138:
|
|
store i32 1, ptr @g_g_uses_result
|
|
%t912 = load ptr, ptr %t0
|
|
%t913 = getelementptr inbounds %Cmp_Node, ptr %t912, i32 0, i32 7
|
|
%t914 = load ptr, ptr %t913
|
|
%t915 = getelementptr inbounds %LSlice, ptr %t914, i32 0, i32 0
|
|
%t916 = load ptr, ptr %t915
|
|
%t917 = getelementptr inbounds ptr, ptr %t916, i32 0
|
|
%t918 = load ptr, ptr %t917
|
|
%t919 = call ptr @fn_emit_expr(ptr %t918)
|
|
store ptr %t919, ptr %t920
|
|
%t921 = call ptr @fn_emit_bind(ptr @.str6320)
|
|
store ptr %t921, ptr %t922
|
|
%t923 = load ptr, ptr %t922
|
|
%t924 = call ptr @fn_str_concat(ptr @.str6321, ptr %t923)
|
|
%t925 = call ptr @fn_str_concat(ptr %t924, ptr @.str6322)
|
|
%t926 = call ptr @fn_emit_bind(ptr %t925)
|
|
store ptr %t926, ptr %t927
|
|
%t928 = load ptr, ptr %t927
|
|
%t929 = call ptr @fn_str_concat(ptr @.str6323, ptr %t928)
|
|
%t930 = call ptr @fn_str_concat(ptr %t929, ptr @.str6324)
|
|
call void @fn_emit(ptr %t930)
|
|
%t931 = load ptr, ptr %t922
|
|
%t932 = call ptr @fn_str_concat(ptr @.str6325, ptr %t931)
|
|
%t933 = call ptr @fn_str_concat(ptr %t932, ptr @.str6326)
|
|
%t934 = call ptr @fn_emit_bind(ptr %t933)
|
|
store ptr %t934, ptr %t935
|
|
%t936 = load ptr, ptr %t920
|
|
%t937 = call ptr @fn_coerce_code(ptr %t936, ptr @.str6328)
|
|
%t938 = call ptr @fn_str_concat(ptr @.str6327, ptr %t937)
|
|
%t939 = call ptr @fn_str_concat(ptr %t938, ptr @.str6329)
|
|
%t940 = load ptr, ptr %t935
|
|
%t941 = call ptr @fn_str_concat(ptr %t939, ptr %t940)
|
|
%t942 = call ptr @fn_str_concat(ptr %t941, ptr @.str6330)
|
|
call void @fn_emit(ptr %t942)
|
|
%t943 = load ptr, ptr %t922
|
|
%t944 = call ptr @fn_str_concat(ptr @.str6331, ptr %t943)
|
|
%t945 = call ptr @fn_str_concat(ptr %t944, ptr @.str6332)
|
|
%t946 = call ptr @fn_emit_bind(ptr %t945)
|
|
store ptr %t946, ptr %t947
|
|
%t948 = load ptr, ptr %t947
|
|
%t949 = call ptr @fn_str_concat(ptr @.str6333, ptr %t948)
|
|
%t950 = call ptr @fn_str_concat(ptr %t949, ptr @.str6334)
|
|
call void @fn_emit(ptr %t950)
|
|
%t951 = load ptr, ptr %t922
|
|
%t952 = call ptr @fn_val(ptr %t951, ptr @.str6335)
|
|
store ptr %t952, ptr %retval
|
|
br label %ret
|
|
ifend140:
|
|
%t954 = load ptr, ptr %t38
|
|
%t955 = call i32 @fn_str_eq(ptr %t954, ptr @.str6336)
|
|
%t956 = icmp ne i32 %t955, 0
|
|
%t957 = zext i1 %t956 to i32
|
|
store i32 %t957, ptr %t953
|
|
br i1 %t956, label %sc141, label %scend142
|
|
sc141:
|
|
%t958 = call ptr @fn_find_fn(ptr @.str6337)
|
|
%t959 = icmp eq ptr %t958, null
|
|
%t960 = zext i1 %t959 to i32
|
|
%t961 = icmp ne i32 %t960, 0
|
|
%t962 = zext i1 %t961 to i32
|
|
store i32 %t962, ptr %t953
|
|
br label %scend142
|
|
scend142:
|
|
%t963 = load i32, ptr %t953
|
|
%t964 = icmp ne i32 %t963, 0
|
|
br i1 %t964, label %then143, label %ifend145
|
|
then143:
|
|
store i32 1, ptr @g_g_uses_result
|
|
%t965 = load ptr, ptr %t0
|
|
%t966 = getelementptr inbounds %Cmp_Node, ptr %t965, i32 0, i32 7
|
|
%t967 = load ptr, ptr %t966
|
|
%t968 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 0
|
|
%t969 = load ptr, ptr %t968
|
|
%t970 = getelementptr inbounds ptr, ptr %t969, i32 0
|
|
%t971 = load ptr, ptr %t970
|
|
%t972 = call ptr @fn_emit_expr(ptr %t971)
|
|
store ptr %t972, ptr %t973
|
|
%t974 = call ptr @fn_emit_bind(ptr @.str6338)
|
|
store ptr %t974, ptr %t975
|
|
%t976 = load ptr, ptr %t975
|
|
%t977 = call ptr @fn_str_concat(ptr @.str6339, ptr %t976)
|
|
%t978 = call ptr @fn_str_concat(ptr %t977, ptr @.str6340)
|
|
%t979 = call ptr @fn_emit_bind(ptr %t978)
|
|
store ptr %t979, ptr %t980
|
|
%t981 = load ptr, ptr %t980
|
|
%t982 = call ptr @fn_str_concat(ptr @.str6341, ptr %t981)
|
|
%t983 = call ptr @fn_str_concat(ptr %t982, ptr @.str6342)
|
|
call void @fn_emit(ptr %t983)
|
|
%t984 = load ptr, ptr %t975
|
|
%t985 = call ptr @fn_str_concat(ptr @.str6343, ptr %t984)
|
|
%t986 = call ptr @fn_str_concat(ptr %t985, ptr @.str6344)
|
|
%t987 = call ptr @fn_emit_bind(ptr %t986)
|
|
store ptr %t987, ptr %t988
|
|
%t989 = load ptr, ptr %t988
|
|
%t990 = call ptr @fn_str_concat(ptr @.str6345, ptr %t989)
|
|
%t991 = call ptr @fn_str_concat(ptr %t990, ptr @.str6346)
|
|
call void @fn_emit(ptr %t991)
|
|
%t992 = load ptr, ptr %t975
|
|
%t993 = call ptr @fn_str_concat(ptr @.str6347, ptr %t992)
|
|
%t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str6348)
|
|
%t995 = call ptr @fn_emit_bind(ptr %t994)
|
|
store ptr %t995, ptr %t996
|
|
%t997 = load ptr, ptr %t973
|
|
%t998 = getelementptr inbounds %Cmp_Val, ptr %t997, i32 0, i32 0
|
|
%t999 = load ptr, ptr %t998
|
|
%t1000 = call ptr @fn_str_concat(ptr @.str6349, ptr %t999)
|
|
%t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str6350)
|
|
%t1002 = load ptr, ptr %t996
|
|
%t1003 = call ptr @fn_str_concat(ptr %t1001, ptr %t1002)
|
|
%t1004 = call ptr @fn_str_concat(ptr %t1003, ptr @.str6351)
|
|
call void @fn_emit(ptr %t1004)
|
|
%t1005 = load ptr, ptr %t975
|
|
%t1006 = call ptr @fn_val(ptr %t1005, ptr @.str6352)
|
|
store ptr %t1006, ptr %retval
|
|
br label %ret
|
|
ifend145:
|
|
%t1008 = load ptr, ptr %t38
|
|
%t1009 = call i32 @fn_str_eq(ptr %t1008, ptr @.str6353)
|
|
%t1010 = icmp ne i32 %t1009, 0
|
|
%t1011 = zext i1 %t1010 to i32
|
|
store i32 %t1011, ptr %t1007
|
|
br i1 %t1010, label %sc146, label %scend147
|
|
sc146:
|
|
%t1012 = call ptr @fn_find_fn(ptr @.str6354)
|
|
%t1013 = icmp eq ptr %t1012, null
|
|
%t1014 = zext i1 %t1013 to i32
|
|
%t1015 = icmp ne i32 %t1014, 0
|
|
%t1016 = zext i1 %t1015 to i32
|
|
store i32 %t1016, ptr %t1007
|
|
br label %scend147
|
|
scend147:
|
|
%t1017 = load i32, ptr %t1007
|
|
%t1018 = icmp ne i32 %t1017, 0
|
|
br i1 %t1018, label %then148, label %ifend150
|
|
then148:
|
|
%t1019 = load ptr, ptr %t0
|
|
%t1020 = getelementptr inbounds %Cmp_Node, ptr %t1019, i32 0, i32 7
|
|
%t1021 = load ptr, ptr %t1020
|
|
%t1022 = getelementptr inbounds %LSlice, ptr %t1021, i32 0, i32 0
|
|
%t1023 = load ptr, ptr %t1022
|
|
%t1024 = getelementptr inbounds ptr, ptr %t1023, i32 0
|
|
%t1025 = load ptr, ptr %t1024
|
|
%t1026 = call ptr @fn_emit_expr(ptr %t1025)
|
|
store ptr %t1026, ptr %t1027
|
|
%t1028 = load ptr, ptr %t1027
|
|
%t1029 = getelementptr inbounds %Cmp_Val, ptr %t1028, i32 0, i32 0
|
|
%t1030 = load ptr, ptr %t1029
|
|
%t1031 = call ptr @fn_str_concat(ptr @.str6355, ptr %t1030)
|
|
%t1032 = call ptr @fn_str_concat(ptr %t1031, ptr @.str6356)
|
|
%t1033 = call ptr @fn_emit_bind(ptr %t1032)
|
|
store ptr %t1033, ptr %t1034
|
|
%t1035 = load ptr, ptr %t1034
|
|
%t1036 = call ptr @fn_str_concat(ptr @.str6357, ptr %t1035)
|
|
%t1037 = call ptr @fn_emit_bind(ptr %t1036)
|
|
store ptr %t1037, ptr %t1038
|
|
%t1039 = load ptr, ptr %t1038
|
|
%t1040 = call ptr @fn_str_concat(ptr @.str6358, ptr %t1039)
|
|
%t1041 = call ptr @fn_str_concat(ptr %t1040, ptr @.str6359)
|
|
%t1042 = call ptr @fn_emit_bind(ptr %t1041)
|
|
store ptr %t1042, ptr %t1043
|
|
%t1044 = load ptr, ptr %t1043
|
|
%t1045 = call ptr @fn_str_concat(ptr @.str6360, ptr %t1044)
|
|
%t1046 = call ptr @fn_str_concat(ptr %t1045, ptr @.str6361)
|
|
%t1047 = call ptr @fn_emit_bind(ptr %t1046)
|
|
%t1048 = call ptr @fn_val(ptr %t1047, ptr @.str6362)
|
|
store ptr %t1048, ptr %retval
|
|
br label %ret
|
|
ifend150:
|
|
%t1050 = load ptr, ptr %t38
|
|
%t1051 = call i32 @fn_str_eq(ptr %t1050, ptr @.str6363)
|
|
%t1052 = icmp ne i32 %t1051, 0
|
|
%t1053 = zext i1 %t1052 to i32
|
|
store i32 %t1053, ptr %t1049
|
|
br i1 %t1052, label %sc151, label %scend152
|
|
sc151:
|
|
%t1054 = call ptr @fn_find_fn(ptr @.str6364)
|
|
%t1055 = icmp eq ptr %t1054, null
|
|
%t1056 = zext i1 %t1055 to i32
|
|
%t1057 = icmp ne i32 %t1056, 0
|
|
%t1058 = zext i1 %t1057 to i32
|
|
store i32 %t1058, ptr %t1049
|
|
br label %scend152
|
|
scend152:
|
|
%t1059 = load i32, ptr %t1049
|
|
%t1060 = icmp ne i32 %t1059, 0
|
|
br i1 %t1060, label %then153, label %ifend155
|
|
then153:
|
|
%t1061 = load ptr, ptr %t0
|
|
%t1062 = getelementptr inbounds %Cmp_Node, ptr %t1061, i32 0, i32 7
|
|
%t1063 = load ptr, ptr %t1062
|
|
%t1064 = getelementptr inbounds %LSlice, ptr %t1063, i32 0, i32 0
|
|
%t1065 = load ptr, ptr %t1064
|
|
%t1066 = getelementptr inbounds ptr, ptr %t1065, i32 0
|
|
%t1067 = load ptr, ptr %t1066
|
|
%t1068 = call ptr @fn_emit_expr(ptr %t1067)
|
|
store ptr %t1068, ptr %t1069
|
|
%t1070 = load ptr, ptr %t1069
|
|
%t1071 = getelementptr inbounds %Cmp_Val, ptr %t1070, i32 0, i32 0
|
|
%t1072 = load ptr, ptr %t1071
|
|
%t1073 = call ptr @fn_str_concat(ptr @.str6365, ptr %t1072)
|
|
%t1074 = call ptr @fn_str_concat(ptr %t1073, ptr @.str6366)
|
|
%t1075 = call ptr @fn_emit_bind(ptr %t1074)
|
|
store ptr %t1075, ptr %t1076
|
|
%t1077 = load ptr, ptr %t1076
|
|
%t1078 = call ptr @fn_str_concat(ptr @.str6367, ptr %t1077)
|
|
%t1079 = call ptr @fn_emit_bind(ptr %t1078)
|
|
store ptr %t1079, ptr %t1080
|
|
%t1081 = load ptr, ptr %t1080
|
|
%t1082 = call ptr @fn_str_concat(ptr @.str6368, ptr %t1081)
|
|
%t1083 = call ptr @fn_str_concat(ptr %t1082, ptr @.str6369)
|
|
%t1084 = call ptr @fn_emit_bind(ptr %t1083)
|
|
store ptr %t1084, ptr %t1085
|
|
%t1086 = load ptr, ptr %t1085
|
|
%t1087 = call ptr @fn_str_concat(ptr @.str6370, ptr %t1086)
|
|
%t1088 = call ptr @fn_str_concat(ptr %t1087, ptr @.str6371)
|
|
%t1089 = call ptr @fn_emit_bind(ptr %t1088)
|
|
%t1090 = call ptr @fn_val(ptr %t1089, ptr @.str6372)
|
|
store ptr %t1090, ptr %retval
|
|
br label %ret
|
|
ifend155:
|
|
%t1091 = load ptr, ptr %t38
|
|
%t1092 = call i32 @fn_str_eq(ptr %t1091, ptr @.str6373)
|
|
%t1093 = icmp ne i32 %t1092, 0
|
|
br i1 %t1093, label %then156, label %ifend158
|
|
then156:
|
|
%t1094 = load ptr, ptr %t0
|
|
%t1095 = getelementptr inbounds %Cmp_Node, ptr %t1094, i32 0, i32 7
|
|
%t1096 = load ptr, ptr %t1095
|
|
%t1097 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 0
|
|
%t1098 = load ptr, ptr %t1097
|
|
%t1099 = getelementptr inbounds ptr, ptr %t1098, i32 0
|
|
%t1100 = load ptr, ptr %t1099
|
|
%t1101 = call ptr @fn_emit_expr(ptr %t1100)
|
|
store ptr %t1101, ptr %t1102
|
|
%t1103 = load ptr, ptr %t1102
|
|
%t1104 = getelementptr inbounds %Cmp_Val, ptr %t1103, i32 0, i32 0
|
|
%t1105 = load ptr, ptr %t1104
|
|
%t1106 = call ptr @fn_str_concat(ptr @.str6374, ptr %t1105)
|
|
%t1107 = call ptr @fn_str_concat(ptr %t1106, ptr @.str6375)
|
|
%t1108 = call ptr @fn_emit_bind(ptr %t1107)
|
|
%t1109 = call ptr @fn_val(ptr %t1108, ptr @.str6376)
|
|
store ptr %t1109, ptr %retval
|
|
br label %ret
|
|
ifend158:
|
|
%t1110 = load ptr, ptr %t38
|
|
%t1111 = call i32 @fn_str_eq(ptr %t1110, ptr @.str6377)
|
|
%t1112 = icmp ne i32 %t1111, 0
|
|
br i1 %t1112, label %then159, label %ifend161
|
|
then159:
|
|
%t1113 = load ptr, ptr %t0
|
|
%t1114 = getelementptr inbounds %Cmp_Node, ptr %t1113, i32 0, i32 7
|
|
%t1115 = load ptr, ptr %t1114
|
|
%t1116 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 0
|
|
%t1117 = load ptr, ptr %t1116
|
|
%t1118 = getelementptr inbounds ptr, ptr %t1117, i32 0
|
|
%t1119 = load ptr, ptr %t1118
|
|
%t1120 = call ptr @fn_emit_expr(ptr %t1119)
|
|
store ptr %t1120, ptr %t1121
|
|
%t1122 = load ptr, ptr %t0
|
|
%t1123 = getelementptr inbounds %Cmp_Node, ptr %t1122, i32 0, i32 7
|
|
%t1124 = load ptr, ptr %t1123
|
|
%t1125 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 0
|
|
%t1126 = load ptr, ptr %t1125
|
|
%t1127 = getelementptr inbounds ptr, ptr %t1126, i32 1
|
|
%t1128 = load ptr, ptr %t1127
|
|
%t1129 = call ptr @fn_emit_expr(ptr %t1128)
|
|
store ptr %t1129, ptr %t1130
|
|
%t1131 = load ptr, ptr %t1121
|
|
%t1132 = getelementptr inbounds %Cmp_Val, ptr %t1131, i32 0, i32 0
|
|
%t1133 = load ptr, ptr %t1132
|
|
%t1134 = call ptr @fn_str_concat(ptr @.str6378, ptr %t1133)
|
|
%t1135 = call ptr @fn_str_concat(ptr %t1134, ptr @.str6379)
|
|
%t1136 = load ptr, ptr %t1130
|
|
%t1137 = getelementptr inbounds %Cmp_Val, ptr %t1136, i32 0, i32 0
|
|
%t1138 = load ptr, ptr %t1137
|
|
%t1139 = call ptr @fn_str_concat(ptr %t1135, ptr %t1138)
|
|
%t1140 = call ptr @fn_str_concat(ptr %t1139, ptr @.str6380)
|
|
%t1141 = call ptr @fn_emit_bind(ptr %t1140)
|
|
%t1142 = call ptr @fn_val(ptr %t1141, ptr @.str6381)
|
|
store ptr %t1142, ptr %retval
|
|
br label %ret
|
|
ifend161:
|
|
%t1143 = load ptr, ptr %t38
|
|
%t1144 = call i32 @fn_str_eq(ptr %t1143, ptr @.str6382)
|
|
%t1145 = icmp ne i32 %t1144, 0
|
|
br i1 %t1145, label %then162, label %ifend164
|
|
then162:
|
|
%t1146 = load ptr, ptr %t0
|
|
%t1147 = getelementptr inbounds %Cmp_Node, ptr %t1146, i32 0, i32 7
|
|
%t1148 = load ptr, ptr %t1147
|
|
%t1149 = getelementptr inbounds %LSlice, ptr %t1148, i32 0, i32 0
|
|
%t1150 = load ptr, ptr %t1149
|
|
%t1151 = getelementptr inbounds ptr, ptr %t1150, i32 0
|
|
%t1152 = load ptr, ptr %t1151
|
|
%t1153 = call ptr @fn_emit_expr(ptr %t1152)
|
|
store ptr %t1153, ptr %t1154
|
|
%t1155 = load ptr, ptr %t0
|
|
%t1156 = getelementptr inbounds %Cmp_Node, ptr %t1155, i32 0, i32 7
|
|
%t1157 = load ptr, ptr %t1156
|
|
%t1158 = getelementptr inbounds %LSlice, ptr %t1157, i32 0, i32 0
|
|
%t1159 = load ptr, ptr %t1158
|
|
%t1160 = getelementptr inbounds ptr, ptr %t1159, i32 1
|
|
%t1161 = load ptr, ptr %t1160
|
|
%t1162 = call ptr @fn_emit_expr(ptr %t1161)
|
|
store ptr %t1162, ptr %t1163
|
|
%t1164 = load ptr, ptr %t0
|
|
%t1165 = getelementptr inbounds %Cmp_Node, ptr %t1164, i32 0, i32 7
|
|
%t1166 = load ptr, ptr %t1165
|
|
%t1167 = getelementptr inbounds %LSlice, ptr %t1166, i32 0, i32 0
|
|
%t1168 = load ptr, ptr %t1167
|
|
%t1169 = getelementptr inbounds ptr, ptr %t1168, i32 2
|
|
%t1170 = load ptr, ptr %t1169
|
|
%t1171 = call ptr @fn_emit_expr(ptr %t1170)
|
|
store ptr %t1171, ptr %t1172
|
|
%t1173 = load ptr, ptr %t1154
|
|
%t1174 = getelementptr inbounds %Cmp_Val, ptr %t1173, i32 0, i32 0
|
|
%t1175 = load ptr, ptr %t1174
|
|
%t1176 = call ptr @fn_str_concat(ptr @.str6383, ptr %t1175)
|
|
%t1177 = call ptr @fn_str_concat(ptr %t1176, ptr @.str6384)
|
|
%t1178 = load ptr, ptr %t1163
|
|
%t1179 = getelementptr inbounds %Cmp_Val, ptr %t1178, i32 0, i32 0
|
|
%t1180 = load ptr, ptr %t1179
|
|
%t1181 = call ptr @fn_str_concat(ptr %t1177, ptr %t1180)
|
|
%t1182 = call ptr @fn_str_concat(ptr %t1181, ptr @.str6385)
|
|
%t1183 = load ptr, ptr %t1172
|
|
%t1184 = getelementptr inbounds %Cmp_Val, ptr %t1183, i32 0, i32 0
|
|
%t1185 = load ptr, ptr %t1184
|
|
%t1186 = call ptr @fn_str_concat(ptr %t1182, ptr %t1185)
|
|
%t1187 = call ptr @fn_str_concat(ptr %t1186, ptr @.str6386)
|
|
%t1188 = call ptr @fn_emit_bind(ptr %t1187)
|
|
store ptr %t1188, ptr %t1189
|
|
%t1190 = load ptr, ptr %t1189
|
|
%t1191 = call ptr @fn_str_concat(ptr @.str6387, ptr %t1190)
|
|
%t1192 = call ptr @fn_str_concat(ptr %t1191, ptr @.str6388)
|
|
%t1193 = call ptr @fn_emit_bind(ptr %t1192)
|
|
%t1194 = call ptr @fn_val(ptr %t1193, ptr @.str6389)
|
|
store ptr %t1194, ptr %retval
|
|
br label %ret
|
|
ifend164:
|
|
%t1195 = load ptr, ptr %t38
|
|
%t1196 = call i32 @fn_str_eq(ptr %t1195, ptr @.str6390)
|
|
%t1197 = icmp ne i32 %t1196, 0
|
|
br i1 %t1197, label %then165, label %ifend167
|
|
then165:
|
|
%t1198 = load ptr, ptr %t0
|
|
%t1199 = getelementptr inbounds %Cmp_Node, ptr %t1198, i32 0, i32 7
|
|
%t1200 = load ptr, ptr %t1199
|
|
%t1201 = getelementptr inbounds %LSlice, ptr %t1200, i32 0, i32 0
|
|
%t1202 = load ptr, ptr %t1201
|
|
%t1203 = getelementptr inbounds ptr, ptr %t1202, i32 0
|
|
%t1204 = load ptr, ptr %t1203
|
|
%t1205 = call ptr @fn_emit_expr(ptr %t1204)
|
|
store ptr %t1205, ptr %t1206
|
|
%t1207 = load ptr, ptr %t0
|
|
%t1208 = getelementptr inbounds %Cmp_Node, ptr %t1207, i32 0, i32 7
|
|
%t1209 = load ptr, ptr %t1208
|
|
%t1210 = getelementptr inbounds %LSlice, ptr %t1209, i32 0, i32 0
|
|
%t1211 = load ptr, ptr %t1210
|
|
%t1212 = getelementptr inbounds ptr, ptr %t1211, i32 1
|
|
%t1213 = load ptr, ptr %t1212
|
|
%t1214 = call ptr @fn_emit_expr(ptr %t1213)
|
|
store ptr %t1214, ptr %t1215
|
|
%t1216 = load ptr, ptr %t0
|
|
%t1217 = getelementptr inbounds %Cmp_Node, ptr %t1216, i32 0, i32 7
|
|
%t1218 = load ptr, ptr %t1217
|
|
%t1219 = getelementptr inbounds %LSlice, ptr %t1218, i32 0, i32 0
|
|
%t1220 = load ptr, ptr %t1219
|
|
%t1221 = getelementptr inbounds ptr, ptr %t1220, i32 2
|
|
%t1222 = load ptr, ptr %t1221
|
|
%t1223 = call ptr @fn_emit_expr(ptr %t1222)
|
|
store ptr %t1223, ptr %t1224
|
|
%t1225 = load ptr, ptr %t0
|
|
%t1226 = getelementptr inbounds %Cmp_Node, ptr %t1225, i32 0, i32 7
|
|
%t1227 = load ptr, ptr %t1226
|
|
%t1228 = getelementptr inbounds %LSlice, ptr %t1227, i32 0, i32 0
|
|
%t1229 = load ptr, ptr %t1228
|
|
%t1230 = getelementptr inbounds ptr, ptr %t1229, i32 3
|
|
%t1231 = load ptr, ptr %t1230
|
|
%t1232 = call ptr @fn_emit_expr(ptr %t1231)
|
|
store ptr %t1232, ptr %t1233
|
|
%t1234 = load ptr, ptr %t1233
|
|
%t1235 = getelementptr inbounds %Cmp_Val, ptr %t1234, i32 0, i32 0
|
|
%t1236 = load ptr, ptr %t1235
|
|
%t1237 = call ptr @fn_str_concat(ptr @.str6391, ptr %t1236)
|
|
%t1238 = call ptr @fn_str_concat(ptr %t1237, ptr @.str6392)
|
|
%t1239 = call ptr @fn_emit_bind(ptr %t1238)
|
|
store ptr %t1239, ptr %t1240
|
|
call void @fn_emit(ptr @.str6393)
|
|
%t1241 = load ptr, ptr %t1206
|
|
%t1242 = getelementptr inbounds %Cmp_Val, ptr %t1241, i32 0, i32 0
|
|
%t1243 = load ptr, ptr %t1242
|
|
call void @fn_emit(ptr %t1243)
|
|
call void @fn_emit(ptr @.str6394)
|
|
%t1244 = load ptr, ptr %t1215
|
|
%t1245 = getelementptr inbounds %Cmp_Val, ptr %t1244, i32 0, i32 0
|
|
%t1246 = load ptr, ptr %t1245
|
|
call void @fn_emit(ptr %t1246)
|
|
call void @fn_emit(ptr @.str6395)
|
|
%t1247 = load ptr, ptr %t1224
|
|
%t1248 = getelementptr inbounds %Cmp_Val, ptr %t1247, i32 0, i32 0
|
|
%t1249 = load ptr, ptr %t1248
|
|
call void @fn_emit(ptr %t1249)
|
|
call void @fn_emit(ptr @.str6396)
|
|
%t1250 = load ptr, ptr %t1240
|
|
call void @fn_emit(ptr %t1250)
|
|
call void @fn_emit(ptr @.str6397)
|
|
%t1251 = call ptr @fn_val(ptr @.str6398, ptr @.str6399)
|
|
store ptr %t1251, ptr %retval
|
|
br label %ret
|
|
ifend167:
|
|
%t1252 = load ptr, ptr %t38
|
|
%t1253 = call i32 @fn_str_eq(ptr %t1252, ptr @.str6400)
|
|
%t1254 = icmp ne i32 %t1253, 0
|
|
br i1 %t1254, label %then168, label %ifend170
|
|
then168:
|
|
%t1255 = load ptr, ptr %t0
|
|
%t1256 = getelementptr inbounds %Cmp_Node, ptr %t1255, i32 0, i32 7
|
|
%t1257 = load ptr, ptr %t1256
|
|
%t1258 = getelementptr inbounds %LSlice, ptr %t1257, i32 0, i32 0
|
|
%t1259 = load ptr, ptr %t1258
|
|
%t1260 = getelementptr inbounds ptr, ptr %t1259, i32 0
|
|
%t1261 = load ptr, ptr %t1260
|
|
%t1262 = call ptr @fn_emit_expr(ptr %t1261)
|
|
store ptr %t1262, ptr %t1263
|
|
%t1264 = load ptr, ptr %t0
|
|
%t1265 = getelementptr inbounds %Cmp_Node, ptr %t1264, i32 0, i32 7
|
|
%t1266 = load ptr, ptr %t1265
|
|
%t1267 = getelementptr inbounds %LSlice, ptr %t1266, i32 0, i32 0
|
|
%t1268 = load ptr, ptr %t1267
|
|
%t1269 = getelementptr inbounds ptr, ptr %t1268, i32 1
|
|
%t1270 = load ptr, ptr %t1269
|
|
%t1271 = call ptr @fn_emit_expr(ptr %t1270)
|
|
store ptr %t1271, ptr %t1272
|
|
%t1273 = load ptr, ptr %t1263
|
|
%t1274 = getelementptr inbounds %Cmp_Val, ptr %t1273, i32 0, i32 0
|
|
%t1275 = load ptr, ptr %t1274
|
|
%t1276 = call ptr @fn_str_concat(ptr @.str6401, ptr %t1275)
|
|
%t1277 = call ptr @fn_str_concat(ptr %t1276, ptr @.str6402)
|
|
%t1278 = load ptr, ptr %t1272
|
|
%t1279 = getelementptr inbounds %Cmp_Val, ptr %t1278, i32 0, i32 0
|
|
%t1280 = load ptr, ptr %t1279
|
|
%t1281 = call ptr @fn_str_concat(ptr %t1277, ptr %t1280)
|
|
%t1282 = call ptr @fn_str_concat(ptr %t1281, ptr @.str6403)
|
|
%t1283 = call ptr @fn_emit_bind(ptr %t1282)
|
|
%t1284 = call ptr @fn_val(ptr %t1283, ptr @.str6404)
|
|
store ptr %t1284, ptr %retval
|
|
br label %ret
|
|
ifend170:
|
|
%t1285 = load ptr, ptr %t38
|
|
%t1286 = call i32 @fn_str_eq(ptr %t1285, ptr @.str6405)
|
|
%t1287 = icmp ne i32 %t1286, 0
|
|
br i1 %t1287, label %then171, label %ifend173
|
|
then171:
|
|
%t1288 = call ptr @fn_emit_bind(ptr @.str6406)
|
|
%t1289 = call ptr @fn_val(ptr %t1288, ptr @.str6407)
|
|
store ptr %t1289, ptr %retval
|
|
br label %ret
|
|
ifend173:
|
|
%t1290 = load ptr, ptr %t38
|
|
%t1291 = call i32 @fn_str_eq(ptr %t1290, ptr @.str6408)
|
|
%t1292 = icmp ne i32 %t1291, 0
|
|
br i1 %t1292, label %then174, label %ifend176
|
|
then174:
|
|
%t1293 = load ptr, ptr %t0
|
|
%t1294 = getelementptr inbounds %Cmp_Node, ptr %t1293, i32 0, i32 7
|
|
%t1295 = load ptr, ptr %t1294
|
|
%t1296 = getelementptr inbounds %LSlice, ptr %t1295, i32 0, i32 0
|
|
%t1297 = load ptr, ptr %t1296
|
|
%t1298 = getelementptr inbounds ptr, ptr %t1297, i32 0
|
|
%t1299 = load ptr, ptr %t1298
|
|
%t1300 = call ptr @fn_emit_expr(ptr %t1299)
|
|
store ptr %t1300, ptr %t1301
|
|
%t1302 = load ptr, ptr %t1301
|
|
%t1303 = getelementptr inbounds %Cmp_Val, ptr %t1302, i32 0, i32 0
|
|
%t1304 = load ptr, ptr %t1303
|
|
%t1305 = call ptr @fn_str_concat(ptr @.str6409, ptr %t1304)
|
|
%t1306 = call ptr @fn_str_concat(ptr %t1305, ptr @.str6410)
|
|
%t1307 = call ptr @fn_emit_bind(ptr %t1306)
|
|
%t1308 = call ptr @fn_val(ptr %t1307, ptr @.str6411)
|
|
store ptr %t1308, ptr %retval
|
|
br label %ret
|
|
ifend176:
|
|
%t1309 = load ptr, ptr %t38
|
|
%t1310 = call i32 @fn_str_eq(ptr %t1309, ptr @.str6412)
|
|
%t1311 = icmp ne i32 %t1310, 0
|
|
br i1 %t1311, label %then177, label %ifend179
|
|
then177:
|
|
%t1312 = load ptr, ptr %t0
|
|
%t1313 = getelementptr inbounds %Cmp_Node, ptr %t1312, i32 0, i32 7
|
|
%t1314 = load ptr, ptr %t1313
|
|
%t1315 = getelementptr inbounds %LSlice, ptr %t1314, i32 0, i32 0
|
|
%t1316 = load ptr, ptr %t1315
|
|
%t1317 = getelementptr inbounds ptr, ptr %t1316, i32 0
|
|
%t1318 = load ptr, ptr %t1317
|
|
%t1319 = call ptr @fn_emit_expr(ptr %t1318)
|
|
store ptr %t1319, ptr %t1320
|
|
%t1321 = load ptr, ptr %t1320
|
|
%t1322 = getelementptr inbounds %Cmp_Val, ptr %t1321, i32 0, i32 0
|
|
%t1323 = load ptr, ptr %t1322
|
|
%t1324 = call ptr @fn_str_concat(ptr @.str6413, ptr %t1323)
|
|
%t1325 = call ptr @fn_str_concat(ptr %t1324, ptr @.str6414)
|
|
%t1326 = call ptr @fn_emit_bind(ptr %t1325)
|
|
%t1327 = call ptr @fn_val(ptr %t1326, ptr @.str6415)
|
|
store ptr %t1327, ptr %retval
|
|
br label %ret
|
|
ifend179:
|
|
%t1328 = load ptr, ptr %t38
|
|
%t1329 = call i32 @fn_str_eq(ptr %t1328, ptr @.str6416)
|
|
%t1330 = icmp ne i32 %t1329, 0
|
|
br i1 %t1330, label %then180, label %ifend182
|
|
then180:
|
|
%t1331 = load ptr, ptr %t0
|
|
%t1332 = getelementptr inbounds %Cmp_Node, ptr %t1331, i32 0, i32 7
|
|
%t1333 = load ptr, ptr %t1332
|
|
%t1334 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 0
|
|
%t1335 = load ptr, ptr %t1334
|
|
%t1336 = getelementptr inbounds ptr, ptr %t1335, i32 0
|
|
%t1337 = load ptr, ptr %t1336
|
|
%t1338 = call ptr @fn_emit_expr(ptr %t1337)
|
|
store ptr %t1338, ptr %t1339
|
|
%t1340 = load ptr, ptr %t0
|
|
%t1341 = getelementptr inbounds %Cmp_Node, ptr %t1340, i32 0, i32 7
|
|
%t1342 = load ptr, ptr %t1341
|
|
%t1343 = getelementptr inbounds %LSlice, ptr %t1342, i32 0, i32 0
|
|
%t1344 = load ptr, ptr %t1343
|
|
%t1345 = getelementptr inbounds ptr, ptr %t1344, i32 1
|
|
%t1346 = load ptr, ptr %t1345
|
|
%t1347 = call ptr @fn_emit_expr(ptr %t1346)
|
|
store ptr %t1347, ptr %t1348
|
|
%t1349 = load ptr, ptr %t1339
|
|
%t1350 = getelementptr inbounds %Cmp_Val, ptr %t1349, i32 0, i32 0
|
|
%t1351 = load ptr, ptr %t1350
|
|
%t1352 = call ptr @fn_str_concat(ptr @.str6417, ptr %t1351)
|
|
%t1353 = call ptr @fn_str_concat(ptr %t1352, ptr @.str6418)
|
|
%t1354 = load ptr, ptr %t1348
|
|
%t1355 = getelementptr inbounds %Cmp_Val, ptr %t1354, i32 0, i32 0
|
|
%t1356 = load ptr, ptr %t1355
|
|
%t1357 = call ptr @fn_str_concat(ptr %t1353, ptr %t1356)
|
|
%t1358 = call ptr @fn_str_concat(ptr %t1357, ptr @.str6419)
|
|
%t1359 = call ptr @fn_emit_bind(ptr %t1358)
|
|
%t1360 = call ptr @fn_val(ptr %t1359, ptr @.str6420)
|
|
store ptr %t1360, ptr %retval
|
|
br label %ret
|
|
ifend182:
|
|
%t1361 = load ptr, ptr %t38
|
|
%t1362 = call i32 @fn_str_eq(ptr %t1361, ptr @.str6421)
|
|
%t1363 = icmp ne i32 %t1362, 0
|
|
br i1 %t1363, label %then183, label %ifend185
|
|
then183:
|
|
%t1364 = load ptr, ptr %t0
|
|
%t1365 = getelementptr inbounds %Cmp_Node, ptr %t1364, i32 0, i32 7
|
|
%t1366 = load ptr, ptr %t1365
|
|
%t1367 = getelementptr inbounds %LSlice, ptr %t1366, i32 0, i32 0
|
|
%t1368 = load ptr, ptr %t1367
|
|
%t1369 = getelementptr inbounds ptr, ptr %t1368, i32 0
|
|
%t1370 = load ptr, ptr %t1369
|
|
%t1371 = call ptr @fn_emit_expr(ptr %t1370)
|
|
store ptr %t1371, ptr %t1372
|
|
%t1373 = load ptr, ptr %t0
|
|
%t1374 = getelementptr inbounds %Cmp_Node, ptr %t1373, i32 0, i32 7
|
|
%t1375 = load ptr, ptr %t1374
|
|
%t1376 = getelementptr inbounds %LSlice, ptr %t1375, i32 0, i32 0
|
|
%t1377 = load ptr, ptr %t1376
|
|
%t1378 = getelementptr inbounds ptr, ptr %t1377, i32 1
|
|
%t1379 = load ptr, ptr %t1378
|
|
%t1380 = call ptr @fn_emit_expr(ptr %t1379)
|
|
store ptr %t1380, ptr %t1381
|
|
%t1382 = load ptr, ptr %t1372
|
|
%t1383 = getelementptr inbounds %Cmp_Val, ptr %t1382, i32 0, i32 0
|
|
%t1384 = load ptr, ptr %t1383
|
|
%t1385 = call ptr @fn_str_concat(ptr @.str6422, ptr %t1384)
|
|
%t1386 = call ptr @fn_str_concat(ptr %t1385, ptr @.str6423)
|
|
%t1387 = load ptr, ptr %t1381
|
|
%t1388 = getelementptr inbounds %Cmp_Val, ptr %t1387, i32 0, i32 0
|
|
%t1389 = load ptr, ptr %t1388
|
|
%t1390 = call ptr @fn_str_concat(ptr %t1386, ptr %t1389)
|
|
%t1391 = call ptr @fn_str_concat(ptr %t1390, ptr @.str6424)
|
|
%t1392 = call ptr @fn_emit_bind(ptr %t1391)
|
|
%t1393 = call ptr @fn_val(ptr %t1392, ptr @.str6425)
|
|
store ptr %t1393, ptr %retval
|
|
br label %ret
|
|
ifend185:
|
|
%t1394 = load ptr, ptr %t38
|
|
%t1395 = call i32 @fn_str_eq(ptr %t1394, ptr @.str6426)
|
|
%t1396 = icmp ne i32 %t1395, 0
|
|
br i1 %t1396, label %then186, label %ifend188
|
|
then186:
|
|
%t1397 = load ptr, ptr %t0
|
|
%t1398 = getelementptr inbounds %Cmp_Node, ptr %t1397, i32 0, i32 7
|
|
%t1399 = load ptr, ptr %t1398
|
|
%t1400 = getelementptr inbounds %LSlice, ptr %t1399, i32 0, i32 0
|
|
%t1401 = load ptr, ptr %t1400
|
|
%t1402 = getelementptr inbounds ptr, ptr %t1401, i32 0
|
|
%t1403 = load ptr, ptr %t1402
|
|
%t1404 = call ptr @fn_emit_expr(ptr %t1403)
|
|
store ptr %t1404, ptr %t1405
|
|
%t1406 = load ptr, ptr %t0
|
|
%t1407 = getelementptr inbounds %Cmp_Node, ptr %t1406, i32 0, i32 7
|
|
%t1408 = load ptr, ptr %t1407
|
|
%t1409 = getelementptr inbounds %LSlice, ptr %t1408, i32 0, i32 0
|
|
%t1410 = load ptr, ptr %t1409
|
|
%t1411 = getelementptr inbounds ptr, ptr %t1410, i32 1
|
|
%t1412 = load ptr, ptr %t1411
|
|
%t1413 = call ptr @fn_emit_expr(ptr %t1412)
|
|
store ptr %t1413, ptr %t1414
|
|
call void @fn_emit(ptr @.str6427)
|
|
%t1415 = load ptr, ptr %t1405
|
|
%t1416 = getelementptr inbounds %Cmp_Val, ptr %t1415, i32 0, i32 0
|
|
%t1417 = load ptr, ptr %t1416
|
|
call void @fn_emit(ptr %t1417)
|
|
call void @fn_emit(ptr @.str6428)
|
|
%t1418 = load ptr, ptr %t1414
|
|
%t1419 = getelementptr inbounds %Cmp_Val, ptr %t1418, i32 0, i32 0
|
|
%t1420 = load ptr, ptr %t1419
|
|
call void @fn_emit(ptr %t1420)
|
|
call void @fn_emit(ptr @.str6429)
|
|
%t1421 = call ptr @fn_val(ptr @.str6430, ptr @.str6431)
|
|
store ptr %t1421, ptr %retval
|
|
br label %ret
|
|
ifend188:
|
|
%t1422 = load ptr, ptr %t38
|
|
%t1423 = call i32 @fn_str_eq(ptr %t1422, ptr @.str6432)
|
|
%t1424 = icmp ne i32 %t1423, 0
|
|
br i1 %t1424, label %then189, label %ifend191
|
|
then189:
|
|
%t1425 = load ptr, ptr %t0
|
|
%t1426 = getelementptr inbounds %Cmp_Node, ptr %t1425, i32 0, i32 7
|
|
%t1427 = load ptr, ptr %t1426
|
|
%t1428 = getelementptr inbounds %LSlice, ptr %t1427, i32 0, i32 0
|
|
%t1429 = load ptr, ptr %t1428
|
|
%t1430 = getelementptr inbounds ptr, ptr %t1429, i32 0
|
|
%t1431 = load ptr, ptr %t1430
|
|
%t1432 = call ptr @fn_emit_expr(ptr %t1431)
|
|
store ptr %t1432, ptr %t1433
|
|
%t1434 = load ptr, ptr %t0
|
|
%t1435 = getelementptr inbounds %Cmp_Node, ptr %t1434, i32 0, i32 7
|
|
%t1436 = load ptr, ptr %t1435
|
|
%t1437 = getelementptr inbounds %LSlice, ptr %t1436, i32 0, i32 0
|
|
%t1438 = load ptr, ptr %t1437
|
|
%t1439 = getelementptr inbounds ptr, ptr %t1438, i32 1
|
|
%t1440 = load ptr, ptr %t1439
|
|
%t1441 = call ptr @fn_emit_expr(ptr %t1440)
|
|
store ptr %t1441, ptr %t1442
|
|
call void @fn_emit(ptr @.str6433)
|
|
%t1443 = load ptr, ptr %t1433
|
|
%t1444 = getelementptr inbounds %Cmp_Val, ptr %t1443, i32 0, i32 0
|
|
%t1445 = load ptr, ptr %t1444
|
|
call void @fn_emit(ptr %t1445)
|
|
call void @fn_emit(ptr @.str6434)
|
|
%t1446 = load ptr, ptr %t1442
|
|
%t1447 = getelementptr inbounds %Cmp_Val, ptr %t1446, i32 0, i32 0
|
|
%t1448 = load ptr, ptr %t1447
|
|
call void @fn_emit(ptr %t1448)
|
|
call void @fn_emit(ptr @.str6435)
|
|
%t1449 = call ptr @fn_val(ptr @.str6436, ptr @.str6437)
|
|
store ptr %t1449, ptr %retval
|
|
br label %ret
|
|
ifend191:
|
|
%t1450 = load ptr, ptr %t38
|
|
%t1451 = call i32 @fn_str_eq(ptr %t1450, ptr @.str6438)
|
|
%t1452 = icmp ne i32 %t1451, 0
|
|
br i1 %t1452, label %then192, label %ifend194
|
|
then192:
|
|
%t1453 = load ptr, ptr %t0
|
|
%t1454 = getelementptr inbounds %Cmp_Node, ptr %t1453, i32 0, i32 7
|
|
%t1455 = load ptr, ptr %t1454
|
|
%t1456 = getelementptr inbounds %LSlice, ptr %t1455, i32 0, i32 0
|
|
%t1457 = load ptr, ptr %t1456
|
|
%t1458 = getelementptr inbounds ptr, ptr %t1457, i32 0
|
|
%t1459 = load ptr, ptr %t1458
|
|
%t1460 = call ptr @fn_emit_expr(ptr %t1459)
|
|
store ptr %t1460, ptr %t1461
|
|
%t1462 = load ptr, ptr %t1461
|
|
%t1463 = getelementptr inbounds %Cmp_Val, ptr %t1462, i32 0, i32 0
|
|
%t1464 = load ptr, ptr %t1463
|
|
%t1465 = call ptr @fn_str_concat(ptr @.str6439, ptr %t1464)
|
|
%t1466 = call ptr @fn_str_concat(ptr %t1465, ptr @.str6440)
|
|
%t1467 = call ptr @fn_emit_bind(ptr %t1466)
|
|
%t1468 = call ptr @fn_val(ptr %t1467, ptr @.str6441)
|
|
store ptr %t1468, ptr %retval
|
|
br label %ret
|
|
ifend194:
|
|
%t1469 = load ptr, ptr %t38
|
|
%t1470 = call i32 @fn_str_eq(ptr %t1469, ptr @.str6442)
|
|
%t1471 = icmp ne i32 %t1470, 0
|
|
br i1 %t1471, label %then195, label %ifend197
|
|
then195:
|
|
%t1472 = call ptr @fn_emit_bind(ptr @.str6443)
|
|
%t1473 = call ptr @fn_val(ptr %t1472, ptr @.str6444)
|
|
store ptr %t1473, ptr %retval
|
|
br label %ret
|
|
ifend197:
|
|
%t1474 = load ptr, ptr %t38
|
|
%t1475 = call i32 @fn_str_eq(ptr %t1474, ptr @.str6445)
|
|
%t1476 = icmp ne i32 %t1475, 0
|
|
br i1 %t1476, label %then198, label %ifend200
|
|
then198:
|
|
%t1477 = load ptr, ptr %t0
|
|
%t1478 = getelementptr inbounds %Cmp_Node, ptr %t1477, i32 0, i32 7
|
|
%t1479 = load ptr, ptr %t1478
|
|
%t1480 = getelementptr inbounds %LSlice, ptr %t1479, i32 0, i32 0
|
|
%t1481 = load ptr, ptr %t1480
|
|
%t1482 = getelementptr inbounds ptr, ptr %t1481, i32 0
|
|
%t1483 = load ptr, ptr %t1482
|
|
%t1484 = call ptr @fn_emit_expr(ptr %t1483)
|
|
store ptr %t1484, ptr %t1485
|
|
%t1486 = load ptr, ptr %t1485
|
|
%t1487 = getelementptr inbounds %Cmp_Val, ptr %t1486, i32 0, i32 0
|
|
%t1488 = load ptr, ptr %t1487
|
|
%t1489 = call ptr @fn_str_concat(ptr @.str6446, ptr %t1488)
|
|
%t1490 = call ptr @fn_str_concat(ptr %t1489, ptr @.str6447)
|
|
%t1491 = call ptr @fn_emit_bind(ptr %t1490)
|
|
%t1492 = call ptr @fn_val(ptr %t1491, ptr @.str6448)
|
|
store ptr %t1492, ptr %retval
|
|
br label %ret
|
|
ifend200:
|
|
%t1493 = load ptr, ptr %t38
|
|
%t1494 = call i32 @fn_str_eq(ptr %t1493, ptr @.str6449)
|
|
%t1495 = icmp ne i32 %t1494, 0
|
|
br i1 %t1495, label %then201, label %ifend203
|
|
then201:
|
|
%t1496 = load ptr, ptr %t0
|
|
%t1497 = getelementptr inbounds %Cmp_Node, ptr %t1496, i32 0, i32 7
|
|
%t1498 = load ptr, ptr %t1497
|
|
%t1499 = getelementptr inbounds %LSlice, ptr %t1498, i32 0, i32 0
|
|
%t1500 = load ptr, ptr %t1499
|
|
%t1501 = getelementptr inbounds ptr, ptr %t1500, i32 0
|
|
%t1502 = load ptr, ptr %t1501
|
|
%t1503 = call ptr @fn_emit_expr(ptr %t1502)
|
|
store ptr %t1503, ptr %t1504
|
|
%t1505 = load ptr, ptr %t1504
|
|
%t1506 = getelementptr inbounds %Cmp_Val, ptr %t1505, i32 0, i32 0
|
|
%t1507 = load ptr, ptr %t1506
|
|
%t1508 = call ptr @fn_str_concat(ptr @.str6450, ptr %t1507)
|
|
%t1509 = call ptr @fn_str_concat(ptr %t1508, ptr @.str6451)
|
|
%t1510 = call ptr @fn_emit_bind(ptr %t1509)
|
|
%t1511 = call ptr @fn_val(ptr %t1510, ptr @.str6452)
|
|
store ptr %t1511, ptr %retval
|
|
br label %ret
|
|
ifend203:
|
|
%t1512 = load ptr, ptr %t38
|
|
%t1513 = call i32 @fn_str_eq(ptr %t1512, ptr @.str6453)
|
|
%t1514 = icmp ne i32 %t1513, 0
|
|
br i1 %t1514, label %then204, label %ifend206
|
|
then204:
|
|
%t1515 = load ptr, ptr %t0
|
|
%t1516 = getelementptr inbounds %Cmp_Node, ptr %t1515, i32 0, i32 7
|
|
%t1517 = load ptr, ptr %t1516
|
|
%t1518 = getelementptr inbounds %LSlice, ptr %t1517, i32 0, i32 0
|
|
%t1519 = load ptr, ptr %t1518
|
|
%t1520 = getelementptr inbounds ptr, ptr %t1519, i32 0
|
|
%t1521 = load ptr, ptr %t1520
|
|
%t1522 = call ptr @fn_emit_expr(ptr %t1521)
|
|
store ptr %t1522, ptr %t1523
|
|
%t1524 = load ptr, ptr %t0
|
|
%t1525 = getelementptr inbounds %Cmp_Node, ptr %t1524, i32 0, i32 7
|
|
%t1526 = load ptr, ptr %t1525
|
|
%t1527 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 0
|
|
%t1528 = load ptr, ptr %t1527
|
|
%t1529 = getelementptr inbounds ptr, ptr %t1528, i32 1
|
|
%t1530 = load ptr, ptr %t1529
|
|
%t1531 = call ptr @fn_emit_expr(ptr %t1530)
|
|
store ptr %t1531, ptr %t1532
|
|
%t1533 = load ptr, ptr %t1523
|
|
%t1534 = getelementptr inbounds %Cmp_Val, ptr %t1533, i32 0, i32 0
|
|
%t1535 = load ptr, ptr %t1534
|
|
%t1536 = call ptr @fn_str_concat(ptr @.str6454, ptr %t1535)
|
|
%t1537 = call ptr @fn_str_concat(ptr %t1536, ptr @.str6455)
|
|
%t1538 = load ptr, ptr %t1532
|
|
%t1539 = getelementptr inbounds %Cmp_Val, ptr %t1538, i32 0, i32 0
|
|
%t1540 = load ptr, ptr %t1539
|
|
%t1541 = call ptr @fn_str_concat(ptr %t1537, ptr %t1540)
|
|
%t1542 = call ptr @fn_str_concat(ptr %t1541, ptr @.str6456)
|
|
%t1543 = call ptr @fn_emit_bind(ptr %t1542)
|
|
%t1544 = call ptr @fn_val(ptr %t1543, ptr @.str6457)
|
|
store ptr %t1544, ptr %retval
|
|
br label %ret
|
|
ifend206:
|
|
%t1545 = load ptr, ptr %t38
|
|
%t1546 = call i32 @fn_str_eq(ptr %t1545, ptr @.str6458)
|
|
%t1547 = icmp ne i32 %t1546, 0
|
|
br i1 %t1547, label %then207, label %ifend209
|
|
then207:
|
|
%t1548 = load ptr, ptr %t0
|
|
%t1549 = getelementptr inbounds %Cmp_Node, ptr %t1548, i32 0, i32 7
|
|
%t1550 = load ptr, ptr %t1549
|
|
%t1551 = getelementptr inbounds %LSlice, ptr %t1550, i32 0, i32 0
|
|
%t1552 = load ptr, ptr %t1551
|
|
%t1553 = getelementptr inbounds ptr, ptr %t1552, i32 0
|
|
%t1554 = load ptr, ptr %t1553
|
|
%t1555 = call ptr @fn_emit_expr(ptr %t1554)
|
|
store ptr %t1555, ptr %t1556
|
|
%t1557 = load ptr, ptr %t0
|
|
%t1558 = getelementptr inbounds %Cmp_Node, ptr %t1557, i32 0, i32 7
|
|
%t1559 = load ptr, ptr %t1558
|
|
%t1560 = getelementptr inbounds %LSlice, ptr %t1559, i32 0, i32 0
|
|
%t1561 = load ptr, ptr %t1560
|
|
%t1562 = getelementptr inbounds ptr, ptr %t1561, i32 1
|
|
%t1563 = load ptr, ptr %t1562
|
|
%t1564 = call ptr @fn_emit_expr(ptr %t1563)
|
|
store ptr %t1564, ptr %t1565
|
|
%t1566 = load ptr, ptr %t1556
|
|
%t1567 = getelementptr inbounds %Cmp_Val, ptr %t1566, i32 0, i32 0
|
|
%t1568 = load ptr, ptr %t1567
|
|
%t1569 = call ptr @fn_str_concat(ptr @.str6459, ptr %t1568)
|
|
%t1570 = call ptr @fn_str_concat(ptr %t1569, ptr @.str6460)
|
|
%t1571 = load ptr, ptr %t1565
|
|
%t1572 = getelementptr inbounds %Cmp_Val, ptr %t1571, i32 0, i32 0
|
|
%t1573 = load ptr, ptr %t1572
|
|
%t1574 = call ptr @fn_str_concat(ptr %t1570, ptr %t1573)
|
|
%t1575 = call ptr @fn_str_concat(ptr %t1574, ptr @.str6461)
|
|
%t1576 = call ptr @fn_emit_bind(ptr %t1575)
|
|
%t1577 = call ptr @fn_val(ptr %t1576, ptr @.str6462)
|
|
store ptr %t1577, ptr %retval
|
|
br label %ret
|
|
ifend209:
|
|
%t1578 = load ptr, ptr %t38
|
|
%t1579 = call i32 @fn_is_intrinsic(ptr %t1578)
|
|
%t1580 = icmp ne i32 %t1579, 0
|
|
br i1 %t1580, label %then210, label %ifend212
|
|
then210:
|
|
%t1581 = load ptr, ptr %t38
|
|
%t1582 = load ptr, ptr %t0
|
|
%t1583 = call ptr @fn_emit_intrinsic(ptr %t1581, ptr %t1582)
|
|
store ptr %t1583, ptr %retval
|
|
br label %ret
|
|
ifend212:
|
|
%t1584 = load ptr, ptr %t38
|
|
%t1585 = call i32 @fn_is_intrinsic2(ptr %t1584)
|
|
%t1586 = icmp ne i32 %t1585, 0
|
|
br i1 %t1586, label %then213, label %ifend215
|
|
then213:
|
|
%t1587 = load ptr, ptr %t38
|
|
%t1588 = load ptr, ptr %t0
|
|
%t1589 = call ptr @fn_emit_intrinsic2(ptr %t1587, ptr %t1588)
|
|
store ptr %t1589, ptr %retval
|
|
br label %ret
|
|
ifend215:
|
|
%t1590 = load ptr, ptr %t38
|
|
%t1591 = call i32 @fn_is_math_builtin(ptr %t1590)
|
|
%t1592 = icmp ne i32 %t1591, 0
|
|
br i1 %t1592, label %then216, label %ifend218
|
|
then216:
|
|
%t1593 = load ptr, ptr %t38
|
|
%t1594 = load ptr, ptr %t0
|
|
%t1595 = call ptr @fn_emit_math_builtin(ptr %t1593, ptr %t1594)
|
|
store ptr %t1595, ptr %retval
|
|
br label %ret
|
|
ifend218:
|
|
%t1596 = load ptr, ptr %t38
|
|
%t1597 = call ptr @fn_find_extern(ptr %t1596)
|
|
store ptr %t1597, ptr %t1598
|
|
%t1599 = load ptr, ptr %t1598
|
|
%t1600 = icmp ne ptr %t1599, null
|
|
%t1601 = zext i1 %t1600 to i32
|
|
%t1602 = icmp ne i32 %t1601, 0
|
|
br i1 %t1602, label %then219, label %ifend221
|
|
then219:
|
|
%t1603 = load ptr, ptr %t0
|
|
%t1604 = load ptr, ptr %t1598
|
|
%t1605 = call ptr @fn_param_labels(ptr %t1604)
|
|
call void @fn_reorder_named(ptr %t1603, ptr %t1605)
|
|
%t1606 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1607 = ptrtoint ptr %t1606 to i64
|
|
%t1608 = call ptr @malloc(i64 %t1607)
|
|
%t1609 = getelementptr inbounds %LSlice, ptr %t1608, i32 0, i32 0
|
|
store ptr null, ptr %t1609
|
|
%t1610 = getelementptr inbounds %LSlice, ptr %t1608, i32 0, i32 1
|
|
store i32 0, ptr %t1610
|
|
%t1611 = getelementptr inbounds %LSlice, ptr %t1608, i32 0, i32 2
|
|
store i32 0, ptr %t1611
|
|
store ptr %t1608, ptr %t1612
|
|
%t1613 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1614 = ptrtoint ptr %t1613 to i64
|
|
%t1615 = call ptr @malloc(i64 %t1614)
|
|
%t1616 = getelementptr inbounds %LSlice, ptr %t1615, i32 0, i32 0
|
|
store ptr null, ptr %t1616
|
|
%t1617 = getelementptr inbounds %LSlice, ptr %t1615, i32 0, i32 1
|
|
store i32 0, ptr %t1617
|
|
%t1618 = getelementptr inbounds %LSlice, ptr %t1615, i32 0, i32 2
|
|
store i32 0, ptr %t1618
|
|
store ptr %t1615, ptr %t1619
|
|
store i32 0, ptr %t1620
|
|
br label %wcond222
|
|
wcond222:
|
|
%t1621 = load i32, ptr %t1620
|
|
%t1622 = load ptr, ptr %t0
|
|
%t1623 = getelementptr inbounds %Cmp_Node, ptr %t1622, i32 0, i32 7
|
|
%t1624 = load ptr, ptr %t1623
|
|
%t1625 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 1
|
|
%t1626 = load i32, ptr %t1625
|
|
%t1627 = icmp slt i32 %t1621, %t1626
|
|
%t1628 = zext i1 %t1627 to i32
|
|
%t1629 = icmp ne i32 %t1628, 0
|
|
br i1 %t1629, label %wbody223, label %wend224
|
|
wbody223:
|
|
%t1630 = load ptr, ptr %t0
|
|
%t1631 = getelementptr inbounds %Cmp_Node, ptr %t1630, i32 0, i32 7
|
|
%t1632 = load ptr, ptr %t1631
|
|
%t1633 = getelementptr inbounds %LSlice, ptr %t1632, i32 0, i32 0
|
|
%t1634 = load ptr, ptr %t1633
|
|
%t1635 = load i32, ptr %t1620
|
|
%t1636 = getelementptr inbounds ptr, ptr %t1634, i32 %t1635
|
|
%t1637 = load ptr, ptr %t1636
|
|
%t1638 = call ptr @fn_emit_expr(ptr %t1637)
|
|
store ptr %t1638, ptr %t1639
|
|
%t1640 = load ptr, ptr %t1612
|
|
%t1641 = getelementptr inbounds %LSlice, ptr %t1640, i32 0, i32 1
|
|
%t1642 = getelementptr inbounds %LSlice, ptr %t1640, i32 0, i32 2
|
|
%t1643 = getelementptr inbounds %LSlice, ptr %t1640, i32 0, i32 0
|
|
%t1644 = load i32, ptr %t1641
|
|
%t1645 = load i32, ptr %t1642
|
|
%t1646 = icmp sge i32 %t1644, %t1645
|
|
br i1 %t1646, label %grow225, label %put226
|
|
grow225:
|
|
%t1647 = mul i32 %t1645, 2
|
|
%t1648 = icmp eq i32 %t1645, 0
|
|
%t1649 = select i1 %t1648, i32 8, i32 %t1647
|
|
%t1650 = getelementptr ptr, ptr null, i32 1
|
|
%t1651 = ptrtoint ptr %t1650 to i64
|
|
%t1652 = zext i32 %t1649 to i64
|
|
%t1653 = mul i64 %t1652, %t1651
|
|
%t1654 = load ptr, ptr %t1643
|
|
%t1655 = call ptr @realloc(ptr %t1654, i64 %t1653)
|
|
store ptr %t1655, ptr %t1643
|
|
store i32 %t1649, ptr %t1642
|
|
br label %put226
|
|
put226:
|
|
%t1656 = load ptr, ptr %t1639
|
|
%t1657 = getelementptr inbounds %Cmp_Val, ptr %t1656, i32 0, i32 0
|
|
%t1658 = load ptr, ptr %t1657
|
|
%t1659 = load ptr, ptr %t1643
|
|
%t1660 = getelementptr inbounds ptr, ptr %t1659, i32 %t1644
|
|
store ptr %t1658, ptr %t1660
|
|
%t1661 = add i32 %t1644, 1
|
|
store i32 %t1661, ptr %t1641
|
|
%t1662 = load ptr, ptr %t1619
|
|
%t1663 = getelementptr inbounds %LSlice, ptr %t1662, i32 0, i32 1
|
|
%t1664 = getelementptr inbounds %LSlice, ptr %t1662, i32 0, i32 2
|
|
%t1665 = getelementptr inbounds %LSlice, ptr %t1662, i32 0, i32 0
|
|
%t1666 = load i32, ptr %t1663
|
|
%t1667 = load i32, ptr %t1664
|
|
%t1668 = icmp sge i32 %t1666, %t1667
|
|
br i1 %t1668, label %grow227, label %put228
|
|
grow227:
|
|
%t1669 = mul i32 %t1667, 2
|
|
%t1670 = icmp eq i32 %t1667, 0
|
|
%t1671 = select i1 %t1670, i32 8, i32 %t1669
|
|
%t1672 = getelementptr ptr, ptr null, i32 1
|
|
%t1673 = ptrtoint ptr %t1672 to i64
|
|
%t1674 = zext i32 %t1671 to i64
|
|
%t1675 = mul i64 %t1674, %t1673
|
|
%t1676 = load ptr, ptr %t1665
|
|
%t1677 = call ptr @realloc(ptr %t1676, i64 %t1675)
|
|
store ptr %t1677, ptr %t1665
|
|
store i32 %t1671, ptr %t1664
|
|
br label %put228
|
|
put228:
|
|
%t1678 = load ptr, ptr %t1639
|
|
%t1679 = getelementptr inbounds %Cmp_Val, ptr %t1678, i32 0, i32 1
|
|
%t1680 = load ptr, ptr %t1679
|
|
%t1681 = load ptr, ptr %t1665
|
|
%t1682 = getelementptr inbounds ptr, ptr %t1681, i32 %t1666
|
|
store ptr %t1680, ptr %t1682
|
|
%t1683 = add i32 %t1666, 1
|
|
store i32 %t1683, ptr %t1663
|
|
%t1684 = load i32, ptr %t1620
|
|
%t1685 = add i32 %t1684, 1
|
|
store i32 %t1685, ptr %t1620
|
|
br label %wcond222
|
|
wend224:
|
|
%t1686 = load ptr, ptr %t1598
|
|
%t1687 = getelementptr inbounds %Cmp_Node, ptr %t1686, i32 0, i32 3
|
|
%t1688 = load ptr, ptr %t1687
|
|
%t1689 = call ptr @fn_llty(ptr %t1688)
|
|
store ptr %t1689, ptr %t1690
|
|
call void @fn_emit(ptr @.str6463)
|
|
store ptr @.str6464, ptr %t1691
|
|
%t1692 = load ptr, ptr %t1690
|
|
%t1693 = call i32 @fn_str_eq(ptr %t1692, ptr @.str6465)
|
|
%t1694 = icmp eq i32 %t1693, 0
|
|
%t1695 = zext i1 %t1694 to i32
|
|
%t1696 = icmp ne i32 %t1695, 0
|
|
br i1 %t1696, label %then229, label %ifend231
|
|
then229:
|
|
%t1697 = call ptr @fn_nreg()
|
|
store ptr %t1697, ptr %t1691
|
|
%t1698 = load ptr, ptr %t1691
|
|
call void @fn_emit(ptr %t1698)
|
|
call void @fn_emit(ptr @.str6466)
|
|
br label %ifend231
|
|
ifend231:
|
|
call void @fn_emit(ptr @.str6467)
|
|
%t1699 = load ptr, ptr %t1690
|
|
call void @fn_emit(ptr %t1699)
|
|
call void @fn_emit(ptr @.str6468)
|
|
%t1700 = load ptr, ptr %t1598
|
|
%t1701 = getelementptr inbounds %Cmp_Node, ptr %t1700, i32 0, i32 4
|
|
%t1702 = load ptr, ptr %t1701
|
|
%t1703 = getelementptr inbounds %Cmp_Node, ptr %t1702, i32 0, i32 1
|
|
%t1704 = load ptr, ptr %t1703
|
|
call void @fn_emit(ptr %t1704)
|
|
call void @fn_emit(ptr @.str6469)
|
|
store i32 0, ptr %t1620
|
|
br label %wcond232
|
|
wcond232:
|
|
%t1705 = load i32, ptr %t1620
|
|
%t1706 = load ptr, ptr %t1612
|
|
%t1707 = getelementptr inbounds %LSlice, ptr %t1706, i32 0, i32 1
|
|
%t1708 = load i32, ptr %t1707
|
|
%t1709 = icmp slt i32 %t1705, %t1708
|
|
%t1710 = zext i1 %t1709 to i32
|
|
%t1711 = icmp ne i32 %t1710, 0
|
|
br i1 %t1711, label %wbody233, label %wend234
|
|
wbody233:
|
|
%t1712 = load i32, ptr %t1620
|
|
%t1713 = icmp sgt i32 %t1712, 0
|
|
%t1714 = zext i1 %t1713 to i32
|
|
%t1715 = icmp ne i32 %t1714, 0
|
|
br i1 %t1715, label %then235, label %ifend237
|
|
then235:
|
|
call void @fn_emit(ptr @.str6470)
|
|
br label %ifend237
|
|
ifend237:
|
|
%t1716 = load ptr, ptr %t1619
|
|
%t1717 = getelementptr inbounds %LSlice, ptr %t1716, i32 0, i32 0
|
|
%t1718 = load ptr, ptr %t1717
|
|
%t1719 = load i32, ptr %t1620
|
|
%t1720 = getelementptr inbounds ptr, ptr %t1718, i32 %t1719
|
|
%t1721 = load ptr, ptr %t1720
|
|
%t1722 = call ptr @fn_llty(ptr %t1721)
|
|
call void @fn_emit(ptr %t1722)
|
|
call void @fn_emit(ptr @.str6471)
|
|
%t1723 = load ptr, ptr %t1612
|
|
%t1724 = getelementptr inbounds %LSlice, ptr %t1723, i32 0, i32 0
|
|
%t1725 = load ptr, ptr %t1724
|
|
%t1726 = load i32, ptr %t1620
|
|
%t1727 = getelementptr inbounds ptr, ptr %t1725, i32 %t1726
|
|
%t1728 = load ptr, ptr %t1727
|
|
call void @fn_emit(ptr %t1728)
|
|
%t1729 = load i32, ptr %t1620
|
|
%t1730 = add i32 %t1729, 1
|
|
store i32 %t1730, ptr %t1620
|
|
br label %wcond232
|
|
wend234:
|
|
call void @fn_emit(ptr @.str6472)
|
|
%t1731 = load ptr, ptr %t1691
|
|
%t1732 = load ptr, ptr %t1598
|
|
%t1733 = getelementptr inbounds %Cmp_Node, ptr %t1732, i32 0, i32 3
|
|
%t1734 = load ptr, ptr %t1733
|
|
%t1735 = call ptr @fn_val(ptr %t1731, ptr %t1734)
|
|
store ptr %t1735, ptr %retval
|
|
br label %ret
|
|
ifend221:
|
|
%t1736 = load ptr, ptr %t38
|
|
%t1737 = call ptr @fn_find_fn(ptr %t1736)
|
|
store ptr %t1737, ptr %t1738
|
|
%t1739 = load ptr, ptr %t38
|
|
store ptr %t1739, ptr %t1740
|
|
%t1741 = load ptr, ptr %t1738
|
|
%t1742 = icmp eq ptr %t1741, null
|
|
%t1743 = zext i1 %t1742 to i32
|
|
%t1744 = icmp ne i32 %t1743, 0
|
|
br i1 %t1744, label %then238, label %ifend240
|
|
then238:
|
|
%t1745 = load ptr, ptr %t38
|
|
%t1746 = call ptr @fn_str_concat(ptr @.str6473, ptr %t1745)
|
|
store ptr %t1746, ptr %t1747
|
|
%t1748 = load ptr, ptr %t1747
|
|
%t1749 = call ptr @fn_find_fn(ptr %t1748)
|
|
store ptr %t1749, ptr %t1738
|
|
%t1750 = load ptr, ptr %t1738
|
|
%t1751 = icmp eq ptr %t1750, null
|
|
%t1752 = zext i1 %t1751 to i32
|
|
%t1753 = icmp ne i32 %t1752, 0
|
|
br i1 %t1753, label %then241, label %ifend243
|
|
then241:
|
|
%t1754 = load ptr, ptr %t38
|
|
%t1755 = call ptr @fn_str_concat(ptr @.str6474, ptr %t1754)
|
|
call void @fn_perr(ptr %t1755)
|
|
br label %ifend243
|
|
ifend243:
|
|
%t1756 = load ptr, ptr %t1747
|
|
store ptr %t1756, ptr %t1740
|
|
br label %ifend240
|
|
ifend240:
|
|
%t1757 = load ptr, ptr %t0
|
|
%t1758 = load ptr, ptr %t1738
|
|
%t1759 = call ptr @fn_param_labels(ptr %t1758)
|
|
call void @fn_reorder_named(ptr %t1757, ptr %t1759)
|
|
%t1760 = load ptr, ptr %t1738
|
|
%t1761 = call ptr @fn_param_types(ptr %t1760)
|
|
store ptr %t1761, ptr %t1762
|
|
%t1763 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1764 = ptrtoint ptr %t1763 to i64
|
|
%t1765 = call ptr @malloc(i64 %t1764)
|
|
%t1766 = getelementptr inbounds %LSlice, ptr %t1765, i32 0, i32 0
|
|
store ptr null, ptr %t1766
|
|
%t1767 = getelementptr inbounds %LSlice, ptr %t1765, i32 0, i32 1
|
|
store i32 0, ptr %t1767
|
|
%t1768 = getelementptr inbounds %LSlice, ptr %t1765, i32 0, i32 2
|
|
store i32 0, ptr %t1768
|
|
store ptr %t1765, ptr %t1769
|
|
%t1770 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1771 = ptrtoint ptr %t1770 to i64
|
|
%t1772 = call ptr @malloc(i64 %t1771)
|
|
%t1773 = getelementptr inbounds %LSlice, ptr %t1772, i32 0, i32 0
|
|
store ptr null, ptr %t1773
|
|
%t1774 = getelementptr inbounds %LSlice, ptr %t1772, i32 0, i32 1
|
|
store i32 0, ptr %t1774
|
|
%t1775 = getelementptr inbounds %LSlice, ptr %t1772, i32 0, i32 2
|
|
store i32 0, ptr %t1775
|
|
store ptr %t1772, ptr %t1776
|
|
store i32 0, ptr %t1777
|
|
br label %wcond244
|
|
wcond244:
|
|
%t1778 = load i32, ptr %t1777
|
|
%t1779 = load ptr, ptr %t0
|
|
%t1780 = getelementptr inbounds %Cmp_Node, ptr %t1779, i32 0, i32 7
|
|
%t1781 = load ptr, ptr %t1780
|
|
%t1782 = getelementptr inbounds %LSlice, ptr %t1781, i32 0, i32 1
|
|
%t1783 = load i32, ptr %t1782
|
|
%t1784 = icmp slt i32 %t1778, %t1783
|
|
%t1785 = zext i1 %t1784 to i32
|
|
%t1786 = icmp ne i32 %t1785, 0
|
|
br i1 %t1786, label %wbody245, label %wend246
|
|
wbody245:
|
|
%t1787 = load ptr, ptr %t0
|
|
%t1788 = getelementptr inbounds %Cmp_Node, ptr %t1787, i32 0, i32 7
|
|
%t1789 = load ptr, ptr %t1788
|
|
%t1790 = getelementptr inbounds %LSlice, ptr %t1789, i32 0, i32 0
|
|
%t1791 = load ptr, ptr %t1790
|
|
%t1792 = load i32, ptr %t1777
|
|
%t1793 = getelementptr inbounds ptr, ptr %t1791, i32 %t1792
|
|
%t1794 = load ptr, ptr %t1793
|
|
%t1795 = call ptr @fn_emit_expr(ptr %t1794)
|
|
store ptr %t1795, ptr %t1796
|
|
%t1797 = load ptr, ptr %t1796
|
|
%t1798 = getelementptr inbounds %Cmp_Val, ptr %t1797, i32 0, i32 1
|
|
%t1799 = load ptr, ptr %t1798
|
|
store ptr %t1799, ptr %t1800
|
|
%t1801 = load i32, ptr %t1777
|
|
%t1802 = load ptr, ptr %t1762
|
|
%t1803 = getelementptr inbounds %LSlice, ptr %t1802, i32 0, i32 1
|
|
%t1804 = load i32, ptr %t1803
|
|
%t1805 = icmp slt i32 %t1801, %t1804
|
|
%t1806 = zext i1 %t1805 to i32
|
|
%t1807 = icmp ne i32 %t1806, 0
|
|
br i1 %t1807, label %then247, label %ifend249
|
|
then247:
|
|
%t1808 = load ptr, ptr %t1762
|
|
%t1809 = getelementptr inbounds %LSlice, ptr %t1808, i32 0, i32 0
|
|
%t1810 = load ptr, ptr %t1809
|
|
%t1811 = load i32, ptr %t1777
|
|
%t1812 = getelementptr inbounds ptr, ptr %t1810, i32 %t1811
|
|
%t1813 = load ptr, ptr %t1812
|
|
store ptr %t1813, ptr %t1800
|
|
br label %ifend249
|
|
ifend249:
|
|
%t1814 = load ptr, ptr %t1769
|
|
%t1815 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 1
|
|
%t1816 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 2
|
|
%t1817 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 0
|
|
%t1818 = load i32, ptr %t1815
|
|
%t1819 = load i32, ptr %t1816
|
|
%t1820 = icmp sge i32 %t1818, %t1819
|
|
br i1 %t1820, label %grow250, label %put251
|
|
grow250:
|
|
%t1821 = mul i32 %t1819, 2
|
|
%t1822 = icmp eq i32 %t1819, 0
|
|
%t1823 = select i1 %t1822, i32 8, i32 %t1821
|
|
%t1824 = getelementptr ptr, ptr null, i32 1
|
|
%t1825 = ptrtoint ptr %t1824 to i64
|
|
%t1826 = zext i32 %t1823 to i64
|
|
%t1827 = mul i64 %t1826, %t1825
|
|
%t1828 = load ptr, ptr %t1817
|
|
%t1829 = call ptr @realloc(ptr %t1828, i64 %t1827)
|
|
store ptr %t1829, ptr %t1817
|
|
store i32 %t1823, ptr %t1816
|
|
br label %put251
|
|
put251:
|
|
%t1830 = load ptr, ptr %t1796
|
|
%t1831 = load ptr, ptr %t1800
|
|
%t1832 = call ptr @fn_coerce_code(ptr %t1830, ptr %t1831)
|
|
%t1833 = load ptr, ptr %t1817
|
|
%t1834 = getelementptr inbounds ptr, ptr %t1833, i32 %t1818
|
|
store ptr %t1832, ptr %t1834
|
|
%t1835 = add i32 %t1818, 1
|
|
store i32 %t1835, ptr %t1815
|
|
%t1836 = load ptr, ptr %t1776
|
|
%t1837 = getelementptr inbounds %LSlice, ptr %t1836, i32 0, i32 1
|
|
%t1838 = getelementptr inbounds %LSlice, ptr %t1836, i32 0, i32 2
|
|
%t1839 = getelementptr inbounds %LSlice, ptr %t1836, i32 0, i32 0
|
|
%t1840 = load i32, ptr %t1837
|
|
%t1841 = load i32, ptr %t1838
|
|
%t1842 = icmp sge i32 %t1840, %t1841
|
|
br i1 %t1842, label %grow252, label %put253
|
|
grow252:
|
|
%t1843 = mul i32 %t1841, 2
|
|
%t1844 = icmp eq i32 %t1841, 0
|
|
%t1845 = select i1 %t1844, i32 8, i32 %t1843
|
|
%t1846 = getelementptr ptr, ptr null, i32 1
|
|
%t1847 = ptrtoint ptr %t1846 to i64
|
|
%t1848 = zext i32 %t1845 to i64
|
|
%t1849 = mul i64 %t1848, %t1847
|
|
%t1850 = load ptr, ptr %t1839
|
|
%t1851 = call ptr @realloc(ptr %t1850, i64 %t1849)
|
|
store ptr %t1851, ptr %t1839
|
|
store i32 %t1845, ptr %t1838
|
|
br label %put253
|
|
put253:
|
|
%t1852 = load ptr, ptr %t1800
|
|
%t1853 = load ptr, ptr %t1839
|
|
%t1854 = getelementptr inbounds ptr, ptr %t1853, i32 %t1840
|
|
store ptr %t1852, ptr %t1854
|
|
%t1855 = add i32 %t1840, 1
|
|
store i32 %t1855, ptr %t1837
|
|
%t1856 = load i32, ptr %t1777
|
|
%t1857 = add i32 %t1856, 1
|
|
store i32 %t1857, ptr %t1777
|
|
br label %wcond244
|
|
wend246:
|
|
%t1858 = load ptr, ptr %t1738
|
|
%t1859 = getelementptr inbounds %Cmp_Node, ptr %t1858, i32 0, i32 3
|
|
%t1860 = load ptr, ptr %t1859
|
|
%t1861 = call ptr @fn_llty(ptr %t1860)
|
|
store ptr %t1861, ptr %t1862
|
|
call void @fn_emit(ptr @.str6475)
|
|
store ptr @.str6476, ptr %t1863
|
|
%t1864 = load ptr, ptr %t1862
|
|
%t1865 = call i32 @fn_str_eq(ptr %t1864, ptr @.str6477)
|
|
%t1866 = icmp eq i32 %t1865, 0
|
|
%t1867 = zext i1 %t1866 to i32
|
|
%t1868 = icmp ne i32 %t1867, 0
|
|
br i1 %t1868, label %then254, label %ifend256
|
|
then254:
|
|
%t1869 = call ptr @fn_nreg()
|
|
store ptr %t1869, ptr %t1863
|
|
%t1870 = load ptr, ptr %t1863
|
|
call void @fn_emit(ptr %t1870)
|
|
call void @fn_emit(ptr @.str6478)
|
|
br label %ifend256
|
|
ifend256:
|
|
call void @fn_emit(ptr @.str6479)
|
|
%t1871 = load ptr, ptr %t1862
|
|
call void @fn_emit(ptr %t1871)
|
|
call void @fn_emit(ptr @.str6480)
|
|
%t1872 = load ptr, ptr %t1740
|
|
call void @fn_emit(ptr %t1872)
|
|
call void @fn_emit(ptr @.str6481)
|
|
store i32 0, ptr %t1777
|
|
br label %wcond257
|
|
wcond257:
|
|
%t1873 = load i32, ptr %t1777
|
|
%t1874 = load ptr, ptr %t1769
|
|
%t1875 = getelementptr inbounds %LSlice, ptr %t1874, i32 0, i32 1
|
|
%t1876 = load i32, ptr %t1875
|
|
%t1877 = icmp slt i32 %t1873, %t1876
|
|
%t1878 = zext i1 %t1877 to i32
|
|
%t1879 = icmp ne i32 %t1878, 0
|
|
br i1 %t1879, label %wbody258, label %wend259
|
|
wbody258:
|
|
%t1880 = load i32, ptr %t1777
|
|
%t1881 = icmp sgt i32 %t1880, 0
|
|
%t1882 = zext i1 %t1881 to i32
|
|
%t1883 = icmp ne i32 %t1882, 0
|
|
br i1 %t1883, label %then260, label %ifend262
|
|
then260:
|
|
call void @fn_emit(ptr @.str6482)
|
|
br label %ifend262
|
|
ifend262:
|
|
%t1884 = load ptr, ptr %t1776
|
|
%t1885 = getelementptr inbounds %LSlice, ptr %t1884, i32 0, i32 0
|
|
%t1886 = load ptr, ptr %t1885
|
|
%t1887 = load i32, ptr %t1777
|
|
%t1888 = getelementptr inbounds ptr, ptr %t1886, i32 %t1887
|
|
%t1889 = load ptr, ptr %t1888
|
|
%t1890 = call ptr @fn_llty(ptr %t1889)
|
|
call void @fn_emit(ptr %t1890)
|
|
call void @fn_emit(ptr @.str6483)
|
|
%t1891 = load ptr, ptr %t1769
|
|
%t1892 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 0
|
|
%t1893 = load ptr, ptr %t1892
|
|
%t1894 = load i32, ptr %t1777
|
|
%t1895 = getelementptr inbounds ptr, ptr %t1893, i32 %t1894
|
|
%t1896 = load ptr, ptr %t1895
|
|
call void @fn_emit(ptr %t1896)
|
|
%t1897 = load i32, ptr %t1777
|
|
%t1898 = add i32 %t1897, 1
|
|
store i32 %t1898, ptr %t1777
|
|
br label %wcond257
|
|
wend259:
|
|
call void @fn_emit(ptr @.str6484)
|
|
%t1899 = load ptr, ptr %t1863
|
|
%t1900 = load ptr, ptr %t1738
|
|
%t1901 = getelementptr inbounds %Cmp_Node, ptr %t1900, i32 0, i32 3
|
|
%t1902 = load ptr, ptr %t1901
|
|
%t1903 = call ptr @fn_val(ptr %t1899, ptr %t1902)
|
|
store ptr %t1903, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t1904 = load ptr, ptr %retval
|
|
ret ptr %t1904
|
|
}
|
|
|
|
define ptr @fn_emit_expr(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t56 = alloca ptr
|
|
%t61 = alloca ptr
|
|
%t66 = alloca ptr
|
|
%t127 = alloca i32
|
|
%t149 = alloca ptr
|
|
%t178 = alloca ptr
|
|
%t224 = alloca i32
|
|
%t245 = alloca i32
|
|
%t257 = alloca ptr
|
|
%t267 = alloca ptr
|
|
%t280 = alloca ptr
|
|
%t292 = alloca ptr
|
|
%t299 = alloca ptr
|
|
%t350 = alloca ptr
|
|
%t409 = 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 @.str6485, ptr @.str6486)
|
|
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 @.str6487)
|
|
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 @.str6488)
|
|
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 @.str6489)
|
|
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 @.str6490, ptr @.str6491)
|
|
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 @.str6492, ptr %t69)
|
|
%t71 = call ptr @fn_str_concat(ptr %t70, ptr @.str6493)
|
|
%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 @.str6494)
|
|
%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 @.str6495)
|
|
%t82 = call ptr @fn_emit_bind(ptr %t81)
|
|
%t83 = call ptr @fn_val(ptr %t82, ptr @.str6496)
|
|
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 @.str6497)
|
|
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 = load ptr, ptr %t0
|
|
%t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 4
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = call ptr @fn_emit_new_struct(ptr %t112, ptr %t115)
|
|
store ptr %t116, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t117 = load ptr, ptr %t0
|
|
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 0
|
|
%t119 = load i32, ptr %t118
|
|
%t120 = icmp eq i32 %t119, 33
|
|
%t121 = zext i1 %t120 to i32
|
|
%t122 = icmp ne i32 %t121, 0
|
|
br i1 %t122, label %then27, label %ifend29
|
|
then27:
|
|
%t123 = load ptr, ptr %t0
|
|
%t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = call i32 @fn_loc_find(ptr %t125)
|
|
store i32 %t126, ptr %t127
|
|
%t128 = load i32, ptr %t127
|
|
%t129 = icmp sge i32 %t128, 0
|
|
%t130 = zext i1 %t129 to i32
|
|
%t131 = icmp ne i32 %t130, 0
|
|
br i1 %t131, label %then30, label %ifend32
|
|
then30:
|
|
%t132 = load ptr, ptr @g_loc_reg
|
|
%t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0
|
|
%t134 = load ptr, ptr %t133
|
|
%t135 = load i32, ptr %t127
|
|
%t136 = getelementptr inbounds ptr, ptr %t134, i32 %t135
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = load ptr, ptr @g_loc_ty
|
|
%t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0
|
|
%t140 = load ptr, ptr %t139
|
|
%t141 = load i32, ptr %t127
|
|
%t142 = getelementptr inbounds ptr, ptr %t140, i32 %t141
|
|
%t143 = load ptr, ptr %t142
|
|
%t144 = call ptr @fn_emit_load_at(ptr %t137, ptr %t143)
|
|
store ptr %t144, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t145 = load ptr, ptr %t0
|
|
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 1
|
|
%t147 = load ptr, ptr %t146
|
|
%t148 = call ptr @fn_find_global(ptr %t147)
|
|
store ptr %t148, ptr %t149
|
|
%t150 = load ptr, ptr %t149
|
|
%t151 = icmp ne ptr %t150, null
|
|
%t152 = zext i1 %t151 to i32
|
|
%t153 = icmp ne i32 %t152, 0
|
|
br i1 %t153, label %then33, label %ifend35
|
|
then33:
|
|
%t154 = load ptr, ptr %t149
|
|
%t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 0
|
|
%t156 = load i32, ptr %t155
|
|
%t157 = icmp eq i32 %t156, 3
|
|
%t158 = zext i1 %t157 to i32
|
|
%t159 = icmp ne i32 %t158, 0
|
|
br i1 %t159, label %then36, label %ifend38
|
|
then36:
|
|
%t160 = load ptr, ptr %t149
|
|
%t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 4
|
|
%t162 = load ptr, ptr %t161
|
|
%t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 2
|
|
%t164 = load i32, ptr %t163
|
|
%t165 = call ptr @fn_itoa(i32 %t164)
|
|
%t166 = call ptr @fn_val(ptr %t165, ptr @.str6498)
|
|
store ptr %t166, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t167 = load ptr, ptr %t149
|
|
%t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 3
|
|
%t169 = load ptr, ptr %t168
|
|
%t170 = call ptr @fn_llty(ptr %t169)
|
|
%t171 = call ptr @fn_str_concat(ptr @.str6499, ptr %t170)
|
|
%t172 = call ptr @fn_str_concat(ptr %t171, ptr @.str6500)
|
|
%t173 = load ptr, ptr %t0
|
|
%t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 1
|
|
%t175 = load ptr, ptr %t174
|
|
%t176 = call ptr @fn_str_concat(ptr %t172, ptr %t175)
|
|
%t177 = call ptr @fn_emit_bind(ptr %t176)
|
|
store ptr %t177, ptr %t178
|
|
%t179 = load ptr, ptr %t178
|
|
%t180 = load ptr, ptr %t149
|
|
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 3
|
|
%t182 = load ptr, ptr %t181
|
|
%t183 = call ptr @fn_val(ptr %t179, ptr %t182)
|
|
store ptr %t183, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t184 = load ptr, ptr %t0
|
|
%t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 1
|
|
%t186 = load ptr, ptr %t185
|
|
%t187 = call i32 @fn_is_ui_ident(ptr %t186)
|
|
%t188 = icmp ne i32 %t187, 0
|
|
br i1 %t188, label %then39, label %ifend41
|
|
then39:
|
|
%t189 = load ptr, ptr %t0
|
|
%t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 1
|
|
%t191 = load ptr, ptr %t190
|
|
%t192 = call i32 @fn_ui_index_of(ptr %t191)
|
|
%t193 = call ptr @fn_itoa(i32 %t192)
|
|
%t194 = call ptr @fn_val(ptr %t193, ptr @.str6501)
|
|
store ptr %t194, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t195 = load ptr, ptr %t0
|
|
%t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 1
|
|
%t197 = load ptr, ptr %t196
|
|
%t198 = call ptr @fn_str_concat(ptr @.str6502, ptr %t197)
|
|
call void @fn_perr(ptr %t198)
|
|
br label %ifend29
|
|
ifend29:
|
|
%t199 = load ptr, ptr %t0
|
|
%t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 0
|
|
%t201 = load i32, ptr %t200
|
|
%t202 = icmp eq i32 %t201, 35
|
|
%t203 = zext i1 %t202 to i32
|
|
%t204 = icmp ne i32 %t203, 0
|
|
br i1 %t204, label %then42, label %ifend44
|
|
then42:
|
|
%t205 = load ptr, ptr %t0
|
|
%t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 4
|
|
%t207 = load ptr, ptr %t206
|
|
%t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 0
|
|
%t209 = load i32, ptr %t208
|
|
%t210 = icmp eq i32 %t209, 33
|
|
%t211 = zext i1 %t210 to i32
|
|
%t212 = icmp ne i32 %t211, 0
|
|
br i1 %t212, label %then45, label %ifend47
|
|
then45:
|
|
%t213 = load ptr, ptr %t0
|
|
%t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 4
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1
|
|
%t217 = load ptr, ptr %t216
|
|
%t218 = call i32 @fn_str_eq(ptr %t217, ptr @.str6503)
|
|
%t219 = icmp ne i32 %t218, 0
|
|
br i1 %t219, label %then48, label %ifend50
|
|
then48:
|
|
%t220 = load ptr, ptr %t0
|
|
%t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1
|
|
%t222 = load ptr, ptr %t221
|
|
%t223 = call i32 @fn_color_lookup(ptr %t222)
|
|
store i32 %t223, ptr %t224
|
|
%t225 = load i32, ptr %t224
|
|
%t226 = icmp slt i32 %t225, 0
|
|
%t227 = zext i1 %t226 to i32
|
|
%t228 = icmp ne i32 %t227, 0
|
|
br i1 %t228, label %then51, label %ifend53
|
|
then51:
|
|
%t229 = load ptr, ptr %t0
|
|
%t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 1
|
|
%t231 = load ptr, ptr %t230
|
|
%t232 = call ptr @fn_str_concat(ptr @.str6504, ptr %t231)
|
|
call void @fn_perr(ptr %t232)
|
|
br label %ifend53
|
|
ifend53:
|
|
%t233 = load i32, ptr %t224
|
|
%t234 = call ptr @fn_itoa(i32 %t233)
|
|
%t235 = call ptr @fn_val(ptr %t234, ptr @.str6505)
|
|
store ptr %t235, ptr %retval
|
|
br label %ret
|
|
ifend50:
|
|
%t236 = load ptr, ptr %t0
|
|
%t237 = getelementptr inbounds %Cmp_Node, ptr %t236, i32 0, i32 4
|
|
%t238 = load ptr, ptr %t237
|
|
%t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1
|
|
%t240 = load ptr, ptr %t239
|
|
%t241 = load ptr, ptr %t0
|
|
%t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 1
|
|
%t243 = load ptr, ptr %t242
|
|
%t244 = call i32 @fn_enum_ordinal(ptr %t240, ptr %t243)
|
|
store i32 %t244, ptr %t245
|
|
%t246 = load i32, ptr %t245
|
|
%t247 = icmp sge i32 %t246, 0
|
|
%t248 = zext i1 %t247 to i32
|
|
%t249 = icmp ne i32 %t248, 0
|
|
br i1 %t249, label %then54, label %ifend56
|
|
then54:
|
|
%t250 = load i32, ptr %t245
|
|
%t251 = call ptr @fn_itoa(i32 %t250)
|
|
%t252 = call ptr @fn_val(ptr %t251, ptr @.str6506)
|
|
store ptr %t252, ptr %retval
|
|
br label %ret
|
|
ifend56:
|
|
br label %ifend47
|
|
ifend47:
|
|
%t253 = load ptr, ptr %t0
|
|
%t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 4
|
|
%t255 = load ptr, ptr %t254
|
|
%t256 = call ptr @fn_static_type(ptr %t255)
|
|
store ptr %t256, ptr %t257
|
|
%t258 = load ptr, ptr %t257
|
|
%t259 = icmp ne ptr %t258, null
|
|
%t260 = zext i1 %t259 to i32
|
|
%t261 = icmp ne i32 %t260, 0
|
|
br i1 %t261, label %then57, label %ifend59
|
|
then57:
|
|
%t262 = load ptr, ptr %t257
|
|
%t263 = load ptr, ptr %t0
|
|
%t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 1
|
|
%t265 = load ptr, ptr %t264
|
|
%t266 = call ptr @fn_computed_expr(ptr %t262, ptr %t265)
|
|
store ptr %t266, ptr %t267
|
|
%t268 = load ptr, ptr %t267
|
|
%t269 = icmp ne ptr %t268, null
|
|
%t270 = zext i1 %t269 to i32
|
|
%t271 = icmp ne i32 %t270, 0
|
|
br i1 %t271, label %then60, label %ifend62
|
|
then60:
|
|
%t272 = load ptr, ptr %t267
|
|
%t273 = load ptr, ptr %t0
|
|
%t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 4
|
|
%t275 = load ptr, ptr %t274
|
|
%t276 = call ptr @fn_qualify_fields(ptr %t272, ptr %t275)
|
|
%t277 = call ptr @fn_emit_expr(ptr %t276)
|
|
store ptr %t277, ptr %retval
|
|
br label %ret
|
|
ifend62:
|
|
br label %ifend59
|
|
ifend59:
|
|
%t278 = load ptr, ptr %t0
|
|
%t279 = call ptr @fn_emit_member_addr(ptr %t278)
|
|
store ptr %t279, ptr %t280
|
|
%t281 = load ptr, ptr %t280
|
|
%t282 = load ptr, ptr @g_g_addr_ty
|
|
%t283 = call ptr @fn_emit_load_at(ptr %t281, ptr %t282)
|
|
store ptr %t283, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t284 = load ptr, ptr %t0
|
|
%t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 0
|
|
%t286 = load i32, ptr %t285
|
|
%t287 = icmp eq i32 %t286, 36
|
|
%t288 = zext i1 %t287 to i32
|
|
%t289 = icmp ne i32 %t288, 0
|
|
br i1 %t289, label %then63, label %ifend65
|
|
then63:
|
|
%t290 = load ptr, ptr %t0
|
|
%t291 = call ptr @fn_emit_index_addr(ptr %t290)
|
|
store ptr %t291, ptr %t292
|
|
%t293 = load ptr, ptr @g_g_addr_ty
|
|
%t294 = call i32 @fn_str_eq(ptr %t293, ptr @.str6507)
|
|
%t295 = icmp ne i32 %t294, 0
|
|
br i1 %t295, label %then66, label %ifend68
|
|
then66:
|
|
%t296 = load ptr, ptr %t292
|
|
%t297 = call ptr @fn_str_concat(ptr @.str6508, ptr %t296)
|
|
%t298 = call ptr @fn_emit_bind(ptr %t297)
|
|
store ptr %t298, ptr %t299
|
|
%t300 = load ptr, ptr %t299
|
|
%t301 = call ptr @fn_str_concat(ptr @.str6509, ptr %t300)
|
|
%t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str6510)
|
|
%t303 = call ptr @fn_emit_bind(ptr %t302)
|
|
%t304 = call ptr @fn_val(ptr %t303, ptr @.str6511)
|
|
store ptr %t304, ptr %retval
|
|
br label %ret
|
|
ifend68:
|
|
%t305 = load ptr, ptr %t292
|
|
%t306 = load ptr, ptr @g_g_addr_ty
|
|
%t307 = call ptr @fn_emit_load_at(ptr %t305, ptr %t306)
|
|
store ptr %t307, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t308 = load ptr, ptr %t0
|
|
%t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 0
|
|
%t310 = load i32, ptr %t309
|
|
%t311 = icmp eq i32 %t310, 49
|
|
%t312 = zext i1 %t311 to i32
|
|
%t313 = icmp ne i32 %t312, 0
|
|
br i1 %t313, label %then69, label %ifend71
|
|
then69:
|
|
%t314 = load ptr, ptr %t0
|
|
%t315 = call ptr @fn_emit_emit(ptr %t314)
|
|
store ptr %t315, ptr %retval
|
|
br label %ret
|
|
ifend71:
|
|
%t316 = load ptr, ptr %t0
|
|
%t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 0
|
|
%t318 = load i32, ptr %t317
|
|
%t319 = icmp eq i32 %t318, 52
|
|
%t320 = zext i1 %t319 to i32
|
|
%t321 = icmp ne i32 %t320, 0
|
|
br i1 %t321, label %then72, label %ifend74
|
|
then72:
|
|
%t322 = load ptr, ptr %t0
|
|
%t323 = call ptr @fn_emit_try(ptr %t322)
|
|
store ptr %t323, ptr %retval
|
|
br label %ret
|
|
ifend74:
|
|
%t324 = load ptr, ptr %t0
|
|
%t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 0
|
|
%t326 = load i32, ptr %t325
|
|
%t327 = icmp eq i32 %t326, 34
|
|
%t328 = zext i1 %t327 to i32
|
|
%t329 = icmp ne i32 %t328, 0
|
|
br i1 %t329, label %then75, label %ifend77
|
|
then75:
|
|
%t330 = load ptr, ptr %t0
|
|
%t331 = call ptr @fn_emit_call(ptr %t330)
|
|
store ptr %t331, ptr %retval
|
|
br label %ret
|
|
ifend77:
|
|
%t332 = load ptr, ptr %t0
|
|
%t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 0
|
|
%t334 = load i32, ptr %t333
|
|
%t335 = icmp eq i32 %t334, 37
|
|
%t336 = zext i1 %t335 to i32
|
|
%t337 = icmp ne i32 %t336, 0
|
|
br i1 %t337, label %then78, label %ifend80
|
|
then78:
|
|
%t338 = load ptr, ptr %t0
|
|
%t339 = call ptr @fn_emit_bin(ptr %t338)
|
|
store ptr %t339, ptr %retval
|
|
br label %ret
|
|
ifend80:
|
|
%t340 = load ptr, ptr %t0
|
|
%t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 0
|
|
%t342 = load i32, ptr %t341
|
|
%t343 = icmp eq i32 %t342, 38
|
|
%t344 = zext i1 %t343 to i32
|
|
%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 4
|
|
%t348 = load ptr, ptr %t347
|
|
%t349 = call ptr @fn_emit_expr(ptr %t348)
|
|
store ptr %t349, ptr %t350
|
|
%t351 = load ptr, ptr %t350
|
|
%t352 = getelementptr inbounds %Cmp_Val, ptr %t351, i32 0, i32 1
|
|
%t353 = load ptr, ptr %t352
|
|
%t354 = call ptr @fn_llty(ptr %t353)
|
|
%t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str6512)
|
|
%t356 = icmp ne i32 %t355, 0
|
|
br i1 %t356, label %then84, label %ifend86
|
|
then84:
|
|
%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 @.str6513)
|
|
%t361 = icmp ne i32 %t360, 0
|
|
br i1 %t361, label %then87, label %ifend89
|
|
then87:
|
|
%t362 = load ptr, ptr %t350
|
|
%t363 = getelementptr inbounds %Cmp_Val, ptr %t362, i32 0, i32 0
|
|
%t364 = load ptr, ptr %t363
|
|
%t365 = call ptr @fn_str_concat(ptr @.str6514, ptr %t364)
|
|
%t366 = call ptr @fn_emit_bind(ptr %t365)
|
|
%t367 = call ptr @fn_val(ptr %t366, ptr @.str6515)
|
|
store ptr %t367, ptr %retval
|
|
br label %ret
|
|
ifend89:
|
|
%t368 = load ptr, ptr %t0
|
|
%t369 = getelementptr inbounds %Cmp_Node, ptr %t368, i32 0, i32 1
|
|
%t370 = load ptr, ptr %t369
|
|
%t371 = call i32 @fn_str_eq(ptr %t370, ptr @.str6516)
|
|
%t372 = icmp ne i32 %t371, 0
|
|
br i1 %t372, label %then90, label %ifend92
|
|
then90:
|
|
%t373 = load ptr, ptr %t350
|
|
%t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0
|
|
%t375 = load ptr, ptr %t374
|
|
%t376 = call ptr @fn_str_concat(ptr @.str6517, ptr %t375)
|
|
%t377 = call ptr @fn_str_concat(ptr %t376, ptr @.str6518)
|
|
%t378 = call ptr @fn_emit_bind(ptr %t377)
|
|
%t379 = call ptr @fn_val(ptr %t378, ptr @.str6519)
|
|
store ptr %t379, ptr %retval
|
|
br label %ret
|
|
ifend92:
|
|
br label %ifend86
|
|
ifend86:
|
|
%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 @.str6520)
|
|
%t384 = icmp ne i32 %t383, 0
|
|
br i1 %t384, label %then93, label %ifend95
|
|
then93:
|
|
%t385 = load ptr, ptr %t350
|
|
%t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0
|
|
%t387 = load ptr, ptr %t386
|
|
%t388 = call ptr @fn_str_concat(ptr @.str6521, ptr %t387)
|
|
%t389 = call ptr @fn_emit_bind(ptr %t388)
|
|
%t390 = call ptr @fn_val(ptr %t389, ptr @.str6522)
|
|
store ptr %t390, ptr %retval
|
|
br label %ret
|
|
ifend95:
|
|
%t391 = load ptr, ptr %t0
|
|
%t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 1
|
|
%t393 = load ptr, ptr %t392
|
|
%t394 = call i32 @fn_str_eq(ptr %t393, ptr @.str6523)
|
|
%t395 = icmp ne i32 %t394, 0
|
|
br i1 %t395, label %then96, label %ifend98
|
|
then96:
|
|
%t396 = load ptr, ptr %t350
|
|
%t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0
|
|
%t398 = load ptr, ptr %t397
|
|
%t399 = call ptr @fn_str_concat(ptr @.str6524, ptr %t398)
|
|
%t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str6525)
|
|
%t401 = call ptr @fn_emit_bind(ptr %t400)
|
|
%t402 = call ptr @fn_val(ptr %t401, ptr @.str6526)
|
|
store ptr %t402, ptr %retval
|
|
br label %ret
|
|
ifend98:
|
|
%t403 = load ptr, ptr %t350
|
|
%t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0
|
|
%t405 = load ptr, ptr %t404
|
|
%t406 = call ptr @fn_str_concat(ptr @.str6527, ptr %t405)
|
|
%t407 = call ptr @fn_str_concat(ptr %t406, ptr @.str6528)
|
|
%t408 = call ptr @fn_emit_bind(ptr %t407)
|
|
store ptr %t408, ptr %t409
|
|
%t410 = load ptr, ptr %t409
|
|
%t411 = call ptr @fn_str_concat(ptr @.str6529, ptr %t410)
|
|
%t412 = call ptr @fn_str_concat(ptr %t411, ptr @.str6530)
|
|
%t413 = call ptr @fn_emit_bind(ptr %t412)
|
|
%t414 = call ptr @fn_val(ptr %t413, ptr @.str6531)
|
|
store ptr %t414, ptr %retval
|
|
br label %ret
|
|
ifend83:
|
|
call void @fn_perr(ptr @.str6532)
|
|
%t415 = call ptr @fn_val(ptr @.str6533, ptr @.str6534)
|
|
store ptr %t415, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t416 = load ptr, ptr %retval
|
|
ret ptr %t416
|
|
}
|
|
|
|
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 @.str6535)
|
|
%t3 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t3)
|
|
call void @fn_emit(ptr @.str6536)
|
|
%t4 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str6537)
|
|
%t5 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t5)
|
|
call void @fn_emit(ptr @.str6538)
|
|
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 @.str6539, ptr %t5
|
|
store ptr @.str6540, 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 @.str6541, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str6542)
|
|
%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 @.str6543, 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 @.str6544, 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 @.str6545)
|
|
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 @.str6546)
|
|
%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 @.str6547, ptr %t106)
|
|
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str6548)
|
|
%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 @.str6549)
|
|
%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 @.str6550, ptr %t117)
|
|
%t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str6551)
|
|
%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 @.str6552, 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 @.str6553)
|
|
%t129 = icmp ne i32 %t128, 0
|
|
br i1 %t129, label %then24, label %ifend26
|
|
then24:
|
|
store ptr @.str6554, 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 @.str6555)
|
|
%t134 = icmp ne i32 %t133, 0
|
|
br i1 %t134, label %then27, label %ifend29
|
|
then27:
|
|
store ptr @.str6556, 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 @.str6557)
|
|
%t139 = icmp ne i32 %t138, 0
|
|
br i1 %t139, label %then30, label %ifend32
|
|
then30:
|
|
store ptr @.str6558, ptr %t124
|
|
br label %ifend32
|
|
ifend32:
|
|
%t140 = load ptr, ptr %t124
|
|
%t141 = call ptr @fn_str_concat(ptr %t140, ptr @.str6559)
|
|
%t142 = load ptr, ptr %t93
|
|
%t143 = call ptr @fn_str_concat(ptr %t141, ptr %t142)
|
|
%t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str6560)
|
|
%t145 = load ptr, ptr %t123
|
|
%t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145)
|
|
%t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str6561)
|
|
%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 @.str6562, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str6563)
|
|
%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 @.str6564)
|
|
store ptr %t19, ptr %t20
|
|
%t21 = call ptr @fn_lbl(ptr @.str6565)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = call ptr @fn_lbl(ptr @.str6566)
|
|
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 @.str6567)
|
|
%t27 = load ptr, ptr %t12
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str6568)
|
|
%t28 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t28)
|
|
call void @fn_emit(ptr @.str6569)
|
|
%t29 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t29)
|
|
call void @fn_emit(ptr @.str6570)
|
|
br label %ifend2
|
|
else1:
|
|
call void @fn_emit(ptr @.str6571)
|
|
%t30 = load ptr, ptr %t12
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str6572)
|
|
%t31 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str6573)
|
|
%t32 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str6574)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t33 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str6575)
|
|
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 @.str6576)
|
|
%t41 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str6577)
|
|
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 @.str6578)
|
|
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 @.str6579)
|
|
%t63 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str6580)
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend8
|
|
ifend8:
|
|
%t64 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str6581)
|
|
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 @.str6582)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = call ptr @fn_lbl(ptr @.str6583)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = call ptr @fn_lbl(ptr @.str6584)
|
|
store ptr %t5, ptr %t6
|
|
call void @fn_emit(ptr @.str6585)
|
|
%t7 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t7)
|
|
call void @fn_emit(ptr @.str6586)
|
|
%t8 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t8)
|
|
call void @fn_emit(ptr @.str6587)
|
|
%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 @.str6588, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str6589)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
store ptr %t19, ptr %t20
|
|
call void @fn_emit(ptr @.str6590)
|
|
%t21 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str6591)
|
|
%t22 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t22)
|
|
call void @fn_emit(ptr @.str6592)
|
|
%t23 = load ptr, ptr %t6
|
|
call void @fn_emit(ptr %t23)
|
|
call void @fn_emit(ptr @.str6593)
|
|
%t24 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str6594)
|
|
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 @.str6595)
|
|
%t34 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str6596)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t35 = load ptr, ptr %t6
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str6597)
|
|
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 @.str6598)
|
|
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 @.str6599, 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 @.str6600)
|
|
%t16 = call ptr @fn_lbl(ptr @.str6601)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = call ptr @fn_lbl(ptr @.str6602)
|
|
store ptr %t18, ptr %t19
|
|
%t20 = call ptr @fn_lbl(ptr @.str6603)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = call ptr @fn_lbl(ptr @.str6604)
|
|
store ptr %t22, ptr %t23
|
|
call void @fn_emit(ptr @.str6605)
|
|
%t24 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str6606)
|
|
%t25 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str6607)
|
|
%t26 = load ptr, ptr %t2
|
|
%t27 = call ptr @fn_str_concat(ptr @.str6608, 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 @.str6609, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str6610)
|
|
%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 @.str6611)
|
|
%t44 = load ptr, ptr %t43
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str6612)
|
|
%t45 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t45)
|
|
call void @fn_emit(ptr @.str6613)
|
|
%t46 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t46)
|
|
call void @fn_emit(ptr @.str6614)
|
|
%t47 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t47)
|
|
call void @fn_emit(ptr @.str6615)
|
|
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 @.str6616)
|
|
%t57 = load ptr, ptr %t21
|
|
call void @fn_emit(ptr %t57)
|
|
call void @fn_emit(ptr @.str6617)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t58 = load ptr, ptr %t21
|
|
call void @fn_emit(ptr %t58)
|
|
call void @fn_emit(ptr @.str6618)
|
|
%t59 = load ptr, ptr %t2
|
|
%t60 = call ptr @fn_str_concat(ptr @.str6619, 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 @.str6620, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str6621)
|
|
%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 @.str6622, ptr %t68, ptr %t69)
|
|
call void @fn_emit(ptr @.str6623)
|
|
%t70 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str6624)
|
|
%t71 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str6625)
|
|
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 @.str6626)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit(ptr @.str6627)
|
|
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 @.str6628)
|
|
%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 @.str6629)
|
|
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 @.str6630, 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 @.str6631, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str6632)
|
|
%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 @.str6633, ptr %t68)
|
|
%t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str6634)
|
|
%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 @.str6635)
|
|
store ptr %t76, ptr %t77
|
|
%t78 = call ptr @fn_lbl(ptr @.str6636)
|
|
store ptr %t78, ptr %t79
|
|
call void @fn_emit(ptr @.str6637)
|
|
%t80 = load ptr, ptr %t32
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str6638)
|
|
%t81 = load ptr, ptr %t77
|
|
call void @fn_emit(ptr %t81)
|
|
call void @fn_emit(ptr @.str6639)
|
|
%t82 = load ptr, ptr %t79
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str6640)
|
|
%t83 = load ptr, ptr %t77
|
|
call void @fn_emit(ptr %t83)
|
|
call void @fn_emit(ptr @.str6641)
|
|
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 @.str6642)
|
|
%t91 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str6643)
|
|
br label %ifend14
|
|
ifend14:
|
|
%t92 = load ptr, ptr %t79
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str6644)
|
|
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 @.str6645)
|
|
%t106 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str6646)
|
|
br label %ifend20
|
|
ifend20:
|
|
%t107 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str6647)
|
|
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 @.str6648, 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 @.str6649, ptr %t96
|
|
%t97 = load ptr, ptr %t95
|
|
%t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str6650)
|
|
%t99 = icmp ne i32 %t98, 0
|
|
br i1 %t99, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str6651, 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 @.str6652)
|
|
%t174 = load ptr, ptr %t173
|
|
call void @fn_emit(ptr %t174)
|
|
call void @fn_emit(ptr @.str6653)
|
|
call void @fn_emit(ptr @.str6654)
|
|
%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 @.str6655)
|
|
%t180 = load ptr, ptr %t173
|
|
call void @fn_emit(ptr %t180)
|
|
call void @fn_emit(ptr @.str6656)
|
|
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 @.str6657)
|
|
%t194 = load ptr, ptr %t193
|
|
call void @fn_emit(ptr %t194)
|
|
call void @fn_emit(ptr @.str6658)
|
|
%t195 = load i32, ptr %t181
|
|
%t196 = call ptr @fn_itoa(i32 %t195)
|
|
call void @fn_emit(ptr %t196)
|
|
call void @fn_emit(ptr @.str6659)
|
|
call void @fn_emit(ptr @.str6660)
|
|
%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 @.str6661)
|
|
%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 @.str6662)
|
|
%t209 = load ptr, ptr %t193
|
|
call void @fn_emit(ptr %t209)
|
|
call void @fn_emit(ptr @.str6663)
|
|
%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 @.str6664, 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 @.str6665)
|
|
%t230 = icmp ne i32 %t229, 0
|
|
br i1 %t230, label %then31, label %ifend33
|
|
then31:
|
|
store ptr @.str6666, ptr %t225
|
|
br label %ifend33
|
|
ifend33:
|
|
%t231 = call ptr @fn_find_extern(ptr @.str6667)
|
|
%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 @.str6668)
|
|
%t235 = call ptr @fn_net_send_sym()
|
|
call void @fn_emit(ptr %t235)
|
|
call void @fn_emit(ptr @.str6669)
|
|
%t236 = load ptr, ptr %t225
|
|
call void @fn_emit(ptr %t236)
|
|
call void @fn_emit(ptr @.str6670)
|
|
%t237 = load i32, ptr %t181
|
|
%t238 = call ptr @fn_itoa(i32 %t237)
|
|
call void @fn_emit(ptr %t238)
|
|
call void @fn_emit(ptr @.str6671)
|
|
%t239 = call ptr @fn_val(ptr @.str6672, ptr @.str6673)
|
|
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 @.str6674)
|
|
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 @.str6675)
|
|
%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 @.str6676)
|
|
%t280 = load ptr, ptr %t279
|
|
call void @fn_emit(ptr %t280)
|
|
call void @fn_emit(ptr @.str6677)
|
|
%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 @.str6678)
|
|
%t284 = load ptr, ptr %t241
|
|
%t285 = call ptr @fn_buf_str(ptr %t284)
|
|
call void @fn_emit(ptr %t285)
|
|
call void @fn_emit(ptr @.str6679)
|
|
%t286 = load ptr, ptr %t279
|
|
%t287 = call ptr @fn_val(ptr %t286, ptr @.str6680)
|
|
store ptr %t287, ptr %retval
|
|
br label %ret
|
|
ifend45:
|
|
call void @fn_emit(ptr @.str6681)
|
|
%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 @.str6682)
|
|
%t291 = load ptr, ptr %t241
|
|
%t292 = call ptr @fn_buf_str(ptr %t291)
|
|
call void @fn_emit(ptr %t292)
|
|
call void @fn_emit(ptr @.str6683)
|
|
%t293 = call ptr @fn_val(ptr @.str6684, ptr @.str6685)
|
|
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
|
|
%t13 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t54 = alloca ptr
|
|
%t67 = alloca ptr
|
|
%t165 = alloca ptr
|
|
%t202 = alloca ptr
|
|
%t238 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8
|
|
%t3 = load i32, ptr %t2
|
|
call void @fn_emit_cov_hit(i32 %t3)
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 0
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = icmp eq i32 %t6, 10
|
|
%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 3
|
|
%t12 = load ptr, ptr %t11
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = icmp eq ptr %t14, null
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %then3, label %ifend5
|
|
then3:
|
|
%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 1
|
|
%t25 = load ptr, ptr %t24
|
|
store ptr %t25, ptr %t13
|
|
%t26 = load ptr, ptr %t13
|
|
%t27 = call ptr @fn_llty(ptr %t26)
|
|
%t28 = call ptr @fn_emit_alloca(ptr %t27)
|
|
store ptr %t28, ptr %t29
|
|
%t30 = load ptr, ptr %t13
|
|
%t31 = call ptr @fn_llty(ptr %t30)
|
|
%t32 = load ptr, ptr %t22
|
|
%t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = load ptr, ptr %t29
|
|
call void @fn_store_at(ptr %t31, ptr %t34, ptr %t35)
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = load ptr, ptr %t29
|
|
%t40 = load ptr, ptr %t13
|
|
call void @fn_loc_push(ptr %t38, ptr %t39, ptr %t40)
|
|
%t41 = load ptr, ptr %t0
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 2
|
|
%t43 = load i32, ptr %t42
|
|
call void @fn_loc_set_mut(i32 %t43)
|
|
br label %ret
|
|
ifend5:
|
|
%t44 = load ptr, ptr %t13
|
|
%t45 = call ptr @fn_llty(ptr %t44)
|
|
%t46 = call ptr @fn_emit_alloca(ptr %t45)
|
|
store ptr %t46, ptr %t47
|
|
%t48 = load ptr, ptr %t0
|
|
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = icmp eq ptr %t50, null
|
|
%t52 = zext i1 %t51 to i32
|
|
%t53 = icmp ne i32 %t52, 0
|
|
br i1 %t53, label %then6, label %else7
|
|
then6:
|
|
store ptr @.str6686, ptr %t54
|
|
%t55 = load ptr, ptr %t13
|
|
%t56 = call ptr @fn_llty(ptr %t55)
|
|
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str6687)
|
|
%t58 = icmp ne i32 %t57, 0
|
|
br i1 %t58, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str6688, ptr %t54
|
|
br label %ifend11
|
|
ifend11:
|
|
%t59 = load ptr, ptr %t13
|
|
%t60 = call ptr @fn_llty(ptr %t59)
|
|
%t61 = load ptr, ptr %t54
|
|
%t62 = load ptr, ptr %t47
|
|
call void @fn_store_at(ptr %t60, ptr %t61, ptr %t62)
|
|
br label %ifend8
|
|
else7:
|
|
%t63 = load ptr, ptr %t0
|
|
%t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4
|
|
%t65 = load ptr, ptr %t64
|
|
%t66 = call ptr @fn_emit_expr(ptr %t65)
|
|
store ptr %t66, ptr %t67
|
|
%t68 = load ptr, ptr %t13
|
|
%t69 = call ptr @fn_llty(ptr %t68)
|
|
%t70 = load ptr, ptr %t67
|
|
%t71 = load ptr, ptr %t13
|
|
%t72 = call ptr @fn_coerce_code(ptr %t70, ptr %t71)
|
|
%t73 = load ptr, ptr %t47
|
|
call void @fn_store_at(ptr %t69, ptr %t72, ptr %t73)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t74 = load ptr, ptr %t0
|
|
%t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = load ptr, ptr %t47
|
|
%t78 = load ptr, ptr %t13
|
|
call void @fn_loc_push(ptr %t76, ptr %t77, ptr %t78)
|
|
%t79 = load ptr, ptr %t0
|
|
%t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 2
|
|
%t81 = load i32, ptr %t80
|
|
call void @fn_loc_set_mut(i32 %t81)
|
|
br label %ret
|
|
ifend2:
|
|
%t82 = load ptr, ptr %t0
|
|
%t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0
|
|
%t84 = load i32, ptr %t83
|
|
%t85 = icmp eq i32 %t84, 11
|
|
%t86 = zext i1 %t85 to i32
|
|
%t87 = icmp ne i32 %t86, 0
|
|
br i1 %t87, label %then12, label %ifend14
|
|
then12:
|
|
%t88 = load ptr, ptr %t0
|
|
call void @fn_emit_assign(ptr %t88)
|
|
br label %ret
|
|
ifend14:
|
|
%t89 = load ptr, ptr %t0
|
|
%t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0
|
|
%t91 = load i32, ptr %t90
|
|
%t92 = icmp eq i32 %t91, 12
|
|
%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
|
|
call void @fn_emit_if(ptr %t95)
|
|
br label %ret
|
|
ifend17:
|
|
%t96 = load ptr, ptr %t0
|
|
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 0
|
|
%t98 = load i32, ptr %t97
|
|
%t99 = icmp eq i32 %t98, 13
|
|
%t100 = zext i1 %t99 to i32
|
|
%t101 = icmp ne i32 %t100, 0
|
|
br i1 %t101, label %then18, label %ifend20
|
|
then18:
|
|
%t102 = load ptr, ptr %t0
|
|
call void @fn_emit_while(ptr %t102)
|
|
br label %ret
|
|
ifend20:
|
|
%t103 = load ptr, ptr %t0
|
|
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 0
|
|
%t105 = load i32, ptr %t104
|
|
%t106 = icmp eq i32 %t105, 14
|
|
%t107 = zext i1 %t106 to i32
|
|
%t108 = icmp ne i32 %t107, 0
|
|
br i1 %t108, label %then21, label %ifend23
|
|
then21:
|
|
%t109 = load ptr, ptr %t0
|
|
call void @fn_emit_for(ptr %t109)
|
|
br label %ret
|
|
ifend23:
|
|
%t110 = load ptr, ptr %t0
|
|
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 0
|
|
%t112 = load i32, ptr %t111
|
|
%t113 = icmp eq i32 %t112, 15
|
|
%t114 = zext i1 %t113 to i32
|
|
%t115 = icmp ne i32 %t114, 0
|
|
br i1 %t115, label %then24, label %ifend26
|
|
then24:
|
|
%t116 = load ptr, ptr %t0
|
|
call void @fn_emit_return(ptr %t116)
|
|
br label %ret
|
|
ifend26:
|
|
%t117 = load ptr, ptr %t0
|
|
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 0
|
|
%t119 = load i32, ptr %t118
|
|
%t120 = icmp eq i32 %t119, 17
|
|
%t121 = zext i1 %t120 to i32
|
|
%t122 = icmp ne i32 %t121, 0
|
|
br i1 %t122, label %then27, label %ifend29
|
|
then27:
|
|
call void @fn_emit(ptr @.str6689)
|
|
%t123 = load ptr, ptr @g_brk_lbl
|
|
%t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = load i32, ptr @g_nloop
|
|
%t127 = sub i32 %t126, 1
|
|
%t128 = getelementptr inbounds ptr, ptr %t125, i32 %t127
|
|
%t129 = load ptr, ptr %t128
|
|
call void @fn_emit(ptr %t129)
|
|
call void @fn_emit(ptr @.str6690)
|
|
store i32 1, ptr @g_g_term
|
|
br label %ret
|
|
ifend29:
|
|
%t130 = load ptr, ptr %t0
|
|
%t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 0
|
|
%t132 = load i32, ptr %t131
|
|
%t133 = icmp eq i32 %t132, 18
|
|
%t134 = zext i1 %t133 to i32
|
|
%t135 = icmp ne i32 %t134, 0
|
|
br i1 %t135, label %then30, label %ifend32
|
|
then30:
|
|
call void @fn_emit(ptr @.str6691)
|
|
%t136 = load ptr, ptr @g_cnt_lbl
|
|
%t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0
|
|
%t138 = load ptr, ptr %t137
|
|
%t139 = load i32, ptr @g_nloop
|
|
%t140 = sub i32 %t139, 1
|
|
%t141 = getelementptr inbounds ptr, ptr %t138, i32 %t140
|
|
%t142 = load ptr, ptr %t141
|
|
call void @fn_emit(ptr %t142)
|
|
call void @fn_emit(ptr @.str6692)
|
|
store i32 1, ptr @g_g_term
|
|
br label %ret
|
|
ifend32:
|
|
%t143 = load ptr, ptr %t0
|
|
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 0
|
|
%t145 = load i32, ptr %t144
|
|
%t146 = icmp eq i32 %t145, 19
|
|
%t147 = zext i1 %t146 to i32
|
|
%t148 = icmp ne i32 %t147, 0
|
|
br i1 %t148, label %then33, label %ifend35
|
|
then33:
|
|
%t149 = load ptr, ptr %t0
|
|
call void @fn_emit_match(ptr %t149)
|
|
br label %ret
|
|
ifend35:
|
|
%t150 = load ptr, ptr %t0
|
|
%t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 0
|
|
%t152 = load i32, ptr %t151
|
|
%t153 = icmp eq i32 %t152, 21
|
|
%t154 = zext i1 %t153 to i32
|
|
%t155 = icmp ne i32 %t154, 0
|
|
br i1 %t155, label %then36, label %ifend38
|
|
then36:
|
|
%t156 = load ptr, ptr %t0
|
|
call void @fn_emit_query(ptr %t156)
|
|
br label %ret
|
|
ifend38:
|
|
%t157 = load ptr, ptr %t0
|
|
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 0
|
|
%t159 = load i32, ptr %t158
|
|
%t160 = icmp eq i32 %t159, 22
|
|
%t161 = zext i1 %t160 to i32
|
|
%t162 = icmp ne i32 %t161, 0
|
|
br i1 %t162, label %then39, label %ifend41
|
|
then39:
|
|
%t163 = load ptr, ptr %t0
|
|
%t164 = call ptr @fn_emit_spawn(ptr %t163)
|
|
store ptr %t164, ptr %t165
|
|
br label %ret
|
|
ifend41:
|
|
%t166 = load ptr, ptr %t0
|
|
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 0
|
|
%t168 = load i32, ptr %t167
|
|
%t169 = icmp eq i32 %t168, 23
|
|
%t170 = zext i1 %t169 to i32
|
|
%t171 = icmp ne i32 %t170, 0
|
|
br i1 %t171, label %then42, label %ifend44
|
|
then42:
|
|
%t172 = load ptr, ptr %t0
|
|
call void @fn_emit_despawn(ptr %t172)
|
|
br label %ret
|
|
ifend44:
|
|
%t173 = load ptr, ptr %t0
|
|
%t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 0
|
|
%t175 = load i32, ptr %t174
|
|
%t176 = icmp eq i32 %t175, 28
|
|
%t177 = zext i1 %t176 to i32
|
|
%t178 = icmp ne i32 %t177, 0
|
|
br i1 %t178, label %then45, label %ifend47
|
|
then45:
|
|
%t179 = load ptr, ptr %t0
|
|
call void @fn_emit_toggle(ptr %t179)
|
|
br label %ret
|
|
ifend47:
|
|
%t180 = load ptr, ptr %t0
|
|
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 0
|
|
%t182 = load i32, ptr %t181
|
|
%t183 = icmp eq i32 %t182, 46
|
|
%t184 = zext i1 %t183 to i32
|
|
%t185 = icmp ne i32 %t184, 0
|
|
br i1 %t185, label %then48, label %ifend50
|
|
then48:
|
|
%t186 = load ptr, ptr %t0
|
|
call void @fn_emit_attach(ptr %t186)
|
|
br label %ret
|
|
ifend50:
|
|
%t187 = load ptr, ptr %t0
|
|
%t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 0
|
|
%t189 = load i32, ptr %t188
|
|
%t190 = icmp eq i32 %t189, 47
|
|
%t191 = zext i1 %t190 to i32
|
|
%t192 = icmp ne i32 %t191, 0
|
|
br i1 %t192, label %then51, label %ifend53
|
|
then51:
|
|
%t193 = load ptr, ptr %t0
|
|
call void @fn_emit_detach(ptr %t193)
|
|
br label %ret
|
|
ifend53:
|
|
%t194 = load ptr, ptr %t0
|
|
%t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 0
|
|
%t196 = load i32, ptr %t195
|
|
%t197 = icmp eq i32 %t196, 49
|
|
%t198 = zext i1 %t197 to i32
|
|
%t199 = icmp ne i32 %t198, 0
|
|
br i1 %t199, label %then54, label %ifend56
|
|
then54:
|
|
%t200 = load ptr, ptr %t0
|
|
%t201 = call ptr @fn_emit_emit(ptr %t200)
|
|
store ptr %t201, ptr %t202
|
|
br label %ret
|
|
ifend56:
|
|
%t203 = load ptr, ptr %t0
|
|
%t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 0
|
|
%t205 = load i32, ptr %t204
|
|
%t206 = icmp eq i32 %t205, 50
|
|
%t207 = zext i1 %t206 to i32
|
|
%t208 = icmp ne i32 %t207, 0
|
|
br i1 %t208, label %then57, label %ifend59
|
|
then57:
|
|
%t209 = load ptr, ptr @g_g_cancel_addr
|
|
%t210 = icmp eq ptr %t209, null
|
|
%t211 = zext i1 %t210 to i32
|
|
%t212 = icmp ne i32 %t211, 0
|
|
br i1 %t212, label %then60, label %ifend62
|
|
then60:
|
|
call void @fn_perr(ptr @.str6693)
|
|
br label %ifend62
|
|
ifend62:
|
|
call void @fn_emit(ptr @.str6694)
|
|
%t213 = load ptr, ptr @g_g_cancel_addr
|
|
call void @fn_emit(ptr %t213)
|
|
call void @fn_emit(ptr @.str6695)
|
|
br label %ret
|
|
ifend59:
|
|
%t214 = load ptr, ptr %t0
|
|
%t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 0
|
|
%t216 = load i32, ptr %t215
|
|
%t217 = icmp eq i32 %t216, 24
|
|
%t218 = zext i1 %t217 to i32
|
|
%t219 = icmp ne i32 %t218, 0
|
|
br i1 %t219, label %then63, label %ifend65
|
|
then63:
|
|
%t220 = load ptr, ptr %t0
|
|
call void @fn_emit_machine(ptr %t220)
|
|
br label %ret
|
|
ifend65:
|
|
%t221 = load ptr, ptr %t0
|
|
%t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 0
|
|
%t223 = load i32, ptr %t222
|
|
%t224 = icmp eq i32 %t223, 26
|
|
%t225 = zext i1 %t224 to i32
|
|
%t226 = icmp ne i32 %t225, 0
|
|
br i1 %t226, label %then66, label %ifend68
|
|
then66:
|
|
%t227 = load ptr, ptr %t0
|
|
call void @fn_emit_become(ptr %t227)
|
|
br label %ret
|
|
ifend68:
|
|
%t228 = load ptr, ptr %t0
|
|
%t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 0
|
|
%t230 = load i32, ptr %t229
|
|
%t231 = icmp eq i32 %t230, 16
|
|
%t232 = zext i1 %t231 to i32
|
|
%t233 = icmp ne i32 %t232, 0
|
|
br i1 %t233, label %then69, label %ifend71
|
|
then69:
|
|
%t234 = load ptr, ptr %t0
|
|
%t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 4
|
|
%t236 = load ptr, ptr %t235
|
|
%t237 = call ptr @fn_emit_expr(ptr %t236)
|
|
store ptr %t237, ptr %t238
|
|
br label %ret
|
|
ifend71:
|
|
call void @fn_perr(ptr @.str6696)
|
|
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:
|
|
%t21 = call i32 @fn_uses_engine_systems()
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t23 = load i32, ptr %retval
|
|
ret i32 %t23
|
|
}
|
|
|
|
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_uses_engine_systems() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = call ptr @fn_find_comp(ptr @.str6697)
|
|
%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:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t4 = call ptr @fn_find_comp(ptr @.str6698)
|
|
%t5 = icmp ne ptr %t4, null
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t8 = call ptr @fn_find_comp(ptr @.str6699)
|
|
%t9 = icmp ne ptr %t8, null
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t12 = call ptr @fn_find_comp(ptr @.str6700)
|
|
%t13 = icmp ne ptr %t12, null
|
|
%t14 = zext i1 %t13 to i32
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then9, label %ifend11
|
|
then9:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t16 = load i32, ptr %retval
|
|
ret i32 %t16
|
|
}
|
|
|
|
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 @.str6701)
|
|
call void @fn_emith(ptr @.str6702)
|
|
call void @fn_emith(ptr @.str6703)
|
|
%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 @.str6704)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emith(ptr @.str6705)
|
|
%t6 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call ptr @fn_str_concat(ptr @.str6706, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str6707)
|
|
call void @fn_emith(ptr %t10)
|
|
%t11 = load ptr, ptr %t7
|
|
%t12 = call ptr @fn_str_concat(ptr @.str6708, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str6709)
|
|
call void @fn_emith(ptr %t13)
|
|
%t14 = load ptr, ptr %t7
|
|
%t15 = call ptr @fn_str_concat(ptr @.str6710, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str6711)
|
|
call void @fn_emith(ptr %t16)
|
|
call void @fn_emith(ptr @.str6712)
|
|
%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 @.str6713)
|
|
call void @fn_emith(ptr @.str6714)
|
|
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 @.str6715, ptr %t21)
|
|
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str6716)
|
|
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 @.str6717, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str6718)
|
|
%t50 = load ptr, ptr %t7
|
|
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str6719)
|
|
%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 @.str6720)
|
|
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 @.str6721, ptr %t60)
|
|
%t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str6722)
|
|
%t63 = load ptr, ptr %t7
|
|
%t64 = call ptr @fn_str_concat(ptr %t62, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str6723)
|
|
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 @.str6724, ptr %t74)
|
|
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str6725)
|
|
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 @.str6726, ptr %t85)
|
|
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str6727)
|
|
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 @.str6728, ptr %t103)
|
|
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str6729)
|
|
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 @.str6730)
|
|
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 @.str6731, ptr %t22)
|
|
store ptr %t23, ptr %t24
|
|
call void @fn_emit(ptr @.str6732)
|
|
%t25 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str6733)
|
|
%t26 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t26)
|
|
call void @fn_emit(ptr @.str6734)
|
|
%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 @.str6735)
|
|
call void @fn_emit(ptr @.str6736)
|
|
%t35 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str6737)
|
|
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 @.str6738)
|
|
%t38 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t38)
|
|
call void @fn_emit(ptr @.str6739)
|
|
call void @fn_emit(ptr @.str6740)
|
|
%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 @.str6741)
|
|
%t41 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str6742)
|
|
call void @fn_emit(ptr @.str6743)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str6744)
|
|
call void @fn_emit(ptr @.str6745)
|
|
call void @fn_emit(ptr @.str6746)
|
|
call void @fn_emit(ptr @.str6747)
|
|
call void @fn_emit(ptr @.str6748)
|
|
call void @fn_emit(ptr @.str6749)
|
|
call void @fn_emit(ptr @.str6750)
|
|
call void @fn_emit(ptr @.str6751)
|
|
call void @fn_emit(ptr @.str6752)
|
|
%t42 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t42)
|
|
call void @fn_emit(ptr @.str6753)
|
|
call void @fn_emit(ptr @.str6754)
|
|
call void @fn_emit(ptr @.str6755)
|
|
call void @fn_emit(ptr @.str6756)
|
|
call void @fn_emit(ptr @.str6757)
|
|
call void @fn_emit(ptr @.str6758)
|
|
call void @fn_emit(ptr @.str6759)
|
|
call void @fn_emit(ptr @.str6760)
|
|
call void @fn_emit(ptr @.str6761)
|
|
call void @fn_emit(ptr @.str6762)
|
|
call void @fn_emit(ptr @.str6763)
|
|
call void @fn_emit(ptr @.str6764)
|
|
%t43 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t43)
|
|
call void @fn_emit(ptr @.str6765)
|
|
call void @fn_emit(ptr @.str6766)
|
|
call void @fn_emit(ptr @.str6767)
|
|
call void @fn_emit(ptr @.str6768)
|
|
call void @fn_emit(ptr @.str6769)
|
|
%t44 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str6770)
|
|
call void @fn_emit(ptr @.str6771)
|
|
call void @fn_emit(ptr @.str6772)
|
|
call void @fn_emit(ptr @.str6773)
|
|
call void @fn_emit(ptr @.str6774)
|
|
%t45 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t45)
|
|
call void @fn_emit(ptr @.str6775)
|
|
call void @fn_emit(ptr @.str6776)
|
|
call void @fn_emit(ptr @.str6777)
|
|
call void @fn_emit(ptr @.str6778)
|
|
call void @fn_emit(ptr @.str6779)
|
|
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 @.str6780)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
call void @fn_store_at(ptr @.str6781, ptr @.str6782, 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 @.str6783)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = call ptr @fn_lbl(ptr @.str6784)
|
|
store ptr %t43, ptr %t44
|
|
%t45 = call ptr @fn_lbl(ptr @.str6785)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = call ptr @fn_lbl(ptr @.str6786)
|
|
store ptr %t47, ptr %t48
|
|
call void @fn_emit(ptr @.str6787)
|
|
%t49 = load ptr, ptr %t42
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str6788)
|
|
%t50 = load ptr, ptr %t42
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str6789)
|
|
%t51 = load ptr, ptr %t4
|
|
%t52 = call ptr @fn_str_concat(ptr @.str6790, ptr %t51)
|
|
%t53 = call ptr @fn_emit_bind(ptr %t52)
|
|
store ptr %t53, ptr %t54
|
|
%t55 = call ptr @fn_emit_bind(ptr @.str6791)
|
|
store ptr %t55, ptr %t56
|
|
%t57 = load ptr, ptr %t54
|
|
%t58 = call ptr @fn_str_concat(ptr @.str6792, ptr %t57)
|
|
%t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str6793)
|
|
%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 @.str6794)
|
|
%t64 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str6795)
|
|
%t65 = load ptr, ptr %t44
|
|
call void @fn_emit(ptr %t65)
|
|
call void @fn_emit(ptr @.str6796)
|
|
%t66 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t66)
|
|
call void @fn_emit(ptr @.str6797)
|
|
%t67 = load ptr, ptr %t44
|
|
call void @fn_emit(ptr %t67)
|
|
call void @fn_emit(ptr @.str6798)
|
|
store i32 0, ptr @g_g_term
|
|
%t68 = load ptr, ptr %t4
|
|
%t69 = call ptr @fn_str_concat(ptr @.str6799, 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 @.str6800)
|
|
%t74 = load ptr, ptr %t73
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str6801)
|
|
%t75 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str6802)
|
|
%t76 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str6803)
|
|
%t77 = load ptr, ptr %t73
|
|
%t78 = call ptr @fn_str_concat(ptr @.str6804, 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 @.str6805, ptr %t81)
|
|
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str6806)
|
|
%t84 = call ptr @fn_emit_bind(ptr %t83)
|
|
store ptr %t84, ptr %t85
|
|
%t86 = call ptr @fn_lbl(ptr @.str6807)
|
|
store ptr %t86, ptr %t87
|
|
call void @fn_emit(ptr @.str6808)
|
|
%t88 = load ptr, ptr %t85
|
|
call void @fn_emit(ptr %t88)
|
|
call void @fn_emit(ptr @.str6809)
|
|
%t89 = load ptr, ptr %t87
|
|
call void @fn_emit(ptr %t89)
|
|
call void @fn_emit(ptr @.str6810)
|
|
%t90 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t90)
|
|
call void @fn_emit(ptr @.str6811)
|
|
%t91 = load ptr, ptr %t87
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str6812)
|
|
%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 @.str6813, 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 @.str6814)
|
|
%t127 = load ptr, ptr %t126
|
|
call void @fn_emit(ptr %t127)
|
|
call void @fn_emit(ptr @.str6815)
|
|
%t128 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t128)
|
|
call void @fn_emit(ptr @.str6816)
|
|
%t129 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t129)
|
|
call void @fn_emit(ptr @.str6817)
|
|
%t130 = load ptr, ptr %t126
|
|
%t131 = call ptr @fn_str_concat(ptr @.str6818, 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 @.str6819, ptr %t134)
|
|
%t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str6820)
|
|
%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 @.str6821, 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 @.str6822, ptr %t148)
|
|
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str6823)
|
|
%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 @.str6824, ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str6825)
|
|
%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 @.str6826)
|
|
%t161 = load ptr, ptr %t160
|
|
call void @fn_emit(ptr %t161)
|
|
call void @fn_emit(ptr @.str6827)
|
|
%t162 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t162)
|
|
call void @fn_emit(ptr @.str6828)
|
|
%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 @.str6829)
|
|
%t166 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t166)
|
|
call void @fn_emit(ptr @.str6830)
|
|
%t167 = load ptr, ptr %t160
|
|
%t168 = call ptr @fn_str_concat(ptr @.str6831, 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 @.str6832, ptr %t171)
|
|
%t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str6833)
|
|
%t174 = call ptr @fn_emit_bind(ptr %t173)
|
|
store ptr %t174, ptr %t120
|
|
br label %ifend10
|
|
ifend10:
|
|
%t175 = call ptr @fn_lbl(ptr @.str6834)
|
|
store ptr %t175, ptr %t176
|
|
call void @fn_emit(ptr @.str6835)
|
|
%t177 = load ptr, ptr %t120
|
|
call void @fn_emit(ptr %t177)
|
|
call void @fn_emit(ptr @.str6836)
|
|
%t178 = load ptr, ptr %t176
|
|
call void @fn_emit(ptr %t178)
|
|
call void @fn_emit(ptr @.str6837)
|
|
%t179 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t179)
|
|
call void @fn_emit(ptr @.str6838)
|
|
%t180 = load ptr, ptr %t176
|
|
call void @fn_emit(ptr %t180)
|
|
call void @fn_emit(ptr @.str6839)
|
|
%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 @.str6840)
|
|
%t233 = load ptr, ptr %t232
|
|
call void @fn_emit(ptr %t233)
|
|
call void @fn_emit(ptr @.str6841)
|
|
%t234 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t234)
|
|
call void @fn_emit(ptr @.str6842)
|
|
%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 @.str6843)
|
|
%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 @.str6844)
|
|
%t241 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t241)
|
|
call void @fn_emit(ptr @.str6845)
|
|
%t242 = call ptr @fn_emit_alloca(ptr @.str6846)
|
|
store ptr %t242, ptr %t243
|
|
call void @fn_emit(ptr @.str6847)
|
|
%t244 = load ptr, ptr %t232
|
|
call void @fn_emit(ptr %t244)
|
|
call void @fn_emit(ptr @.str6848)
|
|
%t245 = load ptr, ptr %t243
|
|
call void @fn_emit(ptr %t245)
|
|
call void @fn_emit(ptr @.str6849)
|
|
%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 @.str6850, ptr %t277)
|
|
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str6851)
|
|
%t280 = call ptr @fn_emit_bind(ptr %t279)
|
|
store ptr %t280, ptr %t281
|
|
%t282 = call ptr @fn_lbl(ptr @.str6852)
|
|
store ptr %t282, ptr %t283
|
|
call void @fn_emit(ptr @.str6853)
|
|
%t284 = load ptr, ptr %t281
|
|
call void @fn_emit(ptr %t284)
|
|
call void @fn_emit(ptr @.str6854)
|
|
%t285 = load ptr, ptr %t283
|
|
call void @fn_emit(ptr %t285)
|
|
call void @fn_emit(ptr @.str6855)
|
|
%t286 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t286)
|
|
call void @fn_emit(ptr @.str6856)
|
|
%t287 = load ptr, ptr %t283
|
|
call void @fn_emit(ptr %t287)
|
|
call void @fn_emit(ptr @.str6857)
|
|
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 @.str6858)
|
|
%t298 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t298)
|
|
call void @fn_emit(ptr @.str6859)
|
|
br label %ifend27
|
|
ifend27:
|
|
%t299 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t299)
|
|
call void @fn_emit(ptr @.str6860)
|
|
%t300 = load ptr, ptr %t4
|
|
%t301 = call ptr @fn_str_concat(ptr @.str6861, 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 @.str6862, ptr %t304)
|
|
%t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str6863)
|
|
%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 @.str6864, ptr %t309, ptr %t310)
|
|
call void @fn_emit(ptr @.str6865)
|
|
%t311 = load ptr, ptr %t42
|
|
call void @fn_emit(ptr %t311)
|
|
call void @fn_emit(ptr @.str6866)
|
|
%t312 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t312)
|
|
call void @fn_emit(ptr @.str6867)
|
|
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 @.str6868, 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 @.str6869)
|
|
%t16 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str6870)
|
|
%t17 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str6871)
|
|
%t18 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t18)
|
|
call void @fn_emit(ptr @.str6872)
|
|
%t19 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t19)
|
|
call void @fn_emit(ptr @.str6873)
|
|
call void @fn_emit(ptr @.str6874)
|
|
%t20 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str6875)
|
|
%t21 = call ptr @fn_nreg()
|
|
store ptr %t21, ptr %t22
|
|
call void @fn_emit(ptr @.str6876)
|
|
%t23 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t23)
|
|
call void @fn_emit(ptr @.str6877)
|
|
%t24 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str6878)
|
|
%t25 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str6879)
|
|
%t26 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t26)
|
|
call void @fn_emit(ptr @.str6880)
|
|
%t27 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str6881)
|
|
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 @.str6882)
|
|
%t49 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str6883)
|
|
%t50 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str6884)
|
|
%t51 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str6885)
|
|
%t52 = load i32, ptr %t28
|
|
%t53 = call ptr @fn_itoa(i32 %t52)
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str6886)
|
|
%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 @.str6887, ptr %t59
|
|
%t60 = load ptr, ptr %t58
|
|
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str6888)
|
|
%t62 = icmp ne i32 %t61, 0
|
|
br i1 %t62, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str6889, 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 @.str6890)
|
|
%t77 = load ptr, ptr %t58
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str6891)
|
|
%t78 = load ptr, ptr %t59
|
|
call void @fn_emit(ptr %t78)
|
|
call void @fn_emit(ptr @.str6892)
|
|
%t79 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str6893)
|
|
%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 @.str6894)
|
|
%t117 = load ptr, ptr %t116
|
|
call void @fn_emit(ptr %t117)
|
|
call void @fn_emit(ptr @.str6895)
|
|
%t118 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t118)
|
|
call void @fn_emit(ptr @.str6896)
|
|
%t119 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t119)
|
|
call void @fn_emit(ptr @.str6897)
|
|
%t120 = load i32, ptr %t110
|
|
%t121 = call ptr @fn_itoa(i32 %t120)
|
|
call void @fn_emit(ptr %t121)
|
|
call void @fn_emit(ptr @.str6898)
|
|
%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 @.str6899)
|
|
%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 @.str6900)
|
|
%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 @.str6901)
|
|
%t136 = load ptr, ptr %t116
|
|
call void @fn_emit(ptr %t136)
|
|
call void @fn_emit(ptr @.str6902)
|
|
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 @.str6903)
|
|
store ptr %t148, ptr %t149
|
|
call void @fn_emit(ptr @.str6904)
|
|
%t150 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t150)
|
|
call void @fn_emit(ptr @.str6905)
|
|
%t151 = load ptr, ptr %t149
|
|
call void @fn_emit(ptr %t151)
|
|
call void @fn_emit(ptr @.str6906)
|
|
%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 @.str6907, ptr %t157)
|
|
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str6908)
|
|
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 @.str6909)
|
|
%t166 = load ptr, ptr %t160
|
|
call void @fn_emit(ptr %t166)
|
|
call void @fn_emit(ptr @.str6910)
|
|
%t167 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t167)
|
|
call void @fn_emit(ptr @.str6911)
|
|
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 @.str6912)
|
|
%t27 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str6913)
|
|
%t28 = load ptr, ptr %t3
|
|
call void @fn_emit(ptr %t28)
|
|
call void @fn_emit(ptr @.str6914)
|
|
%t29 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t29)
|
|
call void @fn_emit(ptr @.str6915)
|
|
%t30 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str6916)
|
|
%t31 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str6917)
|
|
%t32 = call ptr @fn_emit_alloca(ptr @.str6918)
|
|
store ptr %t32, ptr %t33
|
|
call void @fn_emit(ptr @.str6919)
|
|
%t34 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str6920)
|
|
%t35 = load ptr, ptr %t33
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str6921)
|
|
%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 @.str6922)
|
|
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 @.str6923)
|
|
%t16 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str6924)
|
|
%t17 = load ptr, ptr %t13
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str6925)
|
|
%t18 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t18)
|
|
call void @fn_emit(ptr @.str6926)
|
|
call void @fn_emit(ptr @.str6927)
|
|
%t19 = load i32, ptr %t7
|
|
%t20 = call ptr @fn_itoa(i32 %t19)
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str6928)
|
|
%t21 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str6929)
|
|
%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 @.str6930, ptr %t106)
|
|
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str6931)
|
|
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 @.str6932)
|
|
%t115 = load ptr, ptr %t109
|
|
call void @fn_emit(ptr %t115)
|
|
call void @fn_emit(ptr @.str6933)
|
|
%t116 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t116)
|
|
call void @fn_emit(ptr @.str6934)
|
|
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 @.str6935)
|
|
%t16 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str6936)
|
|
%t17 = load ptr, ptr %t13
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str6937)
|
|
%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 @.str6938)
|
|
%t21 = load ptr, ptr %t15
|
|
%t22 = call ptr @fn_str_concat(ptr @.str6939, 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 @.str6940, ptr %t42)
|
|
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str6941)
|
|
%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 @.str6942)
|
|
store ptr %t51, ptr %t52
|
|
%t53 = call ptr @fn_lbl(ptr @.str6943)
|
|
store ptr %t53, ptr %t54
|
|
call void @fn_emit(ptr @.str6944)
|
|
%t55 = load ptr, ptr %t50
|
|
call void @fn_emit(ptr %t55)
|
|
call void @fn_emit(ptr @.str6945)
|
|
%t56 = load ptr, ptr %t52
|
|
call void @fn_emit(ptr %t56)
|
|
call void @fn_emit(ptr @.str6946)
|
|
%t57 = load ptr, ptr %t54
|
|
call void @fn_emit(ptr %t57)
|
|
call void @fn_emit(ptr @.str6947)
|
|
%t58 = load ptr, ptr %t52
|
|
call void @fn_emit(ptr %t58)
|
|
call void @fn_emit(ptr @.str6948)
|
|
%t59 = load ptr, ptr %t41
|
|
call void @fn_emit(ptr %t59)
|
|
call void @fn_emit(ptr @.str6949)
|
|
%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 @.str6950)
|
|
%t63 = load ptr, ptr %t41
|
|
%t64 = call ptr @fn_str_concat(ptr @.str6951, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str6952)
|
|
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 @.str6953)
|
|
%t72 = load ptr, ptr %t66
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str6954)
|
|
%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 @.str6955)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str6956)
|
|
%t76 = load ptr, ptr %t54
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str6957)
|
|
%t77 = load ptr, ptr %t54
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str6958)
|
|
%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 @.str6959)
|
|
%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 @.str6960)
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_emit(ptr @.str6961)
|
|
%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 @.str6962)
|
|
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 @.str6963)
|
|
%t10 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t10)
|
|
call void @fn_emit(ptr @.str6964)
|
|
%t11 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t11)
|
|
call void @fn_emit(ptr @.str6965)
|
|
%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 @.str6966)
|
|
%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 @.str6967)
|
|
%t18 = load ptr, ptr %t9
|
|
%t19 = call ptr @fn_str_concat(ptr @.str6968, 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 @.str6969, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str6970)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = call ptr @fn_lbl(ptr @.str6971)
|
|
store ptr %t27, ptr %t28
|
|
%t29 = call ptr @fn_lbl(ptr @.str6972)
|
|
store ptr %t29, ptr %t30
|
|
call void @fn_emit(ptr @.str6973)
|
|
%t31 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str6974)
|
|
%t32 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str6975)
|
|
%t33 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str6976)
|
|
%t34 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str6977)
|
|
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 @.str6978)
|
|
%t48 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str6979)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t49 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str6980)
|
|
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 @.str6981)
|
|
%t10 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t10)
|
|
call void @fn_emit(ptr @.str6982)
|
|
%t11 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t11)
|
|
call void @fn_emit(ptr @.str6983)
|
|
%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 @.str6984)
|
|
%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 @.str6985)
|
|
%t18 = load ptr, ptr %t9
|
|
%t19 = call ptr @fn_str_concat(ptr @.str6986, 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 @.str6987, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str6988)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = call ptr @fn_lbl(ptr @.str6989)
|
|
store ptr %t27, ptr %t28
|
|
%t29 = call ptr @fn_lbl(ptr @.str6990)
|
|
store ptr %t29, ptr %t30
|
|
call void @fn_emit(ptr @.str6991)
|
|
%t31 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str6992)
|
|
%t32 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str6993)
|
|
%t33 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str6994)
|
|
%t34 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str6995)
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_emit(ptr @.str6996)
|
|
%t35 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str6997)
|
|
%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 @.str6998)
|
|
%t49 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str6999)
|
|
%t50 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str7000)
|
|
%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 @.str7001)
|
|
%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 @.str7002)
|
|
%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 @.str7003)
|
|
%t60 = call ptr @fn_emit_alloca(ptr @.str7004)
|
|
store ptr %t60, ptr %t61
|
|
call void @fn_emit(ptr @.str7005)
|
|
%t62 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t62)
|
|
call void @fn_emit(ptr @.str7006)
|
|
%t63 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str7007)
|
|
%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 @.str7008, ptr %t75)
|
|
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str7009)
|
|
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 @.str7010)
|
|
%t84 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t84)
|
|
call void @fn_emit(ptr @.str7011)
|
|
%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 @.str7012)
|
|
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 @.str7013)
|
|
%t92 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str7014)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t93 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t93)
|
|
call void @fn_emit(ptr @.str7015)
|
|
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 @.str7016, 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 @.str7017, 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 @.str7018)
|
|
%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 @.str7019)
|
|
%t24 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str7020)
|
|
%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 @.str7021)
|
|
%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 @.str7022, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str7023)
|
|
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 @.str7024, ptr %t42)
|
|
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str7025)
|
|
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 @.str7026)
|
|
%t50 = load ptr, ptr %t33
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str7027)
|
|
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 @.str7028)
|
|
%t66 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t66)
|
|
call void @fn_emit(ptr @.str7029)
|
|
%t67 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t67)
|
|
call void @fn_emit(ptr @.str7030)
|
|
%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 @.str7031)
|
|
%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 @.str7032)
|
|
call void @fn_emit(ptr @.str7033)
|
|
%t74 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str7034)
|
|
%t75 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str7035)
|
|
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 @.str7036)
|
|
%t99 = load ptr, ptr %t98
|
|
call void @fn_emit(ptr %t99)
|
|
call void @fn_emit(ptr @.str7037)
|
|
%t100 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t100)
|
|
call void @fn_emit(ptr @.str7038)
|
|
%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 @.str7039)
|
|
%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 @.str7040)
|
|
%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 @.str7041)
|
|
%t110 = call ptr @fn_emit_alloca(ptr @.str7042)
|
|
store ptr %t110, ptr %t111
|
|
call void @fn_emit(ptr @.str7043)
|
|
%t112 = load ptr, ptr %t98
|
|
call void @fn_emit(ptr %t112)
|
|
call void @fn_emit(ptr @.str7044)
|
|
%t113 = load ptr, ptr %t111
|
|
call void @fn_emit(ptr %t113)
|
|
call void @fn_emit(ptr @.str7045)
|
|
%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 @.str7046, ptr %t125)
|
|
%t127 = call ptr @fn_str_concat(ptr %t126, ptr @.str7047)
|
|
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 @.str7048, ptr %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str7049)
|
|
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 @.str7050)
|
|
%t145 = load ptr, ptr %t128
|
|
call void @fn_emit(ptr %t145)
|
|
call void @fn_emit(ptr @.str7051)
|
|
%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 @.str7052)
|
|
br label %ifend28
|
|
ifend28:
|
|
br label %ifend16
|
|
else15:
|
|
store ptr @.str7053, 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 @.str7054, ptr %t149
|
|
br label %ifend31
|
|
ifend31:
|
|
call void @fn_emit(ptr @.str7055)
|
|
%t155 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t155)
|
|
call void @fn_emit(ptr @.str7056)
|
|
%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 @.str7057)
|
|
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 @.str7058, 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 @.str7059)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit(ptr @.str7060)
|
|
%t17 = load ptr, ptr %t8
|
|
store ptr %t17, ptr @g_code
|
|
call void @fn_emit(ptr @.str7061)
|
|
%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 @.str7062)
|
|
%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 @.str7063)
|
|
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 @.str7064, 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 @.str7065, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str7066)
|
|
%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 @.str7067, 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 @.str7068, ptr %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str7069)
|
|
%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 @.str7070, ptr %t43)
|
|
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str7071)
|
|
%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 @.str7072)
|
|
store ptr %t55, ptr %t56
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = call ptr @fn_str_concat(ptr @.str7073, ptr %t57)
|
|
%t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str7074)
|
|
%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 @.str7075, ptr %t62)
|
|
%t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str7076)
|
|
%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 @.str7077)
|
|
store ptr %t68, ptr %t69
|
|
%t70 = call ptr @fn_lbl(ptr @.str7078)
|
|
store ptr %t70, ptr %t71
|
|
call void @fn_emit(ptr @.str7079)
|
|
%t72 = load ptr, ptr %t11
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str7080)
|
|
%t73 = load ptr, ptr %t69
|
|
call void @fn_emit(ptr %t73)
|
|
call void @fn_emit(ptr @.str7081)
|
|
%t74 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str7082)
|
|
%t75 = load ptr, ptr %t69
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str7083)
|
|
%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 @.str7084)
|
|
call void @fn_emit(ptr @.str7085)
|
|
%t79 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str7086)
|
|
%t80 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str7087)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_one_engine_system(ptr %arg_comp, ptr %arg_fn) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
store ptr %arg_comp, ptr %t0
|
|
store ptr %arg_fn, ptr %t1
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call ptr @fn_find_comp(ptr %t3)
|
|
%t5 = icmp ne ptr %t4, null
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
%t8 = zext i1 %t7 to i32
|
|
store i32 %t8, ptr %t2
|
|
br i1 %t7, label %sc0, label %scend1
|
|
sc0:
|
|
%t9 = load ptr, ptr %t1
|
|
%t10 = call ptr @fn_find_fn(ptr %t9)
|
|
%t11 = icmp ne ptr %t10, null
|
|
%t12 = zext i1 %t11 to i32
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t15 = load i32, ptr %t2
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %then2, label %ifend4
|
|
then2:
|
|
call void @fn_emit(ptr @.str7088)
|
|
%t17 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str7089)
|
|
br label %ifend4
|
|
ifend4:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_engine_systems_for_phase(ptr %arg_phase) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
store ptr %arg_phase, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str7090)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit_one_engine_system(ptr @.str7091, ptr @.str7092)
|
|
call void @fn_emit_one_engine_system(ptr @.str7093, ptr @.str7094)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str7095)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit_one_engine_system(ptr @.str7096, ptr @.str7097)
|
|
br label %ifend5
|
|
ifend5:
|
|
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
|
|
%t95 = alloca ptr
|
|
%t109 = alloca ptr
|
|
%t110 = alloca i32
|
|
%t111 = alloca i32
|
|
%t149 = alloca ptr
|
|
%t151 = alloca ptr
|
|
%t153 = 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 ne i32 %t92, 0
|
|
br i1 %t93, label %then20, label %ifend22
|
|
then20:
|
|
%t94 = call ptr @fn_emit_bind(ptr @.str7098)
|
|
store ptr %t94, ptr %t95
|
|
store i32 0, ptr %t1
|
|
br label %wcond23
|
|
wcond23:
|
|
%t96 = load i32, ptr %t1
|
|
%t97 = load ptr, ptr @g_prog
|
|
%t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1
|
|
%t99 = load i32, ptr %t98
|
|
%t100 = icmp slt i32 %t96, %t99
|
|
%t101 = zext i1 %t100 to i32
|
|
%t102 = icmp ne i32 %t101, 0
|
|
br i1 %t102, label %wbody24, label %wend25
|
|
wbody24:
|
|
%t103 = load ptr, ptr @g_prog
|
|
%t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0
|
|
%t105 = load ptr, ptr %t104
|
|
%t106 = load i32, ptr %t1
|
|
%t107 = getelementptr inbounds ptr, ptr %t105, i32 %t106
|
|
%t108 = load ptr, ptr %t107
|
|
store ptr %t108, ptr %t109
|
|
%t112 = load ptr, ptr %t109
|
|
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 0
|
|
%t114 = load i32, ptr %t113
|
|
%t115 = icmp eq i32 %t114, 9
|
|
%t116 = zext i1 %t115 to i32
|
|
%t117 = icmp ne i32 %t116, 0
|
|
%t118 = zext i1 %t117 to i32
|
|
store i32 %t118, ptr %t111
|
|
br i1 %t117, label %sc26, label %scend27
|
|
sc26:
|
|
%t119 = load ptr, ptr %t109
|
|
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 3
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = load ptr, ptr %t0
|
|
%t123 = call i32 @fn_str_eq(ptr %t121, ptr %t122)
|
|
%t124 = icmp ne i32 %t123, 0
|
|
%t125 = zext i1 %t124 to i32
|
|
store i32 %t125, ptr %t111
|
|
br label %scend27
|
|
scend27:
|
|
%t126 = load i32, ptr %t111
|
|
%t127 = icmp ne i32 %t126, 0
|
|
%t128 = zext i1 %t127 to i32
|
|
store i32 %t128, ptr %t110
|
|
br i1 %t127, label %sc28, label %scend29
|
|
sc28:
|
|
%t129 = load ptr, ptr %t109
|
|
%t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 6
|
|
%t131 = load ptr, ptr %t130
|
|
%t132 = icmp ne ptr %t131, null
|
|
%t133 = zext i1 %t132 to i32
|
|
%t134 = icmp ne i32 %t133, 0
|
|
%t135 = zext i1 %t134 to i32
|
|
store i32 %t135, ptr %t110
|
|
br label %scend29
|
|
scend29:
|
|
%t136 = load i32, ptr %t110
|
|
%t137 = icmp ne i32 %t136, 0
|
|
br i1 %t137, label %then30, label %ifend32
|
|
then30:
|
|
%t138 = load ptr, ptr %t95
|
|
%t139 = call ptr @fn_str_concat(ptr @.str7099, ptr %t138)
|
|
%t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str7100)
|
|
%t141 = load ptr, ptr %t109
|
|
%t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 6
|
|
%t143 = load ptr, ptr %t142
|
|
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 2
|
|
%t145 = load i32, ptr %t144
|
|
%t146 = call ptr @fn_itoa(i32 %t145)
|
|
%t147 = call ptr @fn_str_concat(ptr %t140, ptr %t146)
|
|
%t148 = call ptr @fn_emit_bind(ptr %t147)
|
|
store ptr %t148, ptr %t149
|
|
%t150 = call ptr @fn_lbl(ptr @.str7101)
|
|
store ptr %t150, ptr %t151
|
|
%t152 = call ptr @fn_lbl(ptr @.str7102)
|
|
store ptr %t152, ptr %t153
|
|
call void @fn_emit(ptr @.str7103)
|
|
%t154 = load ptr, ptr %t149
|
|
call void @fn_emit(ptr %t154)
|
|
call void @fn_emit(ptr @.str7104)
|
|
%t155 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t155)
|
|
call void @fn_emit(ptr @.str7105)
|
|
%t156 = load ptr, ptr %t153
|
|
call void @fn_emit(ptr %t156)
|
|
call void @fn_emit(ptr @.str7106)
|
|
%t157 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t157)
|
|
call void @fn_emit(ptr @.str7107)
|
|
%t158 = load ptr, ptr %t109
|
|
call void @fn_emit_call_one(ptr %t158)
|
|
call void @fn_emit(ptr @.str7108)
|
|
%t159 = load ptr, ptr %t153
|
|
call void @fn_emit(ptr %t159)
|
|
call void @fn_emit(ptr @.str7109)
|
|
%t160 = load ptr, ptr %t153
|
|
call void @fn_emit(ptr %t160)
|
|
call void @fn_emit(ptr @.str7110)
|
|
br label %ifend32
|
|
ifend32:
|
|
%t161 = load i32, ptr %t1
|
|
%t162 = add i32 %t161, 1
|
|
store i32 %t162, ptr %t1
|
|
br label %wcond23
|
|
wend25:
|
|
br label %ifend22
|
|
ifend22:
|
|
%t163 = load ptr, ptr %t0
|
|
call void @fn_emit_engine_systems_for_phase(ptr %t163)
|
|
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 @.str7111, 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 @.str7112, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str7113)
|
|
%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 @.str7114)
|
|
%t34 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str7115)
|
|
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 @.str7116)
|
|
br label %ifend10
|
|
ifend10:
|
|
call void @fn_emit(ptr @.str7117)
|
|
%t39 = load ptr, ptr %t7
|
|
store ptr %t39, ptr @g_code
|
|
call void @fn_emit(ptr @.str7118)
|
|
%t40 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str7119)
|
|
%t41 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str7120)
|
|
%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 @.str7121)
|
|
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 @.str7122, 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 @.str7123, 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 @.str7124, 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 @.str7125)
|
|
store ptr %t32, ptr %t33
|
|
call void @fn_emit(ptr @.str7126)
|
|
%t34 = load ptr, ptr %t33
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str7127)
|
|
%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 @.str7128)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t39 = load ptr, ptr %t19
|
|
call void @fn_emit_bind_props(ptr %t39, ptr @.str7129)
|
|
%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 @.str7130)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str7131)
|
|
%t47 = load ptr, ptr %t24
|
|
store ptr %t47, ptr @g_code
|
|
call void @fn_emit(ptr @.str7132)
|
|
%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 @.str7133)
|
|
%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 @.str7134)
|
|
%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 @.str7135)
|
|
call void @fn_emit(ptr @.str7136)
|
|
call void @fn_emit(ptr @.str7137)
|
|
call void @fn_emit(ptr @.str7138)
|
|
call void @fn_emit(ptr @.str7139)
|
|
%t8 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t8)
|
|
call void @fn_emit(ptr @.str7140)
|
|
call void @fn_emit(ptr @.str7141)
|
|
call void @fn_emit(ptr @.str7142)
|
|
call void @fn_emit(ptr @.str7143)
|
|
%t9 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t9)
|
|
call void @fn_emit(ptr @.str7144)
|
|
call void @fn_emit(ptr @.str7145)
|
|
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 @.str7146)
|
|
%t30 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str7147)
|
|
%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 @.str7148)
|
|
call void @fn_emit(ptr @.str7149)
|
|
%t34 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str7150)
|
|
%t35 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str7151)
|
|
%t36 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t36)
|
|
call void @fn_emit(ptr @.str7152)
|
|
call void @fn_emit(ptr @.str7153)
|
|
%t37 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t37)
|
|
call void @fn_emit(ptr @.str7154)
|
|
%t38 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t38)
|
|
call void @fn_emit(ptr @.str7155)
|
|
%t39 = load ptr, ptr %t26
|
|
%t40 = call ptr @fn_str_concat(ptr @.str7156, ptr %t39)
|
|
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str7157)
|
|
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 @.str7158)
|
|
%t48 = load ptr, ptr %t42
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str7159)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str7160)
|
|
%t49 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str7161)
|
|
call void @fn_emit(ptr @.str7162)
|
|
%t50 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str7163)
|
|
%t51 = load i32, ptr %t10
|
|
%t52 = add i32 %t51, 1
|
|
store i32 %t52, ptr %t10
|
|
br label %wcond3
|
|
wend5:
|
|
call void @fn_emit(ptr @.str7164)
|
|
call void @fn_emit(ptr @.str7165)
|
|
call void @fn_emit(ptr @.str7166)
|
|
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 @.str7167)
|
|
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 @.str7168)
|
|
%t21 = load ptr, ptr %t18
|
|
call void @fn_emith(ptr %t21)
|
|
call void @fn_emith(ptr @.str7169)
|
|
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 @.str7170)
|
|
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 @.str7171)
|
|
br label %ifend14
|
|
ifend14:
|
|
call void @fn_emith(ptr @.str7172)
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_emith(ptr @.str7173)
|
|
call void @fn_emith(ptr @.str7174)
|
|
%t63 = load ptr, ptr %t18
|
|
call void @fn_emith(ptr %t63)
|
|
call void @fn_emith(ptr @.str7175)
|
|
%t64 = load ptr, ptr %t20
|
|
call void @fn_emith(ptr %t64)
|
|
call void @fn_emith(ptr @.str7176)
|
|
call void @fn_emith(ptr @.str7177)
|
|
%t65 = load ptr, ptr %t18
|
|
call void @fn_emith(ptr %t65)
|
|
call void @fn_emith(ptr @.str7178)
|
|
call void @fn_emith(ptr @.str7179)
|
|
%t66 = load ptr, ptr %t18
|
|
call void @fn_emith(ptr %t66)
|
|
call void @fn_emith(ptr @.str7180)
|
|
%t67 = load ptr, ptr %t20
|
|
call void @fn_emith(ptr %t67)
|
|
call void @fn_emith(ptr @.str7181)
|
|
call void @fn_emit(ptr @.str7182)
|
|
%t68 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t68)
|
|
call void @fn_emit(ptr @.str7183)
|
|
call void @fn_emit(ptr @.str7184)
|
|
%t69 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t69)
|
|
call void @fn_emit(ptr @.str7185)
|
|
call void @fn_emit(ptr @.str7186)
|
|
%t70 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str7187)
|
|
call void @fn_emit(ptr @.str7188)
|
|
call void @fn_emit(ptr @.str7189)
|
|
%t71 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str7190)
|
|
%t72 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str7191)
|
|
call void @fn_emit(ptr @.str7192)
|
|
call void @fn_emit(ptr @.str7193)
|
|
%t73 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t73)
|
|
call void @fn_emit(ptr @.str7194)
|
|
%t74 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str7195)
|
|
call void @fn_emit(ptr @.str7196)
|
|
call void @fn_emit(ptr @.str7197)
|
|
%t75 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str7198)
|
|
call void @fn_emit(ptr @.str7199)
|
|
call void @fn_emit(ptr @.str7200)
|
|
%t76 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str7201)
|
|
call void @fn_emit(ptr @.str7202)
|
|
%t77 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str7203)
|
|
call void @fn_emit(ptr @.str7204)
|
|
%t78 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t78)
|
|
call void @fn_emit(ptr @.str7205)
|
|
call void @fn_emit(ptr @.str7206)
|
|
call void @fn_emit(ptr @.str7207)
|
|
%t79 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str7208)
|
|
%t80 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str7209)
|
|
call void @fn_emit(ptr @.str7210)
|
|
call void @fn_emit(ptr @.str7211)
|
|
%t81 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t81)
|
|
call void @fn_emit(ptr @.str7212)
|
|
%t82 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str7213)
|
|
call void @fn_emit(ptr @.str7214)
|
|
call void @fn_emit(ptr @.str7215)
|
|
%t83 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t83)
|
|
call void @fn_emit(ptr @.str7216)
|
|
call void @fn_emit(ptr @.str7217)
|
|
call void @fn_emit(ptr @.str7218)
|
|
%t84 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t84)
|
|
call void @fn_emit(ptr @.str7219)
|
|
call void @fn_emit(ptr @.str7220)
|
|
%t85 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t85)
|
|
call void @fn_emit(ptr @.str7221)
|
|
call void @fn_emit(ptr @.str7222)
|
|
call void @fn_emit(ptr @.str7223)
|
|
call void @fn_emit(ptr @.str7224)
|
|
%t86 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t86)
|
|
call void @fn_emit(ptr @.str7225)
|
|
%t87 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t87)
|
|
call void @fn_emit(ptr @.str7226)
|
|
call void @fn_emit(ptr @.str7227)
|
|
call void @fn_emit(ptr @.str7228)
|
|
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 @.str7229, 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 @.str7230)
|
|
call void @fn_emit(ptr @.str7231)
|
|
%t94 = call ptr @fn_itoa(i32 32)
|
|
call void @fn_emit(ptr %t94)
|
|
call void @fn_emit(ptr @.str7232)
|
|
call void @fn_emit(ptr @.str7233)
|
|
call void @fn_emit(ptr @.str7234)
|
|
%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 @.str7235)
|
|
br label %ifend17
|
|
else16:
|
|
call void @fn_emit(ptr @.str7236)
|
|
br label %ifend17
|
|
ifend17:
|
|
call void @fn_emit(ptr @.str7237)
|
|
call void @fn_emit(ptr @.str7238)
|
|
%t101 = load ptr, ptr %t18
|
|
%t102 = call ptr @fn_str_concat(ptr @.str7239, 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 @.str7240)
|
|
%t131 = load ptr, ptr %t130
|
|
call void @fn_emit(ptr %t131)
|
|
call void @fn_emit(ptr @.str7241)
|
|
%t132 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t132)
|
|
call void @fn_emit(ptr @.str7242)
|
|
%t133 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t133)
|
|
call void @fn_emit(ptr @.str7243)
|
|
%t134 = load i32, ptr %t105
|
|
%t135 = call ptr @fn_itoa(i32 %t134)
|
|
call void @fn_emit(ptr %t135)
|
|
call void @fn_emit(ptr @.str7244)
|
|
call void @fn_emit(ptr @.str7245)
|
|
%t136 = load ptr, ptr %t128
|
|
call void @fn_emit(ptr %t136)
|
|
call void @fn_emit(ptr @.str7246)
|
|
%t137 = load i32, ptr %t105
|
|
%t138 = call ptr @fn_itoa(i32 %t137)
|
|
call void @fn_emit(ptr %t138)
|
|
call void @fn_emit(ptr @.str7247)
|
|
%t139 = load ptr, ptr %t130
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str7248)
|
|
%t140 = load ptr, ptr %t128
|
|
%t141 = call ptr @fn_emit_alloca(ptr %t140)
|
|
store ptr %t141, ptr %t142
|
|
call void @fn_emit(ptr @.str7249)
|
|
%t143 = load ptr, ptr %t128
|
|
call void @fn_emit(ptr %t143)
|
|
call void @fn_emit(ptr @.str7250)
|
|
%t144 = load i32, ptr %t105
|
|
%t145 = call ptr @fn_itoa(i32 %t144)
|
|
call void @fn_emit(ptr %t145)
|
|
call void @fn_emit(ptr @.str7251)
|
|
%t146 = load ptr, ptr %t142
|
|
call void @fn_emit(ptr %t146)
|
|
call void @fn_emit(ptr @.str7252)
|
|
%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 @.str7253)
|
|
%t164 = load ptr, ptr %t156
|
|
call void @fn_emit(ptr %t164)
|
|
call void @fn_emit(ptr @.str7254)
|
|
%t165 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t165)
|
|
call void @fn_emit(ptr @.str7255)
|
|
%t166 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t166)
|
|
call void @fn_emit(ptr @.str7256)
|
|
%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 @.str7257)
|
|
call void @fn_emit(ptr @.str7258)
|
|
%t173 = load ptr, ptr %t156
|
|
call void @fn_emit(ptr %t173)
|
|
call void @fn_emit(ptr @.str7259)
|
|
%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 @.str7260)
|
|
store ptr %t211, ptr %t212
|
|
call void @fn_emit(ptr @.str7261)
|
|
%t213 = load ptr, ptr %t212
|
|
call void @fn_emit(ptr %t213)
|
|
call void @fn_emit(ptr @.str7262)
|
|
%t214 = call ptr @fn_lbl(ptr @.str7263)
|
|
store ptr %t214, ptr %t215
|
|
%t216 = call ptr @fn_lbl(ptr @.str7264)
|
|
store ptr %t216, ptr %t217
|
|
%t218 = call ptr @fn_lbl(ptr @.str7265)
|
|
store ptr %t218, ptr %t219
|
|
call void @fn_emit(ptr @.str7266)
|
|
%t220 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t220)
|
|
call void @fn_emit(ptr @.str7267)
|
|
%t221 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t221)
|
|
call void @fn_emit(ptr @.str7268)
|
|
%t222 = load ptr, ptr %t212
|
|
%t223 = call ptr @fn_str_concat(ptr @.str7269, 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 @.str7270, 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 @.str7271, ptr %t230)
|
|
%t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str7272)
|
|
%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 @.str7273)
|
|
%t237 = load ptr, ptr %t236
|
|
call void @fn_emit(ptr %t237)
|
|
call void @fn_emit(ptr @.str7274)
|
|
%t238 = load ptr, ptr %t217
|
|
call void @fn_emit(ptr %t238)
|
|
call void @fn_emit(ptr @.str7275)
|
|
%t239 = load ptr, ptr %t219
|
|
call void @fn_emit(ptr %t239)
|
|
call void @fn_emit(ptr @.str7276)
|
|
%t240 = load ptr, ptr %t217
|
|
call void @fn_emit(ptr %t240)
|
|
call void @fn_emit(ptr @.str7277)
|
|
%t241 = call ptr @fn_nreg()
|
|
store ptr %t241, ptr %t242
|
|
call void @fn_emit(ptr @.str7278)
|
|
%t243 = load ptr, ptr %t242
|
|
call void @fn_emit(ptr %t243)
|
|
call void @fn_emit(ptr @.str7279)
|
|
%t244 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t244)
|
|
call void @fn_emit(ptr @.str7280)
|
|
%t245 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t245)
|
|
call void @fn_emit(ptr @.str7281)
|
|
%t246 = load ptr, ptr %t225
|
|
call void @fn_emit(ptr %t246)
|
|
call void @fn_emit(ptr @.str7282)
|
|
%t247 = load ptr, ptr %t242
|
|
%t248 = call ptr @fn_str_concat(ptr @.str7283, 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 @.str7284, ptr %t251)
|
|
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str7285)
|
|
%t254 = call ptr @fn_emit_bind(ptr %t253)
|
|
store ptr %t254, ptr %t255
|
|
%t256 = call ptr @fn_lbl(ptr @.str7286)
|
|
store ptr %t256, ptr %t257
|
|
%t258 = call ptr @fn_lbl(ptr @.str7287)
|
|
store ptr %t258, ptr %t259
|
|
call void @fn_emit(ptr @.str7288)
|
|
%t260 = load ptr, ptr %t255
|
|
call void @fn_emit(ptr %t260)
|
|
call void @fn_emit(ptr @.str7289)
|
|
%t261 = load ptr, ptr %t259
|
|
call void @fn_emit(ptr %t261)
|
|
call void @fn_emit(ptr @.str7290)
|
|
%t262 = load ptr, ptr %t257
|
|
call void @fn_emit(ptr %t262)
|
|
call void @fn_emit(ptr @.str7291)
|
|
%t263 = load ptr, ptr %t257
|
|
call void @fn_emit(ptr %t263)
|
|
call void @fn_emit(ptr @.str7292)
|
|
call void @fn_emit(ptr @.str7293)
|
|
%t264 = load ptr, ptr %t250
|
|
call void @fn_emit(ptr %t264)
|
|
call void @fn_emit(ptr @.str7294)
|
|
%t265 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t265)
|
|
call void @fn_emit(ptr @.str7295)
|
|
call void @fn_emit(ptr @.str7296)
|
|
%t266 = load ptr, ptr %t259
|
|
call void @fn_emit(ptr %t266)
|
|
call void @fn_emit(ptr @.str7297)
|
|
%t267 = load ptr, ptr %t259
|
|
call void @fn_emit(ptr %t267)
|
|
call void @fn_emit(ptr @.str7298)
|
|
%t268 = load ptr, ptr %t225
|
|
%t269 = call ptr @fn_str_concat(ptr @.str7299, ptr %t268)
|
|
%t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str7300)
|
|
%t271 = call ptr @fn_emit_bind(ptr %t270)
|
|
store ptr %t271, ptr %t272
|
|
call void @fn_emit(ptr @.str7301)
|
|
%t273 = load ptr, ptr %t272
|
|
call void @fn_emit(ptr %t273)
|
|
call void @fn_emit(ptr @.str7302)
|
|
%t274 = load ptr, ptr %t212
|
|
call void @fn_emit(ptr %t274)
|
|
call void @fn_emit(ptr @.str7303)
|
|
call void @fn_emit(ptr @.str7304)
|
|
%t275 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t275)
|
|
call void @fn_emit(ptr @.str7305)
|
|
%t276 = load ptr, ptr %t219
|
|
call void @fn_emit(ptr %t276)
|
|
call void @fn_emit(ptr @.str7306)
|
|
call void @fn_emit(ptr @.str7307)
|
|
br label %ifend32
|
|
ifend32:
|
|
call void @fn_emit(ptr @.str7308)
|
|
call void @fn_emit(ptr @.str7309)
|
|
%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 @.str7310, ptr %t283)
|
|
%t285 = call ptr @fn_emit_bind(ptr %t284)
|
|
store ptr %t285, ptr %t286
|
|
call void @fn_emit(ptr @.str7311)
|
|
%t287 = load ptr, ptr %t286
|
|
call void @fn_emit(ptr %t287)
|
|
call void @fn_emit(ptr @.str7312)
|
|
br label %ifend35
|
|
else34:
|
|
call void @fn_emit(ptr @.str7313)
|
|
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 @.str7314, 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 @.str7315, ptr %t289
|
|
br label %ifend38
|
|
ifend38:
|
|
call void @fn_emit(ptr @.str7316)
|
|
%t296 = load ptr, ptr %t289
|
|
call void @fn_emit(ptr %t296)
|
|
call void @fn_emit(ptr @.str7317)
|
|
%t297 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t297)
|
|
call void @fn_emit(ptr @.str7318)
|
|
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 @.str7319)
|
|
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 @.str7320)
|
|
%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 @.str7321)
|
|
%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 @.str7322)
|
|
%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 @.str7323)
|
|
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 @.str7324)
|
|
%t355 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t355)
|
|
call void @fn_emit(ptr @.str7325)
|
|
call void @fn_emit(ptr @.str7326)
|
|
%t356 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t356)
|
|
call void @fn_emit(ptr @.str7327)
|
|
call void @fn_emit(ptr @.str7328)
|
|
%t357 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t357)
|
|
call void @fn_emit(ptr @.str7329)
|
|
%t358 = load ptr, ptr %t351
|
|
call void @fn_emit(ptr %t358)
|
|
call void @fn_emit(ptr @.str7330)
|
|
call void @fn_emit(ptr @.str7331)
|
|
%t359 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t359)
|
|
call void @fn_emit(ptr @.str7332)
|
|
%t360 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t360)
|
|
call void @fn_emit(ptr @.str7333)
|
|
%t361 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t361)
|
|
call void @fn_emit(ptr @.str7334)
|
|
call void @fn_emit(ptr @.str7335)
|
|
%t362 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t362)
|
|
call void @fn_emit(ptr @.str7336)
|
|
%t363 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t363)
|
|
call void @fn_emit(ptr @.str7337)
|
|
%t364 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t364)
|
|
call void @fn_emit(ptr @.str7338)
|
|
call void @fn_emit(ptr @.str7339)
|
|
%t365 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t365)
|
|
call void @fn_emit(ptr @.str7340)
|
|
call void @fn_emit(ptr @.str7341)
|
|
%t366 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t366)
|
|
call void @fn_emit(ptr @.str7342)
|
|
%t367 = load ptr, ptr %t334
|
|
call void @fn_emit(ptr %t367)
|
|
call void @fn_emit(ptr @.str7343)
|
|
%t368 = load ptr, ptr %t351
|
|
call void @fn_emit(ptr %t368)
|
|
call void @fn_emit(ptr @.str7344)
|
|
%t369 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t369)
|
|
call void @fn_emit(ptr @.str7345)
|
|
call void @fn_emit(ptr @.str7346)
|
|
%t370 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t370)
|
|
call void @fn_emit(ptr @.str7347)
|
|
%t371 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t371)
|
|
call void @fn_emit(ptr @.str7348)
|
|
call void @fn_emit(ptr @.str7349)
|
|
%t372 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t372)
|
|
call void @fn_emit(ptr @.str7350)
|
|
%t373 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t373)
|
|
call void @fn_emit(ptr @.str7351)
|
|
call void @fn_emit(ptr @.str7352)
|
|
%t374 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t374)
|
|
call void @fn_emit(ptr @.str7353)
|
|
%t375 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t375)
|
|
call void @fn_emit(ptr @.str7354)
|
|
%t376 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t376)
|
|
call void @fn_emit(ptr @.str7355)
|
|
call void @fn_emit(ptr @.str7356)
|
|
%t377 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t377)
|
|
call void @fn_emit(ptr @.str7357)
|
|
call void @fn_emit(ptr @.str7358)
|
|
%t378 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t378)
|
|
call void @fn_emit(ptr @.str7359)
|
|
%t379 = load ptr, ptr %t334
|
|
call void @fn_emit(ptr %t379)
|
|
call void @fn_emit(ptr @.str7360)
|
|
%t380 = load ptr, ptr %t351
|
|
call void @fn_emit(ptr %t380)
|
|
call void @fn_emit(ptr @.str7361)
|
|
%t381 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t381)
|
|
call void @fn_emit(ptr @.str7362)
|
|
call void @fn_emit(ptr @.str7363)
|
|
%t382 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t382)
|
|
call void @fn_emit(ptr @.str7364)
|
|
%t383 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t383)
|
|
call void @fn_emit(ptr @.str7365)
|
|
call void @fn_emit(ptr @.str7366)
|
|
%t384 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t384)
|
|
call void @fn_emit(ptr @.str7367)
|
|
call void @fn_emit(ptr @.str7368)
|
|
%t385 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t385)
|
|
call void @fn_emit(ptr @.str7369)
|
|
%t386 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t386)
|
|
call void @fn_emit(ptr @.str7370)
|
|
%t387 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t387)
|
|
call void @fn_emit(ptr @.str7371)
|
|
%t388 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t388)
|
|
call void @fn_emit(ptr @.str7372)
|
|
call void @fn_emit(ptr @.str7373)
|
|
%t389 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t389)
|
|
call void @fn_emit(ptr @.str7374)
|
|
%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 @.str7375)
|
|
%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 @.str7376)
|
|
br label %ifend50
|
|
else49:
|
|
call void @fn_emit(ptr @.str7377)
|
|
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 @.str7378)
|
|
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 @.str7379)
|
|
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 @.str7380)
|
|
call void @fn_emith(ptr @.str7381)
|
|
call void @fn_emith(ptr @.str7382)
|
|
call void @fn_emith(ptr @.str7383)
|
|
call void @fn_emith(ptr @.str7384)
|
|
call void @fn_emit(ptr @.str7385)
|
|
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 @.str7386)
|
|
%t62 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t62)
|
|
call void @fn_emit(ptr @.str7387)
|
|
%t63 = load ptr, ptr %t58
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str7388)
|
|
call void @fn_emit(ptr @.str7389)
|
|
%t64 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str7390)
|
|
%t65 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t65)
|
|
call void @fn_emit(ptr @.str7391)
|
|
call void @fn_emit(ptr @.str7392)
|
|
%t66 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t66)
|
|
call void @fn_emit(ptr @.str7393)
|
|
%t67 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t67)
|
|
call void @fn_emit(ptr @.str7394)
|
|
%t68 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t68)
|
|
call void @fn_emit(ptr @.str7395)
|
|
call void @fn_emit(ptr @.str7396)
|
|
%t69 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t69)
|
|
call void @fn_emit(ptr @.str7397)
|
|
%t70 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str7398)
|
|
call void @fn_emit(ptr @.str7399)
|
|
%t71 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str7400)
|
|
%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 @.str7401)
|
|
call void @fn_emit(ptr @.str7402)
|
|
call void @fn_emit(ptr @.str7403)
|
|
call void @fn_emit(ptr @.str7404)
|
|
%t76 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str7405)
|
|
call void @fn_emit(ptr @.str7406)
|
|
call void @fn_emit(ptr @.str7407)
|
|
call void @fn_emit(ptr @.str7408)
|
|
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 @.str7409)
|
|
%t105 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t105)
|
|
call void @fn_emit(ptr @.str7410)
|
|
%t106 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str7411)
|
|
call void @fn_emit(ptr @.str7412)
|
|
%t107 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str7413)
|
|
%t108 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t108)
|
|
call void @fn_emit(ptr @.str7414)
|
|
%t109 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t109)
|
|
call void @fn_emit(ptr @.str7415)
|
|
call void @fn_emit(ptr @.str7416)
|
|
%t110 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t110)
|
|
call void @fn_emit(ptr @.str7417)
|
|
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 @.str7418)
|
|
%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 @.str7419)
|
|
%t139 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str7420)
|
|
%t140 = load ptr, ptr %t132
|
|
call void @fn_emit(ptr %t140)
|
|
call void @fn_emit(ptr @.str7421)
|
|
call void @fn_emit(ptr @.str7422)
|
|
%t141 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t141)
|
|
call void @fn_emit(ptr @.str7423)
|
|
%t142 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t142)
|
|
call void @fn_emit(ptr @.str7424)
|
|
call void @fn_emit(ptr @.str7425)
|
|
%t143 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t143)
|
|
call void @fn_emit(ptr @.str7426)
|
|
%t144 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t144)
|
|
call void @fn_emit(ptr @.str7427)
|
|
%t145 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t145)
|
|
call void @fn_emit(ptr @.str7428)
|
|
call void @fn_emit(ptr @.str7429)
|
|
%t146 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t146)
|
|
call void @fn_emit(ptr @.str7430)
|
|
%t147 = load i32, ptr %t111
|
|
%t148 = call ptr @fn_itoa(i32 %t147)
|
|
call void @fn_emit(ptr %t148)
|
|
call void @fn_emit(ptr @.str7431)
|
|
call void @fn_emit(ptr @.str7432)
|
|
%t149 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t149)
|
|
call void @fn_emit(ptr @.str7433)
|
|
%t150 = load i32, ptr %t111
|
|
%t151 = add i32 %t150, 1
|
|
store i32 %t151, ptr %t111
|
|
br label %wcond18
|
|
wend20:
|
|
call void @fn_emit(ptr @.str7434)
|
|
call void @fn_emit(ptr @.str7435)
|
|
%t152 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t152)
|
|
call void @fn_emit(ptr @.str7436)
|
|
%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 @.str7437)
|
|
call void @fn_emit(ptr @.str7438)
|
|
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 @.str7439)
|
|
%t189 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t189)
|
|
call void @fn_emit(ptr @.str7440)
|
|
%t190 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t190)
|
|
call void @fn_emit(ptr @.str7441)
|
|
call void @fn_emit(ptr @.str7442)
|
|
%t191 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t191)
|
|
call void @fn_emit(ptr @.str7443)
|
|
%t192 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t192)
|
|
call void @fn_emit(ptr @.str7444)
|
|
%t193 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t193)
|
|
call void @fn_emit(ptr @.str7445)
|
|
call void @fn_emit(ptr @.str7446)
|
|
%t194 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t194)
|
|
call void @fn_emit(ptr @.str7447)
|
|
call void @fn_emit(ptr @.str7448)
|
|
%t195 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t195)
|
|
call void @fn_emit(ptr @.str7449)
|
|
%t196 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t196)
|
|
call void @fn_emit(ptr @.str7450)
|
|
%t197 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t197)
|
|
call void @fn_emit(ptr @.str7451)
|
|
%t198 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t198)
|
|
call void @fn_emit(ptr @.str7452)
|
|
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 @.str7453)
|
|
%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 @.str7454)
|
|
%t227 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t227)
|
|
call void @fn_emit(ptr @.str7455)
|
|
%t228 = load i32, ptr %t199
|
|
%t229 = call ptr @fn_itoa(i32 %t228)
|
|
call void @fn_emit(ptr %t229)
|
|
call void @fn_emit(ptr @.str7456)
|
|
call void @fn_emit(ptr @.str7457)
|
|
%t230 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t230)
|
|
call void @fn_emit(ptr @.str7458)
|
|
%t231 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t231)
|
|
call void @fn_emit(ptr @.str7459)
|
|
%t232 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t232)
|
|
call void @fn_emit(ptr @.str7460)
|
|
call void @fn_emit(ptr @.str7461)
|
|
%t233 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t233)
|
|
call void @fn_emit(ptr @.str7462)
|
|
call void @fn_emit(ptr @.str7463)
|
|
%t234 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t234)
|
|
call void @fn_emit(ptr @.str7464)
|
|
%t235 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t235)
|
|
call void @fn_emit(ptr @.str7465)
|
|
%t236 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t236)
|
|
call void @fn_emit(ptr @.str7466)
|
|
%t237 = load i32, ptr %t199
|
|
%t238 = call ptr @fn_itoa(i32 %t237)
|
|
call void @fn_emit(ptr %t238)
|
|
call void @fn_emit(ptr @.str7467)
|
|
%t239 = load ptr, ptr %t220
|
|
%t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str7468)
|
|
%t241 = icmp ne i32 %t240, 0
|
|
br i1 %t241, label %then30, label %else31
|
|
then30:
|
|
call void @fn_emit(ptr @.str7469)
|
|
%t242 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t242)
|
|
call void @fn_emit(ptr @.str7470)
|
|
%t243 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t243)
|
|
call void @fn_emit(ptr @.str7471)
|
|
call void @fn_emit(ptr @.str7472)
|
|
%t244 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t244)
|
|
call void @fn_emit(ptr @.str7473)
|
|
%t245 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t245)
|
|
call void @fn_emit(ptr @.str7474)
|
|
%t246 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t246)
|
|
call void @fn_emit(ptr @.str7475)
|
|
br label %ifend32
|
|
else31:
|
|
%t247 = load ptr, ptr %t220
|
|
%t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str7476)
|
|
%t249 = icmp ne i32 %t248, 0
|
|
br i1 %t249, label %then33, label %else34
|
|
then33:
|
|
call void @fn_emit(ptr @.str7477)
|
|
%t250 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t250)
|
|
call void @fn_emit(ptr @.str7478)
|
|
%t251 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t251)
|
|
call void @fn_emit(ptr @.str7479)
|
|
call void @fn_emit(ptr @.str7480)
|
|
%t252 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t252)
|
|
call void @fn_emit(ptr @.str7481)
|
|
%t253 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t253)
|
|
call void @fn_emit(ptr @.str7482)
|
|
%t254 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t254)
|
|
call void @fn_emit(ptr @.str7483)
|
|
br label %ifend35
|
|
else34:
|
|
call void @fn_emit(ptr @.str7484)
|
|
%t255 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t255)
|
|
call void @fn_emit(ptr @.str7485)
|
|
%t256 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t256)
|
|
call void @fn_emit(ptr @.str7486)
|
|
call void @fn_emit(ptr @.str7487)
|
|
%t257 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t257)
|
|
call void @fn_emit(ptr @.str7488)
|
|
%t258 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t258)
|
|
call void @fn_emit(ptr @.str7489)
|
|
%t259 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t259)
|
|
call void @fn_emit(ptr @.str7490)
|
|
br label %ifend35
|
|
ifend35:
|
|
br label %ifend32
|
|
ifend32:
|
|
call void @fn_emit(ptr @.str7491)
|
|
%t260 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t260)
|
|
call void @fn_emit(ptr @.str7492)
|
|
%t261 = load i32, ptr %t199
|
|
%t262 = add i32 %t261, 1
|
|
store i32 %t262, ptr %t199
|
|
br label %wcond27
|
|
wend29:
|
|
call void @fn_emit(ptr @.str7493)
|
|
call void @fn_emit(ptr @.str7494)
|
|
%t263 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t263)
|
|
call void @fn_emit(ptr @.str7495)
|
|
%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 @.str7496)
|
|
%t268 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t268)
|
|
call void @fn_emit(ptr @.str7497)
|
|
call void @fn_emit(ptr @.str7498)
|
|
call void @fn_emit(ptr @.str7499)
|
|
call void @fn_emit(ptr @.str7500)
|
|
call void @fn_emit(ptr @.str7501)
|
|
call void @fn_emit(ptr @.str7502)
|
|
call void @fn_emit(ptr @.str7503)
|
|
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 @.str7504)
|
|
%t301 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t301)
|
|
call void @fn_emit(ptr @.str7505)
|
|
%t302 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t302)
|
|
call void @fn_emit(ptr @.str7506)
|
|
call void @fn_emit(ptr @.str7507)
|
|
%t303 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t303)
|
|
call void @fn_emit(ptr @.str7508)
|
|
%t304 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t304)
|
|
call void @fn_emit(ptr @.str7509)
|
|
%t305 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t305)
|
|
call void @fn_emit(ptr @.str7510)
|
|
call void @fn_emit(ptr @.str7511)
|
|
%t306 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t306)
|
|
call void @fn_emit(ptr @.str7512)
|
|
call void @fn_emit(ptr @.str7513)
|
|
%t307 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t307)
|
|
call void @fn_emit(ptr @.str7514)
|
|
%t308 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t308)
|
|
call void @fn_emit(ptr @.str7515)
|
|
%t309 = load ptr, ptr %t297
|
|
call void @fn_emit(ptr %t309)
|
|
call void @fn_emit(ptr @.str7516)
|
|
%t310 = load ptr, ptr %t297
|
|
call void @fn_emit(ptr %t310)
|
|
call void @fn_emit(ptr @.str7517)
|
|
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 @.str7518)
|
|
%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 @.str7519)
|
|
%t339 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t339)
|
|
call void @fn_emit(ptr @.str7520)
|
|
%t340 = load i32, ptr %t311
|
|
%t341 = call ptr @fn_itoa(i32 %t340)
|
|
call void @fn_emit(ptr %t341)
|
|
call void @fn_emit(ptr @.str7521)
|
|
call void @fn_emit(ptr @.str7522)
|
|
%t342 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t342)
|
|
call void @fn_emit(ptr @.str7523)
|
|
%t343 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t343)
|
|
call void @fn_emit(ptr @.str7524)
|
|
%t344 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t344)
|
|
call void @fn_emit(ptr @.str7525)
|
|
call void @fn_emit(ptr @.str7526)
|
|
%t345 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t345)
|
|
call void @fn_emit(ptr @.str7527)
|
|
call void @fn_emit(ptr @.str7528)
|
|
%t346 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t346)
|
|
call void @fn_emit(ptr @.str7529)
|
|
%t347 = load ptr, ptr %t297
|
|
call void @fn_emit(ptr %t347)
|
|
call void @fn_emit(ptr @.str7530)
|
|
%t348 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t348)
|
|
call void @fn_emit(ptr @.str7531)
|
|
%t349 = load i32, ptr %t311
|
|
%t350 = call ptr @fn_itoa(i32 %t349)
|
|
call void @fn_emit(ptr %t350)
|
|
call void @fn_emit(ptr @.str7532)
|
|
%t351 = load ptr, ptr %t332
|
|
%t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str7533)
|
|
%t353 = icmp ne i32 %t352, 0
|
|
br i1 %t353, label %then45, label %else46
|
|
then45:
|
|
call void @fn_emit(ptr @.str7534)
|
|
%t354 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t354)
|
|
call void @fn_emit(ptr @.str7535)
|
|
call void @fn_emit(ptr @.str7536)
|
|
%t355 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t355)
|
|
call void @fn_emit(ptr @.str7537)
|
|
%t356 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t356)
|
|
call void @fn_emit(ptr @.str7538)
|
|
br label %ifend47
|
|
else46:
|
|
%t357 = load ptr, ptr %t332
|
|
%t358 = call i32 @fn_str_eq(ptr %t357, ptr @.str7539)
|
|
%t359 = icmp ne i32 %t358, 0
|
|
br i1 %t359, label %then48, label %else49
|
|
then48:
|
|
call void @fn_emit(ptr @.str7540)
|
|
%t360 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t360)
|
|
call void @fn_emit(ptr @.str7541)
|
|
call void @fn_emit(ptr @.str7542)
|
|
%t361 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t361)
|
|
call void @fn_emit(ptr @.str7543)
|
|
%t362 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t362)
|
|
call void @fn_emit(ptr @.str7544)
|
|
br label %ifend50
|
|
else49:
|
|
call void @fn_emit(ptr @.str7545)
|
|
%t363 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t363)
|
|
call void @fn_emit(ptr @.str7546)
|
|
call void @fn_emit(ptr @.str7547)
|
|
%t364 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t364)
|
|
call void @fn_emit(ptr @.str7548)
|
|
%t365 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t365)
|
|
call void @fn_emit(ptr @.str7549)
|
|
br label %ifend50
|
|
ifend50:
|
|
br label %ifend47
|
|
ifend47:
|
|
call void @fn_emit(ptr @.str7550)
|
|
%t366 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t366)
|
|
call void @fn_emit(ptr @.str7551)
|
|
%t367 = load i32, ptr %t311
|
|
%t368 = add i32 %t367, 1
|
|
store i32 %t368, ptr %t311
|
|
br label %wcond42
|
|
wend44:
|
|
call void @fn_emit(ptr @.str7552)
|
|
call void @fn_emit(ptr @.str7553)
|
|
%t369 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t369)
|
|
call void @fn_emit(ptr @.str7554)
|
|
%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 @.str7555)
|
|
%t374 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t374)
|
|
call void @fn_emit(ptr @.str7556)
|
|
call void @fn_emit(ptr @.str7557)
|
|
call void @fn_emit(ptr @.str7558)
|
|
call void @fn_emit(ptr @.str7559)
|
|
call void @fn_emit(ptr @.str7560)
|
|
call void @fn_emit(ptr @.str7561)
|
|
call void @fn_emit(ptr @.str7562)
|
|
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 @.str7563)
|
|
%t405 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t405)
|
|
call void @fn_emit(ptr @.str7564)
|
|
%t406 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t406)
|
|
call void @fn_emit(ptr @.str7565)
|
|
call void @fn_emit(ptr @.str7566)
|
|
%t407 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t407)
|
|
call void @fn_emit(ptr @.str7567)
|
|
%t408 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t408)
|
|
call void @fn_emit(ptr @.str7568)
|
|
%t409 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t409)
|
|
call void @fn_emit(ptr @.str7569)
|
|
call void @fn_emit(ptr @.str7570)
|
|
%t410 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t410)
|
|
call void @fn_emit(ptr @.str7571)
|
|
call void @fn_emit(ptr @.str7572)
|
|
%t411 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t411)
|
|
call void @fn_emit(ptr @.str7573)
|
|
%t412 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t412)
|
|
call void @fn_emit(ptr @.str7574)
|
|
%t413 = load ptr, ptr %t401
|
|
call void @fn_emit(ptr %t413)
|
|
call void @fn_emit(ptr @.str7575)
|
|
call void @fn_emit(ptr @.str7576)
|
|
%t414 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t414)
|
|
call void @fn_emit(ptr @.str7577)
|
|
%t415 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t415)
|
|
call void @fn_emit(ptr @.str7578)
|
|
call void @fn_emit(ptr @.str7579)
|
|
%t416 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t416)
|
|
call void @fn_emit(ptr @.str7580)
|
|
%t417 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t417)
|
|
call void @fn_emit(ptr @.str7581)
|
|
%t418 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t418)
|
|
call void @fn_emit(ptr @.str7582)
|
|
call void @fn_emit(ptr @.str7583)
|
|
%t419 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t419)
|
|
call void @fn_emit(ptr @.str7584)
|
|
%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 @.str7585)
|
|
%t424 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t424)
|
|
call void @fn_emit(ptr @.str7586)
|
|
call void @fn_emit(ptr @.str7587)
|
|
call void @fn_emit(ptr @.str7588)
|
|
call void @fn_emit(ptr @.str7589)
|
|
call void @fn_emit(ptr @.str7590)
|
|
call void @fn_emit(ptr @.str7591)
|
|
call void @fn_emit(ptr @.str7592)
|
|
%t425 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t425)
|
|
call void @fn_emit(ptr @.str7593)
|
|
call void @fn_emit(ptr @.str7594)
|
|
call void @fn_emit(ptr @.str7595)
|
|
call void @fn_emit(ptr @.str7596)
|
|
%t426 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t426)
|
|
call void @fn_emit(ptr @.str7597)
|
|
%t427 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t427)
|
|
call void @fn_emit(ptr @.str7598)
|
|
call void @fn_emit(ptr @.str7599)
|
|
call void @fn_emit(ptr @.str7600)
|
|
call void @fn_emit(ptr @.str7601)
|
|
call void @fn_emit(ptr @.str7602)
|
|
%t428 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t428)
|
|
call void @fn_emit(ptr @.str7603)
|
|
call void @fn_emit(ptr @.str7604)
|
|
call void @fn_emit(ptr @.str7605)
|
|
call void @fn_emit(ptr @.str7606)
|
|
%t429 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t429)
|
|
call void @fn_emit(ptr @.str7607)
|
|
call void @fn_emit(ptr @.str7608)
|
|
call void @fn_emit(ptr @.str7609)
|
|
%t430 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t430)
|
|
call void @fn_emit(ptr @.str7610)
|
|
call void @fn_emit(ptr @.str7611)
|
|
call void @fn_emit(ptr @.str7612)
|
|
call void @fn_emit(ptr @.str7613)
|
|
%t431 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t431)
|
|
call void @fn_emit(ptr @.str7614)
|
|
call void @fn_emit(ptr @.str7615)
|
|
call void @fn_emit(ptr @.str7616)
|
|
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 @.str7617)
|
|
%t463 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t463)
|
|
call void @fn_emit(ptr @.str7618)
|
|
%t464 = load ptr, ptr %t459
|
|
call void @fn_emit(ptr %t464)
|
|
call void @fn_emit(ptr @.str7619)
|
|
call void @fn_emit(ptr @.str7620)
|
|
%t465 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t465)
|
|
call void @fn_emit(ptr @.str7621)
|
|
%t466 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t466)
|
|
call void @fn_emit(ptr @.str7622)
|
|
call void @fn_emit(ptr @.str7623)
|
|
%t467 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t467)
|
|
call void @fn_emit(ptr @.str7624)
|
|
%t468 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t468)
|
|
call void @fn_emit(ptr @.str7625)
|
|
%t469 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t469)
|
|
call void @fn_emit(ptr @.str7626)
|
|
call void @fn_emit(ptr @.str7627)
|
|
%t470 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t470)
|
|
call void @fn_emit(ptr @.str7628)
|
|
%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 @.str7629)
|
|
call void @fn_emit(ptr @.str7630)
|
|
%t481 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t481)
|
|
call void @fn_emit(ptr @.str7631)
|
|
%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 @.str7632)
|
|
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 @.str7633, 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 @.str7634)
|
|
%t527 = load ptr, ptr %t526
|
|
call void @fn_emit(ptr %t527)
|
|
call void @fn_emit(ptr @.str7635)
|
|
%t528 = load ptr, ptr %t517
|
|
store ptr %t528, ptr @g_code
|
|
call void @fn_emit(ptr @.str7636)
|
|
%t529 = load ptr, ptr %t512
|
|
call void @fn_emit(ptr %t529)
|
|
call void @fn_emit(ptr @.str7637)
|
|
%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 @.str7638)
|
|
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 @.str7639)
|
|
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 @.str7640)
|
|
%t566 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t566)
|
|
call void @fn_emit(ptr @.str7641)
|
|
%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 @.str7642)
|
|
call void @fn_emit(ptr @.str7643)
|
|
%t570 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t570)
|
|
call void @fn_emit(ptr @.str7644)
|
|
%t571 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t571)
|
|
call void @fn_emit(ptr @.str7645)
|
|
%t572 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t572)
|
|
call void @fn_emit(ptr @.str7646)
|
|
call void @fn_emit(ptr @.str7647)
|
|
%t573 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t573)
|
|
call void @fn_emit(ptr @.str7648)
|
|
%t574 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t574)
|
|
call void @fn_emit(ptr @.str7649)
|
|
%t575 = load ptr, ptr %t562
|
|
call void @fn_emit(ptr %t575)
|
|
call void @fn_emit(ptr @.str7650)
|
|
%t576 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t576)
|
|
call void @fn_emit(ptr @.str7651)
|
|
call void @fn_emit(ptr @.str7652)
|
|
%t577 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t577)
|
|
call void @fn_emit(ptr @.str7653)
|
|
%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 @.str7654)
|
|
call void @fn_emit(ptr @.str7655)
|
|
call void @fn_emit(ptr @.str7656)
|
|
call void @fn_emit(ptr @.str7657)
|
|
call void @fn_emit(ptr @.str7658)
|
|
call void @fn_emit(ptr @.str7659)
|
|
%t582 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t582)
|
|
call void @fn_emit(ptr @.str7660)
|
|
call void @fn_emit(ptr @.str7661)
|
|
call void @fn_emit(ptr @.str7662)
|
|
call void @fn_emit(ptr @.str7663)
|
|
call void @fn_emit(ptr @.str7664)
|
|
call void @fn_emit(ptr @.str7665)
|
|
call void @fn_emit_world_reflect_enum()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_world_reflect_enum() {
|
|
entry:
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t4 = alloca i32
|
|
%t5 = alloca i32
|
|
%t30 = alloca ptr
|
|
%t32 = alloca i32
|
|
%t60 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t105 = alloca ptr
|
|
%t148 = alloca ptr
|
|
%t151 = alloca ptr
|
|
%t158 = alloca i32
|
|
%t179 = alloca ptr
|
|
%t185 = alloca ptr
|
|
%t228 = alloca ptr
|
|
%t231 = alloca ptr
|
|
%t238 = alloca i32
|
|
%t259 = alloca ptr
|
|
%t265 = alloca ptr
|
|
%t0 = call ptr @fn_emit_str_const(ptr @.str7666)
|
|
store ptr %t0, ptr %t1
|
|
%t2 = call ptr @fn_emit_str_const(ptr @.str7667)
|
|
store ptr %t2, ptr %t3
|
|
store i32 0, ptr %t4
|
|
store i32 0, ptr %t5
|
|
br label %wcond0
|
|
wcond0:
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = load ptr, ptr @g_prog
|
|
%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 %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 %t5
|
|
%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, 8
|
|
%t22 = zext i1 %t21 to i32
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then3, label %ifend5
|
|
then3:
|
|
%t24 = load i32, ptr %t4
|
|
%t25 = add i32 %t24, 1
|
|
store i32 %t25, ptr %t4
|
|
br label %ifend5
|
|
ifend5:
|
|
%t26 = load i32, ptr %t5
|
|
%t27 = add i32 %t26, 1
|
|
store i32 %t27, ptr %t5
|
|
br label %wcond0
|
|
wend2:
|
|
%t28 = load i32, ptr %t4
|
|
%t29 = call ptr @fn_itoa(i32 %t28)
|
|
store ptr %t29, ptr %t30
|
|
call void @fn_emit(ptr @.str7668)
|
|
call void @fn_emit(ptr @.str7669)
|
|
%t31 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str7670)
|
|
call void @fn_emit(ptr @.str7671)
|
|
store i32 0, ptr %t32
|
|
store i32 0, ptr %t5
|
|
br label %wcond6
|
|
wcond6:
|
|
%t33 = load i32, ptr %t5
|
|
%t34 = load ptr, ptr @g_prog
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1
|
|
%t36 = load i32, ptr %t35
|
|
%t37 = icmp slt i32 %t33, %t36
|
|
%t38 = zext i1 %t37 to i32
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %wbody7, label %wend8
|
|
wbody7:
|
|
%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 %t5
|
|
%t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0
|
|
%t47 = load i32, ptr %t46
|
|
%t48 = icmp eq i32 %t47, 8
|
|
%t49 = zext i1 %t48 to i32
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %then9, label %ifend11
|
|
then9:
|
|
%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 %t5
|
|
%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
|
|
%t59 = call ptr @fn_emit_str_const(ptr %t58)
|
|
store ptr %t59, ptr %t60
|
|
%t61 = load i32, ptr %t32
|
|
%t62 = call ptr @fn_itoa(i32 %t61)
|
|
store ptr %t62, ptr %t63
|
|
call void @fn_emit(ptr @.str7672)
|
|
%t64 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str7673)
|
|
%t65 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t65)
|
|
call void @fn_emit(ptr @.str7674)
|
|
call void @fn_emit(ptr @.str7675)
|
|
%t66 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t66)
|
|
call void @fn_emit(ptr @.str7676)
|
|
%t67 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t67)
|
|
call void @fn_emit(ptr @.str7677)
|
|
%t68 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t68)
|
|
call void @fn_emit(ptr @.str7678)
|
|
call void @fn_emit(ptr @.str7679)
|
|
%t69 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t69)
|
|
call void @fn_emit(ptr @.str7680)
|
|
%t70 = load ptr, ptr %t60
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str7681)
|
|
call void @fn_emit(ptr @.str7682)
|
|
%t71 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str7683)
|
|
%t72 = load i32, ptr %t32
|
|
%t73 = add i32 %t72, 1
|
|
store i32 %t73, ptr %t32
|
|
br label %ifend11
|
|
ifend11:
|
|
%t74 = load i32, ptr %t5
|
|
%t75 = add i32 %t74, 1
|
|
store i32 %t75, ptr %t5
|
|
br label %wcond6
|
|
wend8:
|
|
call void @fn_emit(ptr @.str7684)
|
|
%t76 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str7685)
|
|
call void @fn_emit(ptr @.str7686)
|
|
call void @fn_emit(ptr @.str7687)
|
|
call void @fn_emit(ptr @.str7688)
|
|
%t77 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str7689)
|
|
call void @fn_emit(ptr @.str7690)
|
|
store i32 0, ptr %t32
|
|
store i32 0, ptr %t5
|
|
br label %wcond12
|
|
wcond12:
|
|
%t78 = load i32, ptr %t5
|
|
%t79 = load ptr, ptr @g_prog
|
|
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1
|
|
%t81 = load i32, ptr %t80
|
|
%t82 = icmp slt i32 %t78, %t81
|
|
%t83 = zext i1 %t82 to i32
|
|
%t84 = icmp ne i32 %t83, 0
|
|
br i1 %t84, label %wbody13, label %wend14
|
|
wbody13:
|
|
%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 %t5
|
|
%t89 = getelementptr inbounds ptr, ptr %t87, i32 %t88
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 0
|
|
%t92 = load i32, ptr %t91
|
|
%t93 = icmp eq i32 %t92, 8
|
|
%t94 = zext i1 %t93 to i32
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %then15, label %ifend17
|
|
then15:
|
|
%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 %t5
|
|
%t100 = getelementptr inbounds ptr, ptr %t98, i32 %t99
|
|
%t101 = load ptr, ptr %t100
|
|
store ptr %t101, ptr %t102
|
|
%t103 = load i32, ptr %t32
|
|
%t104 = call ptr @fn_itoa(i32 %t103)
|
|
store ptr %t104, ptr %t105
|
|
call void @fn_emit(ptr @.str7691)
|
|
%t106 = load ptr, ptr %t105
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str7692)
|
|
%t107 = load ptr, ptr %t105
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str7693)
|
|
call void @fn_emit(ptr @.str7694)
|
|
%t108 = load ptr, ptr %t105
|
|
call void @fn_emit(ptr %t108)
|
|
call void @fn_emit(ptr @.str7695)
|
|
%t109 = load ptr, ptr %t105
|
|
call void @fn_emit(ptr %t109)
|
|
call void @fn_emit(ptr @.str7696)
|
|
%t110 = load ptr, ptr %t105
|
|
call void @fn_emit(ptr %t110)
|
|
call void @fn_emit(ptr @.str7697)
|
|
call void @fn_emit(ptr @.str7698)
|
|
%t111 = load ptr, ptr %t105
|
|
call void @fn_emit(ptr %t111)
|
|
call void @fn_emit(ptr @.str7699)
|
|
%t112 = load ptr, ptr %t102
|
|
%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 1
|
|
%t116 = load i32, ptr %t115
|
|
%t117 = call ptr @fn_itoa(i32 %t116)
|
|
call void @fn_emit(ptr %t117)
|
|
call void @fn_emit(ptr @.str7700)
|
|
call void @fn_emit(ptr @.str7701)
|
|
%t118 = load ptr, ptr %t105
|
|
call void @fn_emit(ptr %t118)
|
|
call void @fn_emit(ptr @.str7702)
|
|
%t119 = load i32, ptr %t32
|
|
%t120 = add i32 %t119, 1
|
|
store i32 %t120, ptr %t32
|
|
br label %ifend17
|
|
ifend17:
|
|
%t121 = load i32, ptr %t5
|
|
%t122 = add i32 %t121, 1
|
|
store i32 %t122, ptr %t5
|
|
br label %wcond12
|
|
wend14:
|
|
call void @fn_emit(ptr @.str7703)
|
|
%t123 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t123)
|
|
call void @fn_emit(ptr @.str7704)
|
|
call void @fn_emit(ptr @.str7705)
|
|
call void @fn_emit(ptr @.str7706)
|
|
call void @fn_emit(ptr @.str7707)
|
|
call void @fn_emit(ptr @.str7708)
|
|
store i32 0, ptr %t32
|
|
store i32 0, ptr %t5
|
|
br label %wcond18
|
|
wcond18:
|
|
%t124 = load i32, ptr %t5
|
|
%t125 = load ptr, ptr @g_prog
|
|
%t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1
|
|
%t127 = load i32, ptr %t126
|
|
%t128 = icmp slt i32 %t124, %t127
|
|
%t129 = zext i1 %t128 to i32
|
|
%t130 = icmp ne i32 %t129, 0
|
|
br i1 %t130, label %wbody19, label %wend20
|
|
wbody19:
|
|
%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 %t5
|
|
%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, 8
|
|
%t140 = zext i1 %t139 to i32
|
|
%t141 = icmp ne i32 %t140, 0
|
|
br i1 %t141, label %then21, label %ifend23
|
|
then21:
|
|
%t142 = load ptr, ptr @g_prog
|
|
%t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0
|
|
%t144 = load ptr, ptr %t143
|
|
%t145 = load i32, ptr %t5
|
|
%t146 = getelementptr inbounds ptr, ptr %t144, i32 %t145
|
|
%t147 = load ptr, ptr %t146
|
|
store ptr %t147, ptr %t148
|
|
%t149 = load i32, ptr %t32
|
|
%t150 = call ptr @fn_itoa(i32 %t149)
|
|
store ptr %t150, ptr %t151
|
|
call void @fn_emit(ptr @.str7709)
|
|
%t152 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t152)
|
|
call void @fn_emit(ptr @.str7710)
|
|
%t153 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t153)
|
|
call void @fn_emit(ptr @.str7711)
|
|
call void @fn_emit(ptr @.str7712)
|
|
%t154 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t154)
|
|
call void @fn_emit(ptr @.str7713)
|
|
%t155 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t155)
|
|
call void @fn_emit(ptr @.str7714)
|
|
%t156 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t156)
|
|
call void @fn_emit(ptr @.str7715)
|
|
call void @fn_emit(ptr @.str7716)
|
|
%t157 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t157)
|
|
call void @fn_emit(ptr @.str7717)
|
|
store i32 0, ptr %t158
|
|
br label %wcond24
|
|
wcond24:
|
|
%t159 = load i32, ptr %t158
|
|
%t160 = load ptr, ptr %t148
|
|
%t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7
|
|
%t162 = load ptr, ptr %t161
|
|
%t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1
|
|
%t164 = load i32, ptr %t163
|
|
%t165 = icmp slt i32 %t159, %t164
|
|
%t166 = zext i1 %t165 to i32
|
|
%t167 = icmp ne i32 %t166, 0
|
|
br i1 %t167, label %wbody25, label %wend26
|
|
wbody25:
|
|
%t168 = load ptr, ptr %t148
|
|
%t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 7
|
|
%t170 = load ptr, ptr %t169
|
|
%t171 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = load i32, ptr %t158
|
|
%t174 = getelementptr inbounds ptr, ptr %t172, i32 %t173
|
|
%t175 = load ptr, ptr %t174
|
|
%t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1
|
|
%t177 = load ptr, ptr %t176
|
|
%t178 = call ptr @fn_emit_str_const(ptr %t177)
|
|
store ptr %t178, ptr %t179
|
|
%t180 = load ptr, ptr %t151
|
|
%t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str7718)
|
|
%t182 = load i32, ptr %t158
|
|
%t183 = call ptr @fn_itoa(i32 %t182)
|
|
%t184 = call ptr @fn_str_concat(ptr %t181, ptr %t183)
|
|
store ptr %t184, ptr %t185
|
|
call void @fn_emit(ptr @.str7719)
|
|
%t186 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t186)
|
|
call void @fn_emit(ptr @.str7720)
|
|
%t187 = load i32, ptr %t158
|
|
%t188 = call ptr @fn_itoa(i32 %t187)
|
|
call void @fn_emit(ptr %t188)
|
|
call void @fn_emit(ptr @.str7721)
|
|
call void @fn_emit(ptr @.str7722)
|
|
%t189 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t189)
|
|
call void @fn_emit(ptr @.str7723)
|
|
%t190 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t190)
|
|
call void @fn_emit(ptr @.str7724)
|
|
%t191 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t191)
|
|
call void @fn_emit(ptr @.str7725)
|
|
call void @fn_emit(ptr @.str7726)
|
|
%t192 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t192)
|
|
call void @fn_emit(ptr @.str7727)
|
|
%t193 = load ptr, ptr %t179
|
|
call void @fn_emit(ptr %t193)
|
|
call void @fn_emit(ptr @.str7728)
|
|
call void @fn_emit(ptr @.str7729)
|
|
%t194 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t194)
|
|
call void @fn_emit(ptr @.str7730)
|
|
%t195 = load i32, ptr %t158
|
|
%t196 = add i32 %t195, 1
|
|
store i32 %t196, ptr %t158
|
|
br label %wcond24
|
|
wend26:
|
|
call void @fn_emit(ptr @.str7731)
|
|
%t197 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t197)
|
|
call void @fn_emit(ptr @.str7732)
|
|
call void @fn_emit(ptr @.str7733)
|
|
%t198 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t198)
|
|
call void @fn_emit(ptr @.str7734)
|
|
%t199 = load i32, ptr %t32
|
|
%t200 = add i32 %t199, 1
|
|
store i32 %t200, ptr %t32
|
|
br label %ifend23
|
|
ifend23:
|
|
%t201 = load i32, ptr %t5
|
|
%t202 = add i32 %t201, 1
|
|
store i32 %t202, ptr %t5
|
|
br label %wcond18
|
|
wend20:
|
|
call void @fn_emit(ptr @.str7735)
|
|
%t203 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t203)
|
|
call void @fn_emit(ptr @.str7736)
|
|
call void @fn_emit(ptr @.str7737)
|
|
store i32 0, ptr %t32
|
|
store i32 0, ptr %t5
|
|
br label %wcond27
|
|
wcond27:
|
|
%t204 = load i32, ptr %t5
|
|
%t205 = load ptr, ptr @g_prog
|
|
%t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1
|
|
%t207 = load i32, ptr %t206
|
|
%t208 = icmp slt i32 %t204, %t207
|
|
%t209 = zext i1 %t208 to i32
|
|
%t210 = icmp ne i32 %t209, 0
|
|
br i1 %t210, label %wbody28, label %wend29
|
|
wbody28:
|
|
%t211 = load ptr, ptr @g_prog
|
|
%t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0
|
|
%t213 = load ptr, ptr %t212
|
|
%t214 = load i32, ptr %t5
|
|
%t215 = getelementptr inbounds ptr, ptr %t213, i32 %t214
|
|
%t216 = load ptr, ptr %t215
|
|
%t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 0
|
|
%t218 = load i32, ptr %t217
|
|
%t219 = icmp eq i32 %t218, 8
|
|
%t220 = zext i1 %t219 to i32
|
|
%t221 = icmp ne i32 %t220, 0
|
|
br i1 %t221, label %then30, label %ifend32
|
|
then30:
|
|
%t222 = load ptr, ptr @g_prog
|
|
%t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0
|
|
%t224 = load ptr, ptr %t223
|
|
%t225 = load i32, ptr %t5
|
|
%t226 = getelementptr inbounds ptr, ptr %t224, i32 %t225
|
|
%t227 = load ptr, ptr %t226
|
|
store ptr %t227, ptr %t228
|
|
%t229 = load i32, ptr %t32
|
|
%t230 = call ptr @fn_itoa(i32 %t229)
|
|
store ptr %t230, ptr %t231
|
|
call void @fn_emit(ptr @.str7738)
|
|
%t232 = load ptr, ptr %t231
|
|
call void @fn_emit(ptr %t232)
|
|
call void @fn_emit(ptr @.str7739)
|
|
%t233 = load ptr, ptr %t231
|
|
call void @fn_emit(ptr %t233)
|
|
call void @fn_emit(ptr @.str7740)
|
|
call void @fn_emit(ptr @.str7741)
|
|
%t234 = load ptr, ptr %t231
|
|
call void @fn_emit(ptr %t234)
|
|
call void @fn_emit(ptr @.str7742)
|
|
%t235 = load ptr, ptr %t231
|
|
call void @fn_emit(ptr %t235)
|
|
call void @fn_emit(ptr @.str7743)
|
|
%t236 = load ptr, ptr %t231
|
|
call void @fn_emit(ptr %t236)
|
|
call void @fn_emit(ptr @.str7744)
|
|
call void @fn_emit(ptr @.str7745)
|
|
%t237 = load ptr, ptr %t231
|
|
call void @fn_emit(ptr %t237)
|
|
call void @fn_emit(ptr @.str7746)
|
|
store i32 0, ptr %t238
|
|
br label %wcond33
|
|
wcond33:
|
|
%t239 = load i32, ptr %t238
|
|
%t240 = load ptr, ptr %t228
|
|
%t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7
|
|
%t242 = load ptr, ptr %t241
|
|
%t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1
|
|
%t244 = load i32, ptr %t243
|
|
%t245 = icmp slt i32 %t239, %t244
|
|
%t246 = zext i1 %t245 to i32
|
|
%t247 = icmp ne i32 %t246, 0
|
|
br i1 %t247, label %wbody34, label %wend35
|
|
wbody34:
|
|
%t248 = load ptr, ptr %t228
|
|
%t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 7
|
|
%t250 = load ptr, ptr %t249
|
|
%t251 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0
|
|
%t252 = load ptr, ptr %t251
|
|
%t253 = load i32, ptr %t238
|
|
%t254 = getelementptr inbounds ptr, ptr %t252, i32 %t253
|
|
%t255 = load ptr, ptr %t254
|
|
%t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 3
|
|
%t257 = load ptr, ptr %t256
|
|
%t258 = call ptr @fn_emit_str_const(ptr %t257)
|
|
store ptr %t258, ptr %t259
|
|
%t260 = load ptr, ptr %t231
|
|
%t261 = call ptr @fn_str_concat(ptr %t260, ptr @.str7747)
|
|
%t262 = load i32, ptr %t238
|
|
%t263 = call ptr @fn_itoa(i32 %t262)
|
|
%t264 = call ptr @fn_str_concat(ptr %t261, ptr %t263)
|
|
store ptr %t264, ptr %t265
|
|
call void @fn_emit(ptr @.str7748)
|
|
%t266 = load ptr, ptr %t265
|
|
call void @fn_emit(ptr %t266)
|
|
call void @fn_emit(ptr @.str7749)
|
|
%t267 = load i32, ptr %t238
|
|
%t268 = call ptr @fn_itoa(i32 %t267)
|
|
call void @fn_emit(ptr %t268)
|
|
call void @fn_emit(ptr @.str7750)
|
|
call void @fn_emit(ptr @.str7751)
|
|
%t269 = load ptr, ptr %t265
|
|
call void @fn_emit(ptr %t269)
|
|
call void @fn_emit(ptr @.str7752)
|
|
%t270 = load ptr, ptr %t265
|
|
call void @fn_emit(ptr %t270)
|
|
call void @fn_emit(ptr @.str7753)
|
|
%t271 = load ptr, ptr %t265
|
|
call void @fn_emit(ptr %t271)
|
|
call void @fn_emit(ptr @.str7754)
|
|
call void @fn_emit(ptr @.str7755)
|
|
%t272 = load ptr, ptr %t265
|
|
call void @fn_emit(ptr %t272)
|
|
call void @fn_emit(ptr @.str7756)
|
|
%t273 = load ptr, ptr %t259
|
|
call void @fn_emit(ptr %t273)
|
|
call void @fn_emit(ptr @.str7757)
|
|
call void @fn_emit(ptr @.str7758)
|
|
%t274 = load ptr, ptr %t265
|
|
call void @fn_emit(ptr %t274)
|
|
call void @fn_emit(ptr @.str7759)
|
|
%t275 = load i32, ptr %t238
|
|
%t276 = add i32 %t275, 1
|
|
store i32 %t276, ptr %t238
|
|
br label %wcond33
|
|
wend35:
|
|
call void @fn_emit(ptr @.str7760)
|
|
%t277 = load ptr, ptr %t3
|
|
call void @fn_emit(ptr %t277)
|
|
call void @fn_emit(ptr @.str7761)
|
|
call void @fn_emit(ptr @.str7762)
|
|
%t278 = load ptr, ptr %t231
|
|
call void @fn_emit(ptr %t278)
|
|
call void @fn_emit(ptr @.str7763)
|
|
%t279 = load i32, ptr %t32
|
|
%t280 = add i32 %t279, 1
|
|
store i32 %t280, ptr %t32
|
|
br label %ifend32
|
|
ifend32:
|
|
%t281 = load i32, ptr %t5
|
|
%t282 = add i32 %t281, 1
|
|
store i32 %t282, ptr %t5
|
|
br label %wcond27
|
|
wend29:
|
|
call void @fn_emit(ptr @.str7764)
|
|
%t283 = load ptr, ptr %t3
|
|
call void @fn_emit(ptr %t283)
|
|
call void @fn_emit(ptr @.str7765)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_tick_helpers() {
|
|
entry:
|
|
call void @fn_emit(ptr @.str7766)
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
call void @fn_emit_calls_for_phase(ptr @.str7767)
|
|
call void @fn_emit_calls_for_phase(ptr @.str7768)
|
|
call void @fn_emit_calls_for_phase(ptr @.str7769)
|
|
call void @fn_emit_calls_for_phase(ptr @.str7770)
|
|
call void @fn_emit(ptr @.str7771)
|
|
call void @fn_emit(ptr @.str7772)
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
call void @fn_emit_calls_for_phase(ptr @.str7773)
|
|
call void @fn_emit(ptr @.str7774)
|
|
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 @.str7775)
|
|
call void @fn_emit(ptr @.str7776)
|
|
call void @fn_emit(ptr @.str7777)
|
|
%t0 = call ptr @fn_find_fn(ptr @.str7778)
|
|
%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 @.str7779)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit_calls_for_phase(ptr @.str7780)
|
|
%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 @.str7781)
|
|
%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 @.str7782)
|
|
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 @.str7783)
|
|
%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 @.str7784)
|
|
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 @.str7785)
|
|
%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 @.str7786)
|
|
br label %ifend14
|
|
ifend14:
|
|
call void @fn_emit(ptr @.str7787)
|
|
call void @fn_emit(ptr @.str7788)
|
|
%t46 = call ptr @fn_emit_bind(ptr @.str7789)
|
|
store ptr %t46, ptr %t47
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = call ptr @fn_str_concat(ptr @.str7790, ptr %t48)
|
|
%t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str7791)
|
|
%t51 = call ptr @fn_emit_bind(ptr %t50)
|
|
store ptr %t51, ptr %t52
|
|
%t53 = call ptr @fn_find_fn(ptr @.str7792)
|
|
%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 @.str7793)
|
|
store ptr %t57, ptr %t58
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = call ptr @fn_str_concat(ptr @.str7794, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str7795)
|
|
%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 @.str7796, ptr %t64)
|
|
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str7797)
|
|
%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 @.str7798)
|
|
%t71 = load ptr, ptr %t70
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str7799)
|
|
br label %ifend17
|
|
else16:
|
|
call void @fn_emit(ptr @.str7800)
|
|
%t72 = load ptr, ptr %t52
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str7801)
|
|
br label %ifend17
|
|
ifend17:
|
|
call void @fn_emit(ptr @.str7802)
|
|
%t73 = call ptr @fn_find_fn(ptr @.str7803)
|
|
%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 @.str7804)
|
|
store ptr %t77, ptr %t78
|
|
call void @fn_emit(ptr @.str7805)
|
|
%t79 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str7806)
|
|
br label %ifend20
|
|
ifend20:
|
|
call void @fn_emit_calls_for_phase(ptr @.str7807)
|
|
call void @fn_emit_calls_for_phase(ptr @.str7808)
|
|
call void @fn_emit_calls_for_phase(ptr @.str7809)
|
|
call void @fn_emit_calls_for_phase(ptr @.str7810)
|
|
call void @fn_emit_calls_for_phase(ptr @.str7811)
|
|
%t80 = call ptr @fn_emit_bind(ptr @.str7812)
|
|
store ptr %t80, ptr %t81
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = call ptr @fn_str_concat(ptr @.str7813, ptr %t82)
|
|
%t84 = call ptr @fn_str_concat(ptr %t83, ptr @.str7814)
|
|
%t85 = call ptr @fn_emit_bind(ptr %t84)
|
|
store ptr %t85, ptr %t86
|
|
call void @fn_emit(ptr @.str7815)
|
|
%t87 = load ptr, ptr %t86
|
|
call void @fn_emit(ptr %t87)
|
|
call void @fn_emit(ptr @.str7816)
|
|
call void @fn_emit(ptr @.str7817)
|
|
call void @fn_emit(ptr @.str7818)
|
|
%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 @.str7819)
|
|
br label %ifend23
|
|
ifend23:
|
|
call void @fn_emit_calls_for_phase(ptr @.str7820)
|
|
%t94 = call ptr @fn_find_event(ptr @.str7821)
|
|
%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 @.str7822)
|
|
br label %ifend26
|
|
ifend26:
|
|
%t98 = call ptr @fn_find_fn(ptr @.str7823)
|
|
%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 @.str7824)
|
|
br label %ifend29
|
|
ifend29:
|
|
call void @fn_emit(ptr @.str7825)
|
|
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 @.str7826, 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 @.str7827, 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 @.str7828, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str7829)
|
|
%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 @.str7830)
|
|
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 @.str7831, ptr %t90)
|
|
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str7832)
|
|
%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 @.str7833)
|
|
store ptr %t99, ptr %t100
|
|
%t101 = call ptr @fn_lbl(ptr @.str7834)
|
|
store ptr %t101, ptr %t102
|
|
call void @fn_emit(ptr @.str7835)
|
|
%t103 = load ptr, ptr %t98
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str7836)
|
|
%t104 = load ptr, ptr %t100
|
|
call void @fn_emit(ptr %t104)
|
|
call void @fn_emit(ptr @.str7837)
|
|
%t105 = load ptr, ptr %t102
|
|
call void @fn_emit(ptr %t105)
|
|
call void @fn_emit(ptr @.str7838)
|
|
%t106 = load ptr, ptr %t100
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str7839)
|
|
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 @.str7840)
|
|
%t114 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t114)
|
|
call void @fn_emit(ptr @.str7841)
|
|
br label %ifend13
|
|
ifend13:
|
|
%t115 = load ptr, ptr %t102
|
|
call void @fn_emit(ptr %t115)
|
|
call void @fn_emit(ptr @.str7842)
|
|
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 @.str7843)
|
|
%t122 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str7844)
|
|
br label %ifend16
|
|
ifend16:
|
|
%t123 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t123)
|
|
call void @fn_emit(ptr @.str7845)
|
|
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 @.str7846)
|
|
%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 @.str7847)
|
|
%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 @.str7848)
|
|
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 @.str7849)
|
|
%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 @.str7850)
|
|
%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 @.str7851)
|
|
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 @.str7852, 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 @.str7853)
|
|
%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 @.str7854)
|
|
br label %ifend20
|
|
ifend20:
|
|
call void @fn_emit(ptr @.str7855)
|
|
%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 @.str7856)
|
|
call void @fn_emit(ptr @.str7857)
|
|
%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 @.str7858)
|
|
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 @.str7859)
|
|
%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 @.str7860, 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 @.str7861)
|
|
%t12 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t12)
|
|
call void @fn_emit(ptr @.str7862)
|
|
%t13 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t13)
|
|
call void @fn_emit(ptr @.str7863)
|
|
%t14 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t14)
|
|
call void @fn_emit(ptr @.str7864)
|
|
%t15 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t15)
|
|
call void @fn_emit(ptr @.str7865)
|
|
br label %ret
|
|
ifend2:
|
|
%t16 = load ptr, ptr @g_g_snap_mode
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str7866)
|
|
%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 @.str7867, ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
call void @fn_emit(ptr @.str7868)
|
|
%t23 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t23)
|
|
call void @fn_emit(ptr @.str7869)
|
|
%t24 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str7870)
|
|
%t25 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str7871)
|
|
%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 @.str7872, ptr %t30)
|
|
store ptr %t31, ptr %t32
|
|
call void @fn_emit(ptr @.str7873)
|
|
%t33 = load ptr, ptr %t32
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str7874)
|
|
%t34 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str7875)
|
|
%t35 = load ptr, ptr @g_g_snap_mode
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str7876)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
br i1 %t37, label %then6, label %else7
|
|
then6:
|
|
call void @fn_emit(ptr @.str7877)
|
|
%t38 = load ptr, ptr %t32
|
|
call void @fn_emit(ptr %t38)
|
|
call void @fn_emit(ptr @.str7878)
|
|
%t39 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t39)
|
|
call void @fn_emit(ptr @.str7879)
|
|
%t40 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str7880)
|
|
br label %ifend8
|
|
else7:
|
|
call void @fn_emit(ptr @.str7881)
|
|
%t41 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str7882)
|
|
%t42 = load ptr, ptr %t32
|
|
call void @fn_emit(ptr %t42)
|
|
call void @fn_emit(ptr @.str7883)
|
|
%t43 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t43)
|
|
call void @fn_emit(ptr @.str7884)
|
|
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 @.str7885, ptr %t45)
|
|
store ptr %t46, ptr %t47
|
|
call void @fn_emit(ptr @.str7886)
|
|
%t48 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str7887)
|
|
%t49 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str7888)
|
|
%t50 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str7889)
|
|
%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 @.str7890, 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 @.str7891, ptr @.str7892)
|
|
%t4 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t4, ptr @.str7893, ptr @.str7894)
|
|
call void @fn_emit(ptr @.str7895)
|
|
%t5 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t5)
|
|
call void @fn_emit(ptr @.str7896)
|
|
%t6 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t6, ptr @.str7897, ptr @.str7898)
|
|
%t7 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t7, ptr @.str7899, ptr @.str7900)
|
|
%t8 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t8, ptr @.str7901, ptr @.str7902)
|
|
%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 @.str7903, ptr @.str7904)
|
|
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 @.str7905, ptr %t39)
|
|
call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str7906)
|
|
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 @.str7907, ptr %t72)
|
|
store ptr %t73, ptr %t74
|
|
call void @fn_emit(ptr @.str7908)
|
|
%t75 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str7909)
|
|
%t76 = load ptr, ptr %t70
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str7910)
|
|
%t77 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str7911)
|
|
%t78 = load ptr, ptr %t0
|
|
%t79 = load ptr, ptr %t70
|
|
%t80 = call ptr @fn_str_concat(ptr @.str7912, 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 @.str7913, 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 @.str7914, ptr @g_g_snap_mode
|
|
call void @fn_emith(ptr @.str7915)
|
|
call void @fn_emith(ptr @.str7916)
|
|
call void @fn_emith(ptr @.str7917)
|
|
%t0 = call ptr @fn_find_fn(ptr @.str7918)
|
|
%t1 = icmp ne ptr %t0, null
|
|
%t2 = zext i1 %t1 to i32
|
|
store i32 %t2, ptr %t3
|
|
%t4 = call ptr @fn_find_fn(ptr @.str7919)
|
|
%t5 = icmp ne ptr %t4, null
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t7
|
|
call void @fn_emit(ptr @.str7920)
|
|
call void @fn_emit(ptr @.str7921)
|
|
call void @fn_emit(ptr @.str7922)
|
|
call void @fn_emit(ptr @.str7923)
|
|
call void @fn_emit_snapshot_blocks(ptr @.str7924)
|
|
%t8 = load i32, ptr %t3
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str7925)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit(ptr @.str7926)
|
|
call void @fn_emit(ptr @.str7927)
|
|
call void @fn_emit(ptr @.str7928)
|
|
call void @fn_emit(ptr @.str7929)
|
|
call void @fn_emit(ptr @.str7930)
|
|
call void @fn_emit_snapshot_blocks(ptr @.str7931)
|
|
%t10 = load i32, ptr %t7
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str7932)
|
|
br label %ifend5
|
|
ifend5:
|
|
call void @fn_emit(ptr @.str7933)
|
|
call void @fn_emit(ptr @.str7934)
|
|
store ptr @.str7935, ptr @g_g_snap_mode
|
|
call void @fn_emit_snapshot_blocks(ptr @.str7936)
|
|
%t12 = load i32, ptr @g_g_iok
|
|
%t13 = call ptr @fn_itoa(i32 %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr @.str7937, ptr %t13)
|
|
store ptr %t14, ptr %t15
|
|
call void @fn_emit(ptr @.str7938)
|
|
%t16 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str7939)
|
|
%t17 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str7940)
|
|
call void @fn_emit(ptr @.str7941)
|
|
%t18 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t18)
|
|
call void @fn_emit(ptr @.str7942)
|
|
call void @fn_emit(ptr @.str7943)
|
|
store ptr @.str7944, ptr @g_g_snap_mode
|
|
call void @fn_emit_snapshot_blocks(ptr @.str7945)
|
|
call void @fn_emit(ptr @.str7946)
|
|
call void @fn_emit(ptr @.str7947)
|
|
store ptr @.str7948, ptr @g_g_snap_mode
|
|
call void @fn_emit_snapshot_blocks(ptr @.str7949)
|
|
%t19 = load i32, ptr @g_g_iok
|
|
%t20 = call ptr @fn_itoa(i32 %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr @.str7950, ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
call void @fn_emit(ptr @.str7951)
|
|
%t23 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t23)
|
|
call void @fn_emit(ptr @.str7952)
|
|
%t24 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str7953)
|
|
call void @fn_emit(ptr @.str7954)
|
|
%t25 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str7955)
|
|
store ptr @.str7956, 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 @.str7957)
|
|
%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 @.str7958)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
store ptr @.str7959, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
store ptr @.str7960, 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 @.str7961, 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 @.str7962, 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 @.str7963)
|
|
%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 @.str7964, ptr %t104)
|
|
%t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str7965)
|
|
%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 @.str7966)
|
|
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 @.str7967, ptr %t127)
|
|
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str7968)
|
|
%t130 = load ptr, ptr %t59
|
|
%t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130)
|
|
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str7969)
|
|
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 @.str7970)
|
|
%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 @.str7971)
|
|
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 @.str7972)
|
|
%t50 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str7973)
|
|
%t51 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str7974)
|
|
%t52 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t52)
|
|
call void @fn_emit(ptr @.str7975)
|
|
%t53 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str7976)
|
|
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 @.str7977)
|
|
%t91 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str7978)
|
|
%t92 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str7979)
|
|
%t93 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t93)
|
|
call void @fn_emit(ptr @.str7980)
|
|
%t94 = load i32, ptr %t54
|
|
%t95 = call ptr @fn_itoa(i32 %t94)
|
|
call void @fn_emit(ptr %t95)
|
|
call void @fn_emit(ptr @.str7981)
|
|
%t96 = call ptr @fn_nreg()
|
|
store ptr %t96, ptr %t97
|
|
call void @fn_emit(ptr @.str7982)
|
|
%t98 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t98)
|
|
call void @fn_emit(ptr @.str7983)
|
|
%t99 = load i32, ptr %t6
|
|
%t100 = call ptr @fn_itoa(i32 %t99)
|
|
call void @fn_emit(ptr %t100)
|
|
call void @fn_emit(ptr @.str7984)
|
|
call void @fn_emit(ptr @.str7985)
|
|
%t101 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t101)
|
|
call void @fn_emit(ptr @.str7986)
|
|
%t102 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t102)
|
|
call void @fn_emit(ptr @.str7987)
|
|
%t103 = load ptr, ptr %t88
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str7988)
|
|
%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 @.str7989)
|
|
%t121 = load i32, ptr %t6
|
|
%t122 = call ptr @fn_itoa(i32 %t121)
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str7990)
|
|
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 @.str7991)
|
|
%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 @.str7992)
|
|
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 @.str7993)
|
|
%t50 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str7994)
|
|
%t51 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str7995)
|
|
%t52 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t52)
|
|
call void @fn_emit(ptr @.str7996)
|
|
%t53 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str7997)
|
|
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 @.str7998)
|
|
%t91 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str7999)
|
|
%t92 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str8000)
|
|
%t93 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t93)
|
|
call void @fn_emit(ptr @.str8001)
|
|
%t94 = load i32, ptr %t54
|
|
%t95 = call ptr @fn_itoa(i32 %t94)
|
|
call void @fn_emit(ptr %t95)
|
|
call void @fn_emit(ptr @.str8002)
|
|
%t96 = call ptr @fn_nreg()
|
|
store ptr %t96, ptr %t97
|
|
call void @fn_emit(ptr @.str8003)
|
|
%t98 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t98)
|
|
call void @fn_emit(ptr @.str8004)
|
|
%t99 = load i32, ptr %t6
|
|
%t100 = call ptr @fn_itoa(i32 %t99)
|
|
call void @fn_emit(ptr %t100)
|
|
call void @fn_emit(ptr @.str8005)
|
|
call void @fn_emit(ptr @.str8006)
|
|
%t101 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t101)
|
|
call void @fn_emit(ptr @.str8007)
|
|
%t102 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t102)
|
|
call void @fn_emit(ptr @.str8008)
|
|
%t103 = load ptr, ptr %t88
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str8009)
|
|
%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 @.str8010)
|
|
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 @.str8011)
|
|
call void @fn_emit(ptr @.str8012)
|
|
%t2 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t2)
|
|
call void @fn_emit(ptr @.str8013)
|
|
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 @.str8014)
|
|
%t48 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str8015)
|
|
%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 @.str8016)
|
|
call void @fn_emit(ptr @.str8017)
|
|
%t52 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t52)
|
|
call void @fn_emit(ptr @.str8018)
|
|
%t53 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str8019)
|
|
%t54 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t54)
|
|
call void @fn_emit(ptr @.str8020)
|
|
call void @fn_emit(ptr @.str8021)
|
|
%t55 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t55)
|
|
call void @fn_emit(ptr @.str8022)
|
|
%t56 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t56)
|
|
call void @fn_emit(ptr @.str8023)
|
|
%t57 = load ptr, ptr %t44
|
|
call void @fn_emit(ptr %t57)
|
|
call void @fn_emit(ptr @.str8024)
|
|
%t58 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t58)
|
|
call void @fn_emit(ptr @.str8025)
|
|
call void @fn_emit(ptr @.str8026)
|
|
%t59 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t59)
|
|
call void @fn_emit(ptr @.str8027)
|
|
%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 @.str8028)
|
|
call void @fn_emit(ptr @.str8029)
|
|
call void @fn_emit(ptr @.str8030)
|
|
%t64 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str8031)
|
|
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 @.str8032)
|
|
%t108 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t108)
|
|
call void @fn_emit(ptr @.str8033)
|
|
%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 @.str8034)
|
|
call void @fn_emit(ptr @.str8035)
|
|
%t112 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t112)
|
|
call void @fn_emit(ptr @.str8036)
|
|
%t113 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t113)
|
|
call void @fn_emit(ptr @.str8037)
|
|
%t114 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t114)
|
|
call void @fn_emit(ptr @.str8038)
|
|
call void @fn_emit(ptr @.str8039)
|
|
%t115 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t115)
|
|
call void @fn_emit(ptr @.str8040)
|
|
%t116 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t116)
|
|
call void @fn_emit(ptr @.str8041)
|
|
call void @fn_emit(ptr @.str8042)
|
|
%t117 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t117)
|
|
call void @fn_emit(ptr @.str8043)
|
|
%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 @.str8044)
|
|
call void @fn_emit(ptr @.str8045)
|
|
call void @fn_emit(ptr @.str8046)
|
|
%t122 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str8047)
|
|
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 @.str8048)
|
|
%t166 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t166)
|
|
call void @fn_emit(ptr @.str8049)
|
|
%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 @.str8050)
|
|
call void @fn_emit(ptr @.str8051)
|
|
%t170 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t170)
|
|
call void @fn_emit(ptr @.str8052)
|
|
%t171 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t171)
|
|
call void @fn_emit(ptr @.str8053)
|
|
%t172 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t172)
|
|
call void @fn_emit(ptr @.str8054)
|
|
call void @fn_emit(ptr @.str8055)
|
|
%t173 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t173)
|
|
call void @fn_emit(ptr @.str8056)
|
|
%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 @.str8057)
|
|
call void @fn_emit(ptr @.str8058)
|
|
%t182 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t182)
|
|
call void @fn_emit(ptr @.str8059)
|
|
%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 @.str8060)
|
|
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 @.str8061)
|
|
call void @fn_emit(ptr @.str8062)
|
|
%t2 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t2)
|
|
call void @fn_emit(ptr @.str8063)
|
|
call void @fn_emit(ptr @.str8064)
|
|
call void @fn_emit(ptr @.str8065)
|
|
%t3 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t3)
|
|
call void @fn_emit(ptr @.str8066)
|
|
call void @fn_emit(ptr @.str8067)
|
|
call void @fn_emit(ptr @.str8068)
|
|
%t4 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str8069)
|
|
call void @fn_emit(ptr @.str8070)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_loopback() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str8071)
|
|
call void @fn_emith(ptr @.str8072)
|
|
call void @fn_emith(ptr @.str8073)
|
|
call void @fn_emith(ptr @.str8074)
|
|
call void @fn_emit(ptr @.str8075)
|
|
call void @fn_emit(ptr @.str8076)
|
|
call void @fn_emit(ptr @.str8077)
|
|
call void @fn_emit(ptr @.str8078)
|
|
call void @fn_emit(ptr @.str8079)
|
|
call void @fn_emit(ptr @.str8080)
|
|
call void @fn_emit(ptr @.str8081)
|
|
call void @fn_emit(ptr @.str8082)
|
|
call void @fn_emit(ptr @.str8083)
|
|
call void @fn_emit(ptr @.str8084)
|
|
call void @fn_emit(ptr @.str8085)
|
|
call void @fn_emit(ptr @.str8086)
|
|
call void @fn_emit(ptr @.str8087)
|
|
call void @fn_emit(ptr @.str8088)
|
|
call void @fn_emit(ptr @.str8089)
|
|
call void @fn_emit(ptr @.str8090)
|
|
call void @fn_emit(ptr @.str8091)
|
|
call void @fn_emit(ptr @.str8092)
|
|
call void @fn_emit(ptr @.str8093)
|
|
call void @fn_emit(ptr @.str8094)
|
|
call void @fn_emit(ptr @.str8095)
|
|
call void @fn_emit(ptr @.str8096)
|
|
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 @.str8097)
|
|
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 @.str8098, 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 @.str8099)
|
|
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 @.str8100, 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 @.str8101)
|
|
%t0 = call ptr @fn_find_extern(ptr @.str8102)
|
|
%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 @.str8103)
|
|
call void @fn_emit(ptr @.str8104)
|
|
%t6 = load ptr, ptr %t5
|
|
call void @fn_emit(ptr %t6)
|
|
call void @fn_emit(ptr @.str8105)
|
|
call void @fn_emit(ptr @.str8106)
|
|
call void @fn_emit(ptr @.str8107)
|
|
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 @.str8108)
|
|
%t31 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str8109)
|
|
%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 @.str8110)
|
|
call void @fn_emit(ptr @.str8111)
|
|
%t37 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t37)
|
|
call void @fn_emit(ptr @.str8112)
|
|
%t38 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t38)
|
|
call void @fn_emit(ptr @.str8113)
|
|
%t39 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t39)
|
|
call void @fn_emit(ptr @.str8114)
|
|
call void @fn_emit(ptr @.str8115)
|
|
%t40 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str8116)
|
|
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 @.str8117)
|
|
%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 @.str8118)
|
|
%t72 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str8119)
|
|
%t73 = load i32, ptr %t41
|
|
%t74 = call ptr @fn_itoa(i32 %t73)
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str8120)
|
|
call void @fn_emit(ptr @.str8121)
|
|
%t75 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str8122)
|
|
%t76 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str8123)
|
|
%t77 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str8124)
|
|
%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 @.str8125)
|
|
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 @.str8126)
|
|
%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 @.str8127)
|
|
%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 @.str8128)
|
|
%t106 = load ptr, ptr %t44
|
|
%t107 = call ptr @fn_buf_str(ptr %t106)
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str8129)
|
|
call void @fn_emit(ptr @.str8130)
|
|
call void @fn_emit(ptr @.str8131)
|
|
%t108 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t108)
|
|
call void @fn_emit(ptr @.str8132)
|
|
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 @.str8133)
|
|
call void @fn_emit(ptr @.str8134)
|
|
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 @.str8135)
|
|
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 @.str8136)
|
|
%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 @.str8137)
|
|
%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 @.str8138)
|
|
%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 @.str8139)
|
|
%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 @.str8140)
|
|
%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 @.str8141)
|
|
%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 @.str8142)
|
|
%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 @.str8143)
|
|
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 @.str8144)
|
|
%t3 = load i32, ptr %t0
|
|
%t4 = call ptr @fn_itoa(i32 %t3)
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str8145)
|
|
%t5 = load i32, ptr %t1
|
|
%t6 = call ptr @fn_itoa(i32 %t5)
|
|
call void @fn_emit(ptr %t6)
|
|
call void @fn_emit(ptr @.str8146)
|
|
%t7 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t7)
|
|
call void @fn_emit(ptr @.str8147)
|
|
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 @.str8148)
|
|
%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 @.str8149)
|
|
%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 @.str8150)
|
|
%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 @.str8151)
|
|
%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 @.str8152)
|
|
%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 @.str8153)
|
|
%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 @.str8154)
|
|
%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 @.str8155)
|
|
%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 @.str8156)
|
|
%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 @.str8157)
|
|
%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 @.str8158)
|
|
%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 @.str8159)
|
|
%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 @.str8160)
|
|
%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 @.str8161)
|
|
%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 @.str8162)
|
|
%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 @.str8163)
|
|
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 @.str8164)
|
|
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 @.str8165)
|
|
%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 @.str8166)
|
|
%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 @.str8167)
|
|
%t86 = load i32, ptr %t10
|
|
%t87 = call ptr @fn_itoa(i32 %t86)
|
|
call void @fn_emit(ptr %t87)
|
|
call void @fn_emit(ptr @.str8168)
|
|
%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 @.str8169)
|
|
br label %ifend14
|
|
else13:
|
|
%t92 = load ptr, ptr %t70
|
|
%t93 = call i32 @fn_str_eq(ptr %t92, ptr @.str8170)
|
|
%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 @.str8171)
|
|
%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 @.str8172, ptr %t107)
|
|
%t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str8173)
|
|
%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 @.str8174)
|
|
%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 @.str8175)
|
|
%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 @.str8176)
|
|
%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 @.str8177)
|
|
%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 @.str8178)
|
|
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 @.str8179)
|
|
%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 @.str8180)
|
|
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 @.str8181)
|
|
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 @.str8182)
|
|
%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 @.str8183)
|
|
%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 @.str8184)
|
|
%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 @.str8185)
|
|
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 @.str8186)
|
|
%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 @.str8187)
|
|
%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 @.str8188)
|
|
%t54 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t54)
|
|
call void @fn_emit(ptr @.str8189)
|
|
%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 @.str8190)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str8191)
|
|
%t71 = load ptr, ptr %t12
|
|
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str8192)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then9, label %else10
|
|
then9:
|
|
call void @fn_emit(ptr @.str8193)
|
|
br label %ifend11
|
|
else10:
|
|
%t74 = load ptr, ptr %t12
|
|
%t75 = call ptr @fn_str_concat(ptr @.str8194, ptr %t74)
|
|
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str8195)
|
|
%t77 = call ptr @fn_emit_bind(ptr %t76)
|
|
store ptr %t77, ptr %t78
|
|
call void @fn_emit(ptr @.str8196)
|
|
%t79 = load ptr, ptr %t12
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str8197)
|
|
%t80 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str8198)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t81 = load ptr, ptr %t8
|
|
store ptr %t81, ptr @g_code
|
|
call void @fn_emit(ptr @.str8199)
|
|
%t82 = load ptr, ptr %t12
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str8200)
|
|
%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 @.str8201)
|
|
%t86 = load ptr, ptr %t0
|
|
call void @fn_emit_params_sig(ptr %t86)
|
|
call void @fn_emit(ptr @.str8202)
|
|
%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 @.str8203)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_main(ptr %arg_d) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t20 = 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 @.str8204, 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 @.str8205)
|
|
call void @fn_emit(ptr @.str8206)
|
|
call void @fn_emit(ptr @.str8207)
|
|
call void @fn_emit(ptr @.str8208)
|
|
%t8 = call ptr @fn_find_fn(ptr @.str8209)
|
|
%t9 = icmp ne ptr %t8, null
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str8210)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4
|
|
%t14 = load ptr, ptr %t13
|
|
call void @fn_emit_block(ptr %t14)
|
|
%t15 = load i32, ptr @g_g_term
|
|
%t16 = icmp eq i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str8211)
|
|
br label %ifend5
|
|
ifend5:
|
|
call void @fn_emit(ptr @.str8212)
|
|
%t19 = call ptr @fn_emit_bind(ptr @.str8213)
|
|
store ptr %t19, ptr %t20
|
|
call void @fn_emit(ptr @.str8214)
|
|
%t21 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str8215)
|
|
%t22 = load ptr, ptr %t5
|
|
store ptr %t22, ptr @g_code
|
|
call void @fn_emit(ptr @.str8216)
|
|
%t23 = load ptr, ptr @g_falloc
|
|
%t24 = call ptr @fn_buf_str(ptr %t23)
|
|
call void @fn_emit(ptr %t24)
|
|
%t25 = load ptr, ptr %t2
|
|
%t26 = call ptr @fn_buf_str(ptr %t25)
|
|
call void @fn_emit(ptr %t26)
|
|
call void @fn_emit(ptr @.str8217)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_test_fn(ptr %arg_t, i32 %arg_idx) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t3 = alloca ptr
|
|
%t6 = alloca ptr
|
|
store ptr %arg_t, ptr %t0
|
|
store i32 %arg_idx, ptr %t1
|
|
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 @.str8218, ptr @g_ret_ty
|
|
%t2 = call ptr @fn_buf_new()
|
|
store ptr %t2, ptr %t3
|
|
%t4 = call ptr @fn_buf_new()
|
|
store ptr %t4, ptr @g_falloc
|
|
%t5 = load ptr, ptr @g_code
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t3
|
|
store ptr %t7, ptr @g_code
|
|
%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 @.str8219)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit(ptr @.str8220)
|
|
%t15 = load ptr, ptr %t6
|
|
store ptr %t15, ptr @g_code
|
|
call void @fn_emit(ptr @.str8221)
|
|
%t16 = load i32, ptr %t1
|
|
%t17 = call ptr @fn_itoa(i32 %t16)
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str8222)
|
|
%t18 = load ptr, ptr @g_falloc
|
|
%t19 = call ptr @fn_buf_str(ptr %t18)
|
|
call void @fn_emit(ptr %t19)
|
|
%t20 = load ptr, ptr %t3
|
|
%t21 = call ptr @fn_buf_str(ptr %t20)
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str8223)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_test_runner() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t38 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t55 = alloca ptr
|
|
%t60 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t64 = alloca ptr
|
|
%t66 = alloca ptr
|
|
%t87 = alloca ptr
|
|
%t92 = alloca ptr
|
|
%t107 = alloca ptr
|
|
%t117 = alloca ptr
|
|
%t128 = alloca ptr
|
|
%t133 = alloca ptr
|
|
call void @fn_emith(ptr @.str8224)
|
|
call void @fn_emith(ptr @.str8225)
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_g_tests
|
|
%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_tests
|
|
%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 = load i32, ptr %t0
|
|
call void @fn_emit_test_fn(ptr %t13, i32 %t14)
|
|
%t15 = load i32, ptr %t0
|
|
%t16 = add i32 %t15, 1
|
|
store i32 %t16, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
%t17 = load i32, ptr @g_g_uses_expect
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emith(ptr @.str8226)
|
|
br label %ifend5
|
|
ifend5:
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
call void @fn_emit(ptr @.str8227)
|
|
call void @fn_emit(ptr @.str8228)
|
|
call void @fn_emit(ptr @.str8229)
|
|
call void @fn_emit(ptr @.str8230)
|
|
%t19 = call i32 @fn_has_ecs()
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emit(ptr @.str8231)
|
|
br label %ifend8
|
|
ifend8:
|
|
store i32 0, ptr %t0
|
|
br label %wcond9
|
|
wcond9:
|
|
%t21 = load i32, ptr %t0
|
|
%t22 = load ptr, ptr @g_g_tests
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1
|
|
%t24 = load i32, ptr %t23
|
|
%t25 = icmp slt i32 %t21, %t24
|
|
%t26 = zext i1 %t25 to i32
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t28 = load ptr, ptr @g_g_tests
|
|
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = load i32, ptr %t0
|
|
%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 ptr @fn_str_concat(ptr @.str8232, ptr %t35)
|
|
%t37 = call ptr @fn_emit_str_const(ptr %t36)
|
|
store ptr %t37, ptr %t38
|
|
%t39 = load ptr, ptr @g_g_tests
|
|
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = load i32, ptr %t0
|
|
%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
|
|
%t47 = call ptr @fn_str_concat(ptr @.str8233, ptr %t46)
|
|
%t48 = call ptr @fn_emit_str_const(ptr %t47)
|
|
store ptr %t48, ptr %t49
|
|
call void @fn_emit(ptr @.str8234)
|
|
%t50 = load i32, ptr %t0
|
|
%t51 = call ptr @fn_itoa(i32 %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr @.str8235, ptr %t51)
|
|
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str8236)
|
|
call void @fn_emit(ptr %t53)
|
|
%t54 = call ptr @fn_emit_bind(ptr @.str8237)
|
|
store ptr %t54, ptr %t55
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = call ptr @fn_str_concat(ptr @.str8238, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str8239)
|
|
%t59 = call ptr @fn_emit_bind(ptr %t58)
|
|
store ptr %t59, ptr %t60
|
|
%t61 = call ptr @fn_lbl(ptr @.str8240)
|
|
store ptr %t61, ptr %t62
|
|
%t63 = call ptr @fn_lbl(ptr @.str8241)
|
|
store ptr %t63, ptr %t64
|
|
%t65 = call ptr @fn_lbl(ptr @.str8242)
|
|
store ptr %t65, ptr %t66
|
|
%t67 = load ptr, ptr %t60
|
|
%t68 = call ptr @fn_str_concat(ptr @.str8243, ptr %t67)
|
|
%t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str8244)
|
|
%t70 = load ptr, ptr %t64
|
|
%t71 = call ptr @fn_str_concat(ptr %t69, ptr %t70)
|
|
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str8245)
|
|
%t73 = load ptr, ptr %t62
|
|
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str8246)
|
|
call void @fn_emit(ptr %t75)
|
|
%t76 = load ptr, ptr %t62
|
|
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str8247)
|
|
call void @fn_emit(ptr %t77)
|
|
%t78 = load ptr, ptr %t38
|
|
%t79 = call ptr @fn_str_concat(ptr @.str8248, ptr %t78)
|
|
%t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str8249)
|
|
call void @fn_emit(ptr %t80)
|
|
%t81 = load ptr, ptr %t66
|
|
%t82 = call ptr @fn_str_concat(ptr @.str8250, ptr %t81)
|
|
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str8251)
|
|
call void @fn_emit(ptr %t83)
|
|
%t84 = load ptr, ptr %t64
|
|
%t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str8252)
|
|
call void @fn_emit(ptr %t85)
|
|
%t86 = call ptr @fn_emit_bind(ptr @.str8253)
|
|
store ptr %t86, ptr %t87
|
|
%t88 = load ptr, ptr %t87
|
|
%t89 = call ptr @fn_str_concat(ptr @.str8254, ptr %t88)
|
|
%t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str8255)
|
|
%t91 = call ptr @fn_emit_bind(ptr %t90)
|
|
store ptr %t91, ptr %t92
|
|
%t93 = load ptr, ptr %t92
|
|
%t94 = call ptr @fn_str_concat(ptr @.str8256, ptr %t93)
|
|
%t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str8257)
|
|
call void @fn_emit(ptr %t95)
|
|
%t96 = load ptr, ptr %t49
|
|
%t97 = call ptr @fn_str_concat(ptr @.str8258, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str8259)
|
|
call void @fn_emit(ptr %t98)
|
|
%t99 = load ptr, ptr %t66
|
|
%t100 = call ptr @fn_str_concat(ptr @.str8260, ptr %t99)
|
|
%t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str8261)
|
|
call void @fn_emit(ptr %t101)
|
|
%t102 = load ptr, ptr %t66
|
|
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str8262)
|
|
call void @fn_emit(ptr %t103)
|
|
%t104 = load i32, ptr %t0
|
|
%t105 = add i32 %t104, 1
|
|
store i32 %t105, ptr %t0
|
|
br label %wcond9
|
|
wend11:
|
|
%t106 = call ptr @fn_emit_bind(ptr @.str8263)
|
|
store ptr %t106, ptr %t107
|
|
%t108 = load ptr, ptr @g_g_tests
|
|
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1
|
|
%t110 = load i32, ptr %t109
|
|
%t111 = call ptr @fn_itoa(i32 %t110)
|
|
%t112 = call ptr @fn_str_concat(ptr @.str8264, ptr %t111)
|
|
%t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str8265)
|
|
%t114 = load ptr, ptr %t107
|
|
%t115 = call ptr @fn_str_concat(ptr %t113, ptr %t114)
|
|
%t116 = call ptr @fn_emit_bind(ptr %t115)
|
|
store ptr %t116, ptr %t117
|
|
%t118 = load ptr, ptr %t117
|
|
%t119 = call ptr @fn_str_concat(ptr @.str8266, ptr %t118)
|
|
%t120 = call ptr @fn_str_concat(ptr %t119, ptr @.str8267)
|
|
%t121 = load ptr, ptr %t107
|
|
%t122 = call ptr @fn_str_concat(ptr %t120, ptr %t121)
|
|
%t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str8268)
|
|
call void @fn_emit(ptr %t123)
|
|
%t124 = load ptr, ptr %t107
|
|
%t125 = call ptr @fn_str_concat(ptr @.str8269, ptr %t124)
|
|
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str8270)
|
|
%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 @.str8271, ptr %t129)
|
|
%t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str8272)
|
|
%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 @.str8273, ptr %t134)
|
|
%t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str8274)
|
|
call void @fn_emit(ptr %t136)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_program() {
|
|
entry:
|
|
%t58 = alloca i32
|
|
%t95 = alloca i32
|
|
%t99 = alloca i32
|
|
%t100 = alloca i32
|
|
%t101 = alloca i32
|
|
%t143 = 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
|
|
store i32 0, ptr @g_g_uses_expect
|
|
store i32 0, ptr @g_g_uses_panic
|
|
store i32 0, ptr @g_g_uses_result
|
|
%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_g_cov_lines
|
|
store i32 1, ptr @g_g_cov_active
|
|
%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_name
|
|
%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_reg
|
|
%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_ty
|
|
%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_loc_mut
|
|
%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_brk_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_cnt_lbl
|
|
%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_self_stk
|
|
%t50 = getelementptr %LSlice, ptr null, i32 1
|
|
%t51 = ptrtoint ptr %t50 to i64
|
|
%t52 = call ptr @malloc(i64 %t51)
|
|
%t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0
|
|
store ptr null, ptr %t53
|
|
%t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1
|
|
store i32 0, ptr %t54
|
|
%t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2
|
|
store i32 0, ptr %t55
|
|
store ptr %t52, ptr @g_mach_stk
|
|
call void @fn_emit_header()
|
|
call void @fn_emit_extern_decls()
|
|
%t56 = call i32 @fn_has_ecs()
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit_ecs_storage()
|
|
br label %ifend2
|
|
ifend2:
|
|
store i32 0, ptr %t58
|
|
br label %wcond3
|
|
wcond3:
|
|
%t59 = load i32, ptr %t58
|
|
%t60 = load ptr, ptr @g_prog
|
|
%t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1
|
|
%t62 = load i32, ptr %t61
|
|
%t63 = icmp slt i32 %t59, %t62
|
|
%t64 = zext i1 %t63 to i32
|
|
%t65 = icmp ne i32 %t64, 0
|
|
br i1 %t65, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t66 = load ptr, ptr @g_prog
|
|
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = load i32, ptr %t58
|
|
%t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 0
|
|
%t73 = load i32, ptr %t72
|
|
%t74 = icmp eq i32 %t73, 4
|
|
%t75 = zext i1 %t74 to i32
|
|
%t76 = icmp ne i32 %t75, 0
|
|
br i1 %t76, label %then6, label %ifend8
|
|
then6:
|
|
%t77 = load i32, ptr %t58
|
|
%t78 = load i32, ptr @g_g_prog_user_end
|
|
%t79 = icmp slt i32 %t77, %t78
|
|
%t80 = zext i1 %t79 to i32
|
|
store i32 %t80, ptr @g_g_cov_active
|
|
%t81 = load ptr, ptr @g_prog
|
|
%t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0
|
|
%t83 = load ptr, ptr %t82
|
|
%t84 = load i32, ptr %t58
|
|
%t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84
|
|
%t86 = load ptr, ptr %t85
|
|
call void @fn_emit_fn(ptr %t86)
|
|
store i32 1, ptr @g_g_cov_active
|
|
br label %ifend8
|
|
ifend8:
|
|
%t87 = load i32, ptr %t58
|
|
%t88 = add i32 %t87, 1
|
|
store i32 %t88, ptr %t58
|
|
br label %wcond3
|
|
wend5:
|
|
%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
|
|
br i1 %t94, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_emit_event_fns()
|
|
br label %ifend11
|
|
ifend11:
|
|
%t96 = call i32 @fn_has_ecs()
|
|
%t97 = icmp ne i32 %t96, 0
|
|
%t98 = zext i1 %t97 to i32
|
|
store i32 %t98, ptr %t95
|
|
br i1 %t97, label %sc12, label %scend13
|
|
sc12:
|
|
%t102 = load ptr, ptr @g_g_events
|
|
%t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1
|
|
%t104 = load i32, ptr %t103
|
|
%t105 = icmp sgt i32 %t104, 0
|
|
%t106 = zext i1 %t105 to i32
|
|
%t107 = icmp ne i32 %t106, 0
|
|
%t108 = zext i1 %t107 to i32
|
|
store i32 %t108, ptr %t101
|
|
br i1 %t107, label %scend15, label %sc14
|
|
sc14:
|
|
%t109 = load i32, ptr @g_g_uses_query
|
|
%t110 = icmp ne i32 %t109, 0
|
|
%t111 = zext i1 %t110 to i32
|
|
store i32 %t111, ptr %t101
|
|
br label %scend15
|
|
scend15:
|
|
%t112 = load i32, ptr %t101
|
|
%t113 = icmp ne i32 %t112, 0
|
|
%t114 = zext i1 %t113 to i32
|
|
store i32 %t114, ptr %t100
|
|
br i1 %t113, label %scend17, label %sc16
|
|
sc16:
|
|
%t115 = load i32, ptr @g_g_uses_reflect
|
|
%t116 = icmp ne i32 %t115, 0
|
|
%t117 = zext i1 %t116 to i32
|
|
store i32 %t117, ptr %t100
|
|
br label %scend17
|
|
scend17:
|
|
%t118 = load i32, ptr %t100
|
|
%t119 = icmp ne i32 %t118, 0
|
|
%t120 = zext i1 %t119 to i32
|
|
store i32 %t120, ptr %t99
|
|
br i1 %t119, label %scend19, label %sc18
|
|
sc18:
|
|
%t121 = load i32, ptr @g_g_uses_esys
|
|
%t122 = icmp ne i32 %t121, 0
|
|
%t123 = zext i1 %t122 to i32
|
|
store i32 %t123, ptr %t99
|
|
br label %scend19
|
|
scend19:
|
|
%t124 = load i32, ptr %t99
|
|
%t125 = icmp ne i32 %t124, 0
|
|
%t126 = zext i1 %t125 to i32
|
|
store i32 %t126, ptr %t95
|
|
br label %scend13
|
|
scend13:
|
|
%t127 = load i32, ptr %t95
|
|
%t128 = icmp ne i32 %t127, 0
|
|
br i1 %t128, label %then20, label %ifend22
|
|
then20:
|
|
call void @fn_emit_world_table()
|
|
br label %ifend22
|
|
ifend22:
|
|
%t129 = call i32 @fn_has_ecs()
|
|
%t130 = icmp ne i32 %t129, 0
|
|
br i1 %t130, label %then23, label %ifend25
|
|
then23:
|
|
call void @fn_emit_ecs_allocator()
|
|
call void @fn_emit_snapshot()
|
|
br label %ifend25
|
|
ifend25:
|
|
%t131 = call i32 @fn_has_ecs()
|
|
%t132 = icmp ne i32 %t131, 0
|
|
br i1 %t132, label %then26, label %ifend28
|
|
then26:
|
|
call void @fn_emit_net()
|
|
br label %ifend28
|
|
ifend28:
|
|
%t133 = call i32 @fn_has_ui()
|
|
%t134 = icmp ne i32 %t133, 0
|
|
br i1 %t134, label %then29, label %ifend31
|
|
then29:
|
|
call void @fn_emit_ui_build()
|
|
br label %ifend31
|
|
ifend31:
|
|
%t135 = load ptr, ptr @g_g_tests
|
|
%t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1
|
|
%t137 = load i32, ptr %t136
|
|
%t138 = icmp sgt i32 %t137, 0
|
|
%t139 = zext i1 %t138 to i32
|
|
%t140 = icmp ne i32 %t139, 0
|
|
br i1 %t140, label %then32, label %else33
|
|
then32:
|
|
%t141 = call i32 @fn_has_systems()
|
|
%t142 = icmp ne i32 %t141, 0
|
|
br i1 %t142, label %then35, label %ifend37
|
|
then35:
|
|
call void @fn_emit_game_defs()
|
|
br label %ifend37
|
|
ifend37:
|
|
call void @fn_emit_test_runner()
|
|
br label %ifend34
|
|
else33:
|
|
%t144 = call i32 @fn_has_systems()
|
|
%t145 = icmp ne i32 %t144, 0
|
|
%t146 = zext i1 %t145 to i32
|
|
store i32 %t146, ptr %t143
|
|
br i1 %t145, label %sc38, label %scend39
|
|
sc38:
|
|
%t147 = call i32 @fn_has_entry()
|
|
%t148 = icmp ne i32 %t147, 0
|
|
%t149 = zext i1 %t148 to i32
|
|
store i32 %t149, ptr %t143
|
|
br label %scend39
|
|
scend39:
|
|
%t150 = load i32, ptr %t143
|
|
%t151 = icmp ne i32 %t150, 0
|
|
br i1 %t151, label %then40, label %else41
|
|
then40:
|
|
call void @fn_emit_game_defs()
|
|
store i32 0, ptr %t58
|
|
br label %wcond43
|
|
wcond43:
|
|
%t152 = load i32, ptr %t58
|
|
%t153 = load ptr, ptr @g_prog
|
|
%t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1
|
|
%t155 = load i32, ptr %t154
|
|
%t156 = icmp slt i32 %t152, %t155
|
|
%t157 = zext i1 %t156 to i32
|
|
%t158 = icmp ne i32 %t157, 0
|
|
br i1 %t158, label %wbody44, label %wend45
|
|
wbody44:
|
|
%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 %t58
|
|
%t163 = getelementptr inbounds ptr, ptr %t161, i32 %t162
|
|
%t164 = load ptr, ptr %t163
|
|
%t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 0
|
|
%t166 = load i32, ptr %t165
|
|
%t167 = icmp eq i32 %t166, 6
|
|
%t168 = zext i1 %t167 to i32
|
|
%t169 = icmp ne i32 %t168, 0
|
|
br i1 %t169, label %then46, label %ifend48
|
|
then46:
|
|
%t170 = load ptr, ptr @g_prog
|
|
%t171 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = load i32, ptr %t58
|
|
%t174 = getelementptr inbounds ptr, ptr %t172, i32 %t173
|
|
%t175 = load ptr, ptr %t174
|
|
call void @fn_emit_main(ptr %t175)
|
|
br label %ifend48
|
|
ifend48:
|
|
%t176 = load i32, ptr %t58
|
|
%t177 = add i32 %t176, 1
|
|
store i32 %t177, ptr %t58
|
|
br label %wcond43
|
|
wend45:
|
|
br label %ifend42
|
|
else41:
|
|
%t178 = call i32 @fn_has_systems()
|
|
%t179 = icmp ne i32 %t178, 0
|
|
br i1 %t179, label %then49, label %else50
|
|
then49:
|
|
call void @fn_emit_game_main()
|
|
br label %ifend51
|
|
else50:
|
|
store i32 0, ptr %t58
|
|
br label %wcond52
|
|
wcond52:
|
|
%t180 = load i32, ptr %t58
|
|
%t181 = load ptr, ptr @g_prog
|
|
%t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1
|
|
%t183 = load i32, ptr %t182
|
|
%t184 = icmp slt i32 %t180, %t183
|
|
%t185 = zext i1 %t184 to i32
|
|
%t186 = icmp ne i32 %t185, 0
|
|
br i1 %t186, label %wbody53, label %wend54
|
|
wbody53:
|
|
%t187 = load ptr, ptr @g_prog
|
|
%t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = load i32, ptr %t58
|
|
%t191 = getelementptr inbounds ptr, ptr %t189, i32 %t190
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 0
|
|
%t194 = load i32, ptr %t193
|
|
%t195 = icmp eq i32 %t194, 6
|
|
%t196 = zext i1 %t195 to i32
|
|
%t197 = icmp ne i32 %t196, 0
|
|
br i1 %t197, label %then55, label %ifend57
|
|
then55:
|
|
%t198 = load ptr, ptr @g_prog
|
|
%t199 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0
|
|
%t200 = load ptr, ptr %t199
|
|
%t201 = load i32, ptr %t58
|
|
%t202 = getelementptr inbounds ptr, ptr %t200, i32 %t201
|
|
%t203 = load ptr, ptr %t202
|
|
call void @fn_emit_main(ptr %t203)
|
|
br label %ifend57
|
|
ifend57:
|
|
%t204 = load i32, ptr %t58
|
|
%t205 = add i32 %t204, 1
|
|
store i32 %t205, ptr %t58
|
|
br label %wcond52
|
|
wend54:
|
|
br label %ifend51
|
|
ifend51:
|
|
br label %ifend42
|
|
ifend42:
|
|
br label %ifend34
|
|
ifend34:
|
|
%t206 = load i32, ptr @g_g_uses_loopback
|
|
%t207 = icmp ne i32 %t206, 0
|
|
br i1 %t207, label %then58, label %ifend60
|
|
then58:
|
|
call void @fn_emit_loopback()
|
|
br label %ifend60
|
|
ifend60:
|
|
%t208 = load i32, ptr @g_g_uses_str
|
|
%t209 = icmp ne i32 %t208, 0
|
|
br i1 %t209, label %then61, label %ifend63
|
|
then61:
|
|
call void @fn_emit_str_prelude()
|
|
br label %ifend63
|
|
ifend63:
|
|
%t210 = load i32, ptr @g_g_uses_intstr
|
|
%t211 = icmp ne i32 %t210, 0
|
|
br i1 %t211, label %then64, label %ifend66
|
|
then64:
|
|
call void @fn_emit_int_str()
|
|
br label %ifend66
|
|
ifend66:
|
|
%t212 = load i32, ptr @g_g_uses_longstr
|
|
%t213 = icmp ne i32 %t212, 0
|
|
br i1 %t213, label %then67, label %ifend69
|
|
then67:
|
|
call void @fn_emit_long_str()
|
|
br label %ifend69
|
|
ifend69:
|
|
%t214 = load i32, ptr @g_g_uses_strslice
|
|
%t215 = icmp ne i32 %t214, 0
|
|
br i1 %t215, label %then70, label %ifend72
|
|
then70:
|
|
call void @fn_emit_str_slice()
|
|
br label %ifend72
|
|
ifend72:
|
|
%t216 = load i32, ptr @g_g_uses_mathrt
|
|
%t217 = icmp ne i32 %t216, 0
|
|
br i1 %t217, label %then73, label %ifend75
|
|
then73:
|
|
call void @fn_emit_math_prelude()
|
|
br label %ifend75
|
|
ifend75:
|
|
%t218 = load i32, ptr @g_g_uses_textrt
|
|
%t219 = icmp ne i32 %t218, 0
|
|
br i1 %t219, label %then76, label %ifend78
|
|
then76:
|
|
call void @fn_emit_text_prelude()
|
|
br label %ifend78
|
|
ifend78:
|
|
%t220 = load i32, ptr @g_g_uses_textrt2
|
|
%t221 = icmp ne i32 %t220, 0
|
|
br i1 %t221, label %then79, label %ifend81
|
|
then79:
|
|
call void @fn_emit_text2_prelude()
|
|
br label %ifend81
|
|
ifend81:
|
|
%t222 = load i32, ptr @g_g_uses_hashrt
|
|
%t223 = icmp ne i32 %t222, 0
|
|
br i1 %t223, label %then82, label %ifend84
|
|
then82:
|
|
call void @fn_emit_hash_prelude()
|
|
br label %ifend84
|
|
ifend84:
|
|
%t224 = load i32, ptr @g_g_uses_cryptort
|
|
%t225 = icmp ne i32 %t224, 0
|
|
br i1 %t225, label %then85, label %ifend87
|
|
then85:
|
|
call void @fn_emit_crypto_prelude()
|
|
br label %ifend87
|
|
ifend87:
|
|
%t226 = load i32, ptr @g_g_uses_uuidrt
|
|
%t227 = icmp ne i32 %t226, 0
|
|
br i1 %t227, label %then88, label %ifend90
|
|
then88:
|
|
call void @fn_emit_uuid_prelude()
|
|
br label %ifend90
|
|
ifend90:
|
|
%t228 = load i32, ptr @g_g_uses_noisert
|
|
%t229 = icmp ne i32 %t228, 0
|
|
br i1 %t229, label %then91, label %ifend93
|
|
then91:
|
|
call void @fn_emit_noise_prelude()
|
|
br label %ifend93
|
|
ifend93:
|
|
%t230 = load i32, ptr @g_g_uses_logrt
|
|
%t231 = icmp ne i32 %t230, 0
|
|
br i1 %t231, label %then94, label %ifend96
|
|
then94:
|
|
call void @fn_emit_log_prelude()
|
|
br label %ifend96
|
|
ifend96:
|
|
%t232 = load i32, ptr @g_g_uses_osrt
|
|
%t233 = icmp ne i32 %t232, 0
|
|
br i1 %t233, label %then97, label %ifend99
|
|
then97:
|
|
call void @fn_emit_os_prelude()
|
|
br label %ifend99
|
|
ifend99:
|
|
%t234 = load i32, ptr @g_g_uses_unicodert
|
|
%t235 = icmp ne i32 %t234, 0
|
|
br i1 %t235, label %then100, label %ifend102
|
|
then100:
|
|
call void @fn_emit_unicode_prelude()
|
|
br label %ifend102
|
|
ifend102:
|
|
%t236 = load i32, ptr @g_g_uses_fsrt
|
|
%t237 = icmp ne i32 %t236, 0
|
|
br i1 %t237, label %then103, label %ifend105
|
|
then103:
|
|
call void @fn_emit_fs_prelude()
|
|
br label %ifend105
|
|
ifend105:
|
|
%t238 = load i32, ptr @g_g_uses_datert
|
|
%t239 = icmp ne i32 %t238, 0
|
|
br i1 %t239, label %then106, label %ifend108
|
|
then106:
|
|
call void @fn_emit_datetime_prelude()
|
|
br label %ifend108
|
|
ifend108:
|
|
%t240 = load i32, ptr @g_g_uses_panic
|
|
%t241 = icmp ne i32 %t240, 0
|
|
br i1 %t241, label %then109, label %ifend111
|
|
then109:
|
|
call void @fn_emith(ptr @.str8275)
|
|
call void @fn_emith(ptr @.str8276)
|
|
br label %ifend111
|
|
ifend111:
|
|
%t242 = load i32, ptr @g_g_uses_result
|
|
%t243 = icmp ne i32 %t242, 0
|
|
br i1 %t243, label %then112, label %ifend114
|
|
then112:
|
|
call void @fn_emith(ptr @.str8277)
|
|
br label %ifend114
|
|
ifend114:
|
|
call void @fn_emit_cov_runtime()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_cov_runtime() {
|
|
entry:
|
|
%t7 = alloca i32
|
|
%t14 = alloca ptr
|
|
%t16 = alloca i32
|
|
%t41 = alloca ptr
|
|
%t43 = alloca ptr
|
|
%t45 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t0 = load i32, ptr @g_g_coverage
|
|
%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_g_cov_lines
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
store i32 %t6, ptr %t7
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = icmp eq i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then3, label %ifend5
|
|
then3:
|
|
br label %ret
|
|
ifend5:
|
|
%t12 = load i32, ptr %t7
|
|
%t13 = call ptr @fn_itoa(i32 %t12)
|
|
store ptr %t13, ptr %t14
|
|
call void @fn_emith(ptr @.str8278)
|
|
%t15 = load ptr, ptr %t14
|
|
call void @fn_emith(ptr %t15)
|
|
call void @fn_emith(ptr @.str8279)
|
|
store i32 0, ptr %t16
|
|
br label %wcond6
|
|
wcond6:
|
|
%t17 = load i32, ptr %t16
|
|
%t18 = load i32, ptr %t7
|
|
%t19 = icmp slt i32 %t17, %t18
|
|
%t20 = zext i1 %t19 to i32
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t22 = load i32, ptr %t16
|
|
%t23 = icmp sgt i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_emith(ptr @.str8280)
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_emith(ptr @.str8281)
|
|
%t26 = load ptr, ptr @g_g_cov_lines
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = load i32, ptr %t16
|
|
%t30 = getelementptr inbounds i32, ptr %t28, i32 %t29
|
|
%t31 = load i32, ptr %t30
|
|
%t32 = call ptr @fn_itoa(i32 %t31)
|
|
call void @fn_emith(ptr %t32)
|
|
%t33 = load i32, ptr %t16
|
|
%t34 = add i32 %t33, 1
|
|
store i32 %t34, ptr %t16
|
|
br label %wcond6
|
|
wend8:
|
|
call void @fn_emith(ptr @.str8282)
|
|
call void @fn_emith(ptr @.str8283)
|
|
%t35 = load ptr, ptr %t14
|
|
call void @fn_emith(ptr %t35)
|
|
call void @fn_emith(ptr @.str8284)
|
|
%t36 = load ptr, ptr %t14
|
|
%t37 = call ptr @fn_str_concat(ptr @.str8285, ptr %t36)
|
|
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str8286)
|
|
call void @fn_emith(ptr %t38)
|
|
%t39 = load ptr, ptr @g_g_src_name
|
|
%t40 = call ptr @fn_emit_str_const(ptr %t39)
|
|
store ptr %t40, ptr %t41
|
|
%t42 = call ptr @fn_emit_str_const(ptr @.str8287)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = call ptr @fn_emit_str_const(ptr @.str8288)
|
|
store ptr %t44, ptr %t45
|
|
%t46 = call ptr @fn_emit_str_const(ptr @.str8289)
|
|
store ptr %t46, ptr %t47
|
|
call void @fn_emith(ptr @.str8290)
|
|
call void @fn_emith(ptr @.str8291)
|
|
%t48 = load i32, ptr @g_g_uses_panic
|
|
%t49 = icmp eq i32 %t48, 0
|
|
%t50 = zext i1 %t49 to i32
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then12, label %ifend14
|
|
then12:
|
|
call void @fn_emith(ptr @.str8292)
|
|
br label %ifend14
|
|
ifend14:
|
|
call void @fn_emith(ptr @.str8293)
|
|
call void @fn_emit(ptr @.str8294)
|
|
%t52 = load ptr, ptr %t43
|
|
%t53 = call ptr @fn_str_concat(ptr @.str8295, ptr %t52)
|
|
%t54 = call ptr @fn_str_concat(ptr %t53, ptr @.str8296)
|
|
call void @fn_emit(ptr %t54)
|
|
call void @fn_emit(ptr @.str8297)
|
|
%t55 = load ptr, ptr %t45
|
|
%t56 = call ptr @fn_str_concat(ptr @.str8298, ptr %t55)
|
|
%t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str8299)
|
|
call void @fn_emit(ptr %t57)
|
|
%t58 = load ptr, ptr %t47
|
|
%t59 = call ptr @fn_str_concat(ptr @.str8300, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str8301)
|
|
call void @fn_emit(ptr %t60)
|
|
call void @fn_emit(ptr @.str8302)
|
|
call void @fn_emit(ptr @.str8303)
|
|
call void @fn_emit(ptr @.str8304)
|
|
%t61 = load ptr, ptr %t41
|
|
%t62 = call ptr @fn_str_concat(ptr @.str8305, ptr %t61)
|
|
%t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str8306)
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str8307)
|
|
call void @fn_emit(ptr @.str8308)
|
|
call void @fn_emit(ptr @.str8309)
|
|
%t64 = load ptr, ptr %t14
|
|
%t65 = call ptr @fn_str_concat(ptr @.str8310, ptr %t64)
|
|
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str8311)
|
|
call void @fn_emit(ptr %t66)
|
|
call void @fn_emit(ptr @.str8312)
|
|
call void @fn_emit(ptr @.str8313)
|
|
call void @fn_emit(ptr @.str8314)
|
|
%t67 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t67)
|
|
call void @fn_emit(ptr @.str8315)
|
|
call void @fn_emit(ptr @.str8316)
|
|
call void @fn_emit(ptr @.str8317)
|
|
%t68 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t68)
|
|
call void @fn_emit(ptr @.str8318)
|
|
call void @fn_emit(ptr @.str8319)
|
|
call void @fn_emit(ptr @.str8320)
|
|
call void @fn_emit(ptr @.str8321)
|
|
call void @fn_emit(ptr @.str8322)
|
|
call void @fn_emit(ptr @.str8323)
|
|
call void @fn_emit(ptr @.str8324)
|
|
call void @fn_emit(ptr @.str8325)
|
|
call void @fn_emit(ptr @.str8326)
|
|
call void @fn_emit(ptr @.str8327)
|
|
call void @fn_emit(ptr @.str8328)
|
|
call void @fn_emit(ptr @.str8329)
|
|
call void @fn_emith(ptr @.str8330)
|
|
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 @.str8331)
|
|
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 @.str8332)
|
|
%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 @.str8333)
|
|
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 ptr @fn_chomp(ptr %arg_s) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t4 = alloca i32
|
|
%t5 = alloca i32
|
|
%t11 = alloca i32
|
|
%t12 = alloca i32
|
|
store ptr %arg_s, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i64 @strlen(ptr %t1)
|
|
%t3 = trunc i64 %t2 to i32
|
|
store i32 %t3, ptr %t4
|
|
br label %wcond0
|
|
wcond0:
|
|
%t6 = load i32, ptr %t4
|
|
%t7 = icmp sgt i32 %t6, 0
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t5
|
|
br i1 %t9, label %sc3, label %scend4
|
|
sc3:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = load i32, ptr %t4
|
|
%t15 = sub i32 %t14, 1
|
|
%t16 = getelementptr inbounds i8, ptr %t13, i32 %t15
|
|
%t17 = load i8, ptr %t16
|
|
%t18 = zext i8 %t17 to i32
|
|
%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 %t12
|
|
br i1 %t21, label %scend6, label %sc5
|
|
sc5:
|
|
%t23 = load ptr, ptr %t0
|
|
%t24 = load i32, ptr %t4
|
|
%t25 = sub i32 %t24, 1
|
|
%t26 = getelementptr inbounds i8, ptr %t23, i32 %t25
|
|
%t27 = load i8, ptr %t26
|
|
%t28 = zext i8 %t27 to i32
|
|
%t29 = icmp eq i32 %t28, 13
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t12
|
|
br label %scend6
|
|
scend6:
|
|
%t33 = load i32, ptr %t12
|
|
%t34 = icmp ne i32 %t33, 0
|
|
%t35 = zext i1 %t34 to i32
|
|
store i32 %t35, ptr %t11
|
|
br i1 %t34, label %scend8, label %sc7
|
|
sc7:
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = load i32, ptr %t4
|
|
%t38 = sub i32 %t37, 1
|
|
%t39 = getelementptr inbounds i8, ptr %t36, i32 %t38
|
|
%t40 = load i8, ptr %t39
|
|
%t41 = zext i8 %t40 to i32
|
|
%t42 = icmp eq i32 %t41, 32
|
|
%t43 = zext i1 %t42 to i32
|
|
%t44 = icmp ne i32 %t43, 0
|
|
%t45 = zext i1 %t44 to i32
|
|
store i32 %t45, ptr %t11
|
|
br label %scend8
|
|
scend8:
|
|
%t46 = load i32, ptr %t11
|
|
%t47 = icmp ne i32 %t46, 0
|
|
%t48 = zext i1 %t47 to i32
|
|
store i32 %t48, ptr %t5
|
|
br label %scend4
|
|
scend4:
|
|
%t49 = load i32, ptr %t5
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t51 = load i32, ptr %t4
|
|
%t52 = sub i32 %t51, 1
|
|
store i32 %t52, ptr %t4
|
|
br label %wcond0
|
|
wend2:
|
|
%t53 = load ptr, ptr %t0
|
|
%t54 = load i32, ptr %t4
|
|
%t55 = call ptr @fn_str_slice(ptr %t53, i32 0, i32 %t54)
|
|
store ptr %t55, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t56 = load ptr, ptr %retval
|
|
ret ptr %t56
|
|
}
|
|
|
|
define void @fn_show_version() {
|
|
entry:
|
|
%t6 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t0 = load ptr, ptr @L_argv
|
|
%t1 = getelementptr ptr, ptr %t0, i32 0
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = call ptr @fn_dir_of(ptr %t2)
|
|
%t4 = call ptr @fn_getenv_or(ptr @.str8334, ptr %t3)
|
|
%t5 = call ptr @fn_ensure_slash(ptr %t4)
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = call ptr @fn_path_join(ptr %t7, ptr @.str8335)
|
|
%t9 = call ptr @fn_read_file(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 %else1
|
|
then0:
|
|
call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str8336)
|
|
br label %ifend2
|
|
else1:
|
|
%t15 = load ptr, ptr %t10
|
|
%t16 = call ptr @fn_chomp(ptr %t15)
|
|
%t17 = call ptr @fn_str_concat(ptr @.str8337, ptr %t16)
|
|
call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t17)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @exit(i32 0)
|
|
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
|
|
%t72 = alloca ptr
|
|
%t90 = alloca ptr
|
|
%t105 = alloca i32
|
|
%t115 = alloca i32
|
|
%t124 = alloca i32
|
|
%t141 = alloca i32
|
|
%t158 = alloca ptr
|
|
%t170 = alloca ptr
|
|
%t177 = alloca ptr
|
|
%t184 = alloca ptr
|
|
%t189 = alloca ptr
|
|
%t194 = alloca ptr
|
|
%t206 = alloca i32
|
|
%t222 = 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
|
|
store i32 0, ptr @g_g_coverage
|
|
%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 @.str8338)
|
|
%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 @.str8339)
|
|
%t26 = icmp ne i32 %t25, 0
|
|
br i1 %t26, label %then6, label %else7
|
|
then6:
|
|
call void @fn_show_version()
|
|
br label %ifend8
|
|
else7:
|
|
%t27 = load ptr, ptr %t23
|
|
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str8340)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then9, label %else10
|
|
then9:
|
|
store i32 1, ptr %t2
|
|
br label %ifend11
|
|
else10:
|
|
%t30 = load ptr, ptr %t23
|
|
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str8341)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then12, label %else13
|
|
then12:
|
|
store i32 2, ptr %t2
|
|
br label %ifend14
|
|
else13:
|
|
%t33 = load ptr, ptr %t23
|
|
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str8342)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then15, label %else16
|
|
then15:
|
|
store i32 1, ptr %t3
|
|
br label %ifend17
|
|
else16:
|
|
%t36 = load ptr, ptr %t23
|
|
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str8343)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then18, label %else19
|
|
then18:
|
|
store i32 1, ptr %t4
|
|
br label %ifend20
|
|
else19:
|
|
%t39 = load ptr, ptr %t23
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str8344)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then21, label %else22
|
|
then21:
|
|
store i32 1, ptr %t5
|
|
br label %ifend23
|
|
else22:
|
|
%t42 = load ptr, ptr %t23
|
|
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str8345)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then24, label %else25
|
|
then24:
|
|
store i32 1, ptr %t6
|
|
br label %ifend26
|
|
else25:
|
|
%t45 = load ptr, ptr %t23
|
|
%t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str8346)
|
|
%t47 = icmp ne i32 %t46, 0
|
|
br i1 %t47, label %then27, label %else28
|
|
then27:
|
|
store i32 1, ptr @g_g_coverage
|
|
br label %ifend29
|
|
else28:
|
|
%t48 = load ptr, ptr %t23
|
|
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str8347)
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %then30, label %else31
|
|
then30:
|
|
%t51 = load i32, ptr %t13
|
|
%t52 = add i32 %t51, 1
|
|
store i32 %t52, ptr %t13
|
|
%t53 = load i32, ptr %t13
|
|
%t54 = load i32, ptr @L_argc
|
|
%t55 = icmp slt i32 %t53, %t54
|
|
%t56 = zext i1 %t55 to i32
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %then33, label %ifend35
|
|
then33:
|
|
%t58 = load i32, ptr %t13
|
|
%t59 = load ptr, ptr @L_argv
|
|
%t60 = getelementptr ptr, ptr %t59, i32 %t58
|
|
%t61 = load ptr, ptr %t60
|
|
store ptr %t61, ptr %t1
|
|
br label %ifend35
|
|
ifend35:
|
|
br label %ifend32
|
|
else31:
|
|
%t62 = load ptr, ptr %t23
|
|
%t63 = getelementptr inbounds i8, ptr %t62, i32 0
|
|
%t64 = load i8, ptr %t63
|
|
%t65 = zext i8 %t64 to i32
|
|
%t66 = icmp eq i32 %t65, 45
|
|
%t67 = zext i1 %t66 to i32
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then36, label %else37
|
|
then36:
|
|
%t69 = load ptr, ptr %t23
|
|
%t70 = call ptr @fn_str_concat(ptr @.str8348, ptr %t69)
|
|
%t71 = call ptr @fn_str_concat(ptr %t70, ptr @.str8349)
|
|
store ptr %t71, ptr %t72
|
|
%t73 = load ptr, ptr @__stderrp
|
|
%t74 = load ptr, ptr %t72
|
|
%t75 = load ptr, ptr %t72
|
|
%t76 = call i64 @strlen(ptr %t75)
|
|
%t77 = trunc i64 %t76 to i32
|
|
%t78 = zext i32 %t77 to i64
|
|
%t79 = call i64 @fwrite(ptr %t74, i64 1, i64 %t78, ptr %t73)
|
|
%t80 = trunc i64 %t79 to i32
|
|
br label %ifend38
|
|
else37:
|
|
%t81 = load ptr, ptr %t23
|
|
store ptr %t81, ptr %t0
|
|
br label %ifend38
|
|
ifend38:
|
|
br label %ifend32
|
|
ifend32:
|
|
br label %ifend29
|
|
ifend29:
|
|
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:
|
|
%t82 = load i32, ptr %t13
|
|
%t83 = add i32 %t82, 1
|
|
store i32 %t83, ptr %t13
|
|
br label %wcond3
|
|
wend5:
|
|
%t84 = load ptr, ptr %t0
|
|
%t85 = icmp eq ptr %t84, null
|
|
%t86 = zext i1 %t85 to i32
|
|
%t87 = icmp ne i32 %t86, 0
|
|
br i1 %t87, label %then39, label %ifend41
|
|
then39:
|
|
call void @fn_die(ptr @.str8350)
|
|
br label %ifend41
|
|
ifend41:
|
|
%t88 = load ptr, ptr %t0
|
|
%t89 = call ptr @fn_read_file(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 %then42, label %ifend44
|
|
then42:
|
|
call void @fn_die(ptr @.str8351)
|
|
br label %ifend44
|
|
ifend44:
|
|
%t95 = load ptr, ptr %t0
|
|
%t96 = call ptr @fn_dir_of(ptr %t95)
|
|
store ptr %t96, ptr @g_cur_dir
|
|
%t97 = load ptr, ptr %t0
|
|
%t98 = call ptr @fn_base_name(ptr %t97)
|
|
store ptr %t98, ptr @g_g_src_name
|
|
%t99 = load ptr, ptr %t90
|
|
call void @fn_lex(ptr %t99)
|
|
call void @fn_parse_program()
|
|
%t100 = load ptr, ptr @g_prog
|
|
%t101 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1
|
|
%t102 = load i32, ptr %t101
|
|
store i32 %t102, ptr @g_g_prog_user_end
|
|
%t103 = load i32, ptr %t4
|
|
%t104 = icmp ne i32 %t103, 0
|
|
br i1 %t104, label %then45, label %ifend47
|
|
then45:
|
|
call void @exit(i32 0)
|
|
unreachable
|
|
ifend47:
|
|
call void @fn_maybe_splice_runtime()
|
|
%t106 = load i32, ptr %t6
|
|
%t107 = icmp ne i32 %t106, 0
|
|
%t108 = zext i1 %t107 to i32
|
|
store i32 %t108, ptr %t105
|
|
br i1 %t107, label %scend49, label %sc48
|
|
sc48:
|
|
%t109 = load ptr, ptr %t1
|
|
%t110 = icmp ne ptr %t109, null
|
|
%t111 = zext i1 %t110 to i32
|
|
%t112 = icmp ne i32 %t111, 0
|
|
%t113 = zext i1 %t112 to i32
|
|
store i32 %t113, ptr %t105
|
|
br label %scend49
|
|
scend49:
|
|
%t114 = load i32, ptr %t105
|
|
store i32 %t114, ptr %t115
|
|
%t116 = load i32, ptr %t2
|
|
%t117 = icmp eq i32 %t116, 1
|
|
%t118 = zext i1 %t117 to i32
|
|
%t119 = icmp ne i32 %t118, 0
|
|
br i1 %t119, label %then50, label %else51
|
|
then50:
|
|
store i32 1, ptr @g_g_windowed
|
|
br label %ifend52
|
|
else51:
|
|
%t120 = load i32, ptr %t2
|
|
%t121 = icmp eq i32 %t120, 2
|
|
%t122 = zext i1 %t121 to i32
|
|
%t123 = icmp ne i32 %t122, 0
|
|
br i1 %t123, label %then53, label %else54
|
|
then53:
|
|
store i32 0, ptr @g_g_windowed
|
|
br label %ifend55
|
|
else54:
|
|
%t125 = load i32, ptr %t115
|
|
%t126 = icmp ne i32 %t125, 0
|
|
%t127 = zext i1 %t126 to i32
|
|
store i32 %t127, ptr %t124
|
|
br i1 %t126, label %sc56, label %scend57
|
|
sc56:
|
|
%t128 = call i32 @fn_has_systems()
|
|
%t129 = icmp ne i32 %t128, 0
|
|
%t130 = zext i1 %t129 to i32
|
|
store i32 %t130, ptr %t124
|
|
br label %scend57
|
|
scend57:
|
|
%t131 = load i32, ptr %t124
|
|
store i32 %t131, ptr @g_g_windowed
|
|
br label %ifend55
|
|
ifend55:
|
|
br label %ifend52
|
|
ifend52:
|
|
call void @fn_emit_program()
|
|
%t132 = load i32, ptr %t3
|
|
%t133 = icmp ne i32 %t132, 0
|
|
br i1 %t133, label %then58, label %ifend60
|
|
then58:
|
|
%t134 = load ptr, ptr %t1
|
|
%t135 = call i32 @fn_ir_flush(ptr %t134)
|
|
br label %ret
|
|
ifend60:
|
|
%t136 = load i32, ptr %t115
|
|
%t137 = icmp eq i32 %t136, 0
|
|
%t138 = zext i1 %t137 to i32
|
|
%t139 = icmp ne i32 %t138, 0
|
|
br i1 %t139, label %then61, label %ifend63
|
|
then61:
|
|
%t140 = call i32 @fn_ir_flush(ptr null)
|
|
br label %ret
|
|
ifend63:
|
|
%t142 = load i32, ptr %t6
|
|
%t143 = icmp ne i32 %t142, 0
|
|
%t144 = zext i1 %t143 to i32
|
|
store i32 %t144, ptr %t141
|
|
br i1 %t143, label %sc64, label %scend65
|
|
sc64:
|
|
%t145 = load ptr, ptr %t1
|
|
%t146 = icmp eq ptr %t145, null
|
|
%t147 = zext i1 %t146 to i32
|
|
%t148 = icmp ne i32 %t147, 0
|
|
%t149 = zext i1 %t148 to i32
|
|
store i32 %t149, ptr %t141
|
|
br label %scend65
|
|
scend65:
|
|
%t150 = load i32, ptr %t141
|
|
%t151 = icmp ne i32 %t150, 0
|
|
br i1 %t151, label %then66, label %ifend68
|
|
then66:
|
|
%t152 = load ptr, ptr %t0
|
|
%t153 = call ptr @fn_base_name(ptr %t152)
|
|
%t154 = call ptr @fn_strip_ludic(ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr @.str8352, ptr %t154)
|
|
store ptr %t155, ptr %t1
|
|
br label %ifend68
|
|
ifend68:
|
|
%t156 = load ptr, ptr %t1
|
|
%t157 = call ptr @fn_dir_of(ptr %t156)
|
|
store ptr %t157, ptr %t158
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = call i64 @strlen(ptr %t159)
|
|
%t161 = trunc i64 %t160 to i32
|
|
%t162 = icmp sgt i32 %t161, 0
|
|
%t163 = zext i1 %t162 to i32
|
|
%t164 = icmp ne i32 %t163, 0
|
|
br i1 %t164, label %then69, label %ifend71
|
|
then69:
|
|
%t165 = load ptr, ptr %t158
|
|
%t166 = call ptr @fn_str_concat(ptr @.str8353, ptr %t165)
|
|
%t167 = call i32 @system(ptr %t166)
|
|
br label %ifend71
|
|
ifend71:
|
|
%t168 = load ptr, ptr %t1
|
|
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str8354)
|
|
store ptr %t169, ptr %t170
|
|
%t171 = load ptr, ptr %t170
|
|
%t172 = call i32 @fn_ir_flush(ptr %t171)
|
|
%t173 = icmp eq i32 %t172, 0
|
|
%t174 = zext i1 %t173 to i32
|
|
%t175 = icmp ne i32 %t174, 0
|
|
br i1 %t175, label %then72, label %ifend74
|
|
then72:
|
|
call void @fn_die(ptr @.str8355)
|
|
br label %ifend74
|
|
ifend74:
|
|
%t176 = call ptr @fn_getenv_or(ptr @.str8356, ptr @.str8357)
|
|
store ptr %t176, ptr %t177
|
|
%t178 = load ptr, ptr @L_argv
|
|
%t179 = getelementptr ptr, ptr %t178, i32 0
|
|
%t180 = load ptr, ptr %t179
|
|
%t181 = call ptr @fn_dir_of(ptr %t180)
|
|
%t182 = call ptr @fn_getenv_or(ptr @.str8358, ptr %t181)
|
|
%t183 = call ptr @fn_ensure_slash(ptr %t182)
|
|
store ptr %t183, ptr %t184
|
|
%t185 = load ptr, ptr %t177
|
|
%t186 = call ptr @fn_str_concat(ptr %t185, ptr @.str8359)
|
|
%t187 = load ptr, ptr %t170
|
|
%t188 = call ptr @fn_str_concat(ptr %t186, ptr %t187)
|
|
store ptr %t188, ptr %t189
|
|
%t190 = load i32, ptr @g_g_windowed
|
|
%t191 = icmp ne i32 %t190, 0
|
|
br i1 %t191, label %then75, label %ifend77
|
|
then75:
|
|
%t192 = load ptr, ptr %t184
|
|
%t193 = call ptr @fn_path_join(ptr %t192, ptr @.str8360)
|
|
store ptr %t193, ptr %t194
|
|
%t195 = load ptr, ptr %t189
|
|
%t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str8361)
|
|
%t197 = load ptr, ptr %t194
|
|
%t198 = call ptr @fn_str_concat(ptr %t196, ptr %t197)
|
|
%t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str8362)
|
|
store ptr %t199, ptr %t189
|
|
br label %ifend77
|
|
ifend77:
|
|
%t200 = load ptr, ptr %t189
|
|
%t201 = call ptr @fn_str_concat(ptr %t200, ptr @.str8363)
|
|
%t202 = load ptr, ptr %t1
|
|
%t203 = call ptr @fn_str_concat(ptr %t201, ptr %t202)
|
|
store ptr %t203, ptr %t189
|
|
%t204 = load ptr, ptr %t189
|
|
%t205 = call i32 @system(ptr %t204)
|
|
store i32 %t205, ptr %t206
|
|
%t207 = load i32, ptr %t5
|
|
%t208 = icmp eq i32 %t207, 0
|
|
%t209 = zext i1 %t208 to i32
|
|
%t210 = icmp ne i32 %t209, 0
|
|
br i1 %t210, label %then78, label %ifend80
|
|
then78:
|
|
%t211 = load ptr, ptr %t170
|
|
%t212 = call ptr @fn_str_concat(ptr @.str8364, ptr %t211)
|
|
%t213 = call i32 @system(ptr %t212)
|
|
br label %ifend80
|
|
ifend80:
|
|
%t214 = load i32, ptr %t206
|
|
%t215 = icmp ne i32 %t214, 0
|
|
%t216 = zext i1 %t215 to i32
|
|
%t217 = icmp ne i32 %t216, 0
|
|
br i1 %t217, label %then81, label %ifend83
|
|
then81:
|
|
call void @fn_die(ptr @.str8365)
|
|
br label %ifend83
|
|
ifend83:
|
|
%t218 = load i32, ptr %t6
|
|
%t219 = icmp ne i32 %t218, 0
|
|
br i1 %t219, label %then84, label %ifend86
|
|
then84:
|
|
%t220 = load ptr, ptr %t1
|
|
%t221 = call i32 @system(ptr %t220)
|
|
store i32 %t221, ptr %t222
|
|
%t223 = load i32, ptr %t222
|
|
%t224 = lshr i32 %t223, 8
|
|
%t225 = and i32 %t224, 255
|
|
call void @exit(i32 %t225)
|
|
unreachable
|
|
ifend86:
|
|
br label %ret
|
|
ret:
|
|
%t226 = load i32, ptr %retval
|
|
ret i32 %t226
|
|
}
|