; start of dump from pass_fixup_cfg (../../src/gcc/tree-cfg.c:8805) ;; Function ravif2 (ravif2, funcdef_no=0, decl_uid=364, cgraph_uid=0, symbol_order=0) ravif2 (struct ravi_lua_State * L) { struct ravi_TValue * base; struct ravi_LClosure * cl; isfalse_0_4; comparison_0_5; comparison_0_6; comparison_0_7; isfalse_0_10; comparison_0_11; comparison_0_12; comparison_0_13; isfalse_0_16; comparison_0_17; comparison_0_18; comparison_0_19; comparison_0_22; comparison_0_26; signed int D.445; struct ravi_TValue * D.444; signed int D.443; struct ravi_TValue * D.442; sizetype D.441; iftmp.5; iftmp.4; signed int D.430; D.429; iftmp.3; iftmp.2; iftmp.1; iftmp.0; signed int D.408; signed int D.407; signed int D.406; signed long D.405; struct ravi_TValue * D.404; sizetype D.403; struct ravi_TValue * D.402; struct ravi_Proto * D.401; struct ravi_TValue * D.400; sizetype D.399; struct ravi_TValue * D.398; struct ravi_CallInfo * D.397; entry: D.397 = L->ci; D.398 = D.397->func; cl = D.398->value_.gc; D.397 = L->ci; base = D.397->u.l.base; D.397 = L->ci; raviV_op_loadnil (D.397, 0, 0); D.397 = L->ci; base = D.397->u.l.base; D.399 = 16; D.400 = base + D.399; D.401 = cl->p; D.402 = D.401->k; D.403 = 0; D.404 = D.402 + D.403; D.405 = D.404->value_.i; D.400->value_.i = D.405; D.399 = 16; D.400 = base + D.399; D.401 = cl->p; D.402 = D.401->k; D.403 = 0; D.404 = D.402 + D.403; D.406 = D.404->tt_; D.400->tt_ = D.406; D.397 = L->ci; base = D.397->u.l.base; D.399 = 16; D.400 = base + D.399; D.407 = D.400->tt_; comparison_0_5 = D.407 == 0; D.399 = 16; D.400 = base + D.399; D.407 = D.400->tt_; comparison_0_6 = D.407 == 1; D.399 = 16; D.400 = base + D.399; D.408 = D.400->value_.b; comparison_0_7 = D.408 == 0; if (comparison_0_5 != 0) goto ; else goto ; : if (comparison_0_6 != 0) goto ; else goto ; : if (comparison_0_7 != 0) goto ; else goto ; : iftmp.1 = 1; goto ; : iftmp.1 = 0; : if (iftmp.1 != 0) goto ; else goto ; : iftmp.0 = 1; goto ; : iftmp.0 = 0; : isfalse_0_4 = iftmp.0; D.397 = L->ci; base = D.397->u.l.base; D.399 = 16; D.400 = base + D.399; D.400->value_.b = 0; D.399 = 16; D.400 = base + D.399; D.400->tt_ = 1; D.397 = L->ci; base = D.397->u.l.base; D.399 = 16; D.400 = base + D.399; D.407 = D.400->tt_; comparison_0_11 = D.407 == 0; D.399 = 16; D.400 = base + D.399; D.407 = D.400->tt_; comparison_0_12 = D.407 == 1; D.399 = 16; D.400 = base + D.399; D.408 = D.400->value_.b; comparison_0_13 = D.408 == 0; if (comparison_0_11 != 0) goto ; else goto ; : if (comparison_0_12 != 0) goto ; else goto ; : if (comparison_0_13 != 0) goto ; else goto ; : iftmp.3 = 1; goto ; : iftmp.3 = 0; : if (iftmp.3 != 0) goto ; else goto ; : iftmp.2 = 1; goto ; : iftmp.2 = 0; : isfalse_0_10 = iftmp.2; D.429 = ~isfalse_0_10; D.430 = (signed int) D.429; if (D.430 == 0) goto (OP_TEST_do_jmp_5_14); else goto (OP_TEST_do_skip_5_15); OP_TEST_do_jmp_5_14: jmp_9_2: D.397 = L->ci; base = D.397->u.l.base; D.399 = 16; D.400 = base + D.399; D.401 = cl->p; D.402 = D.401->k; D.403 = 0; D.404 = D.402 + D.403; D.405 = D.404->value_.i; D.400->value_.i = D.405; D.399 = 16; D.400 = base + D.399; D.401 = cl->p; D.402 = D.401->k; D.403 = 0; D.404 = D.402 + D.403; D.406 = D.404->tt_; D.400->tt_ = D.406; D.397 = L->ci; base = D.397->u.l.base; D.399 = 16; D.400 = base + D.399; D.407 = D.400->tt_; comparison_0_17 = D.407 == 0; D.399 = 16; D.400 = base + D.399; D.407 = D.400->tt_; comparison_0_18 = D.407 == 1; D.399 = 16; D.400 = base + D.399; D.408 = D.400->value_.b; comparison_0_19 = D.408 == 0; if (comparison_0_17 != 0) goto ; else goto ; : if (comparison_0_18 != 0) goto ; else goto ; : if (comparison_0_19 != 0) goto ; else goto ; : iftmp.5 = 1; goto ; : iftmp.5 = 0; : if (iftmp.5 != 0) goto ; else goto ; : iftmp.4 = 1; goto ; : iftmp.4 = 0; : isfalse_0_16 = iftmp.4; D.397 = L->ci; base = D.397->u.l.base; D.399 = 16; D.400 = base + D.399; D.400->value_.b = 0; D.399 = 16; D.400 = base + D.399; D.400->tt_ = 1; printf ("OP_RETURN(pc=%d) return %d args", 13, 1); D.397 = L->ci; base = D.397->u.l.base; D.441 = 32; D.442 = base + D.441; L->top = D.442; D.401 = cl->p; D.443 = D.401->sizep; comparison_0_22 = D.443 > 0; if (comparison_0_22 != 0) goto (OP_RETURN_if_sizep_gt_0_12_23); else goto (OP_RETURN_else_sizep_gt_0_12_24); OP_TEST_do_skip_5_15: D.397 = L->ci; base = D.397->u.l.base; D.403 = 0; D.444 = base + D.403; D.444->value_.b = 1; D.403 = 0; D.444 = base + D.403; D.444->tt_ = 1; goto (OP_TEST_do_jmp_5_14); OP_RETURN_if_sizep_gt_0_12_23: luaF_close (L, base); OP_RETURN_else_sizep_gt_0_12_24: D.399 = 16; D.400 = base + D.399; luaD_poscall (L, D.400); D.445 = 1; return D.445; } ; end of dump from pass_fixup_cfg (../../src/gcc/tree-cfg.c:8805)