; start of dump from pass_ccp (../../src/gcc/tree-ssa-ccp.c:2425) ;; Function ravif2 (ravif2, funcdef_no=0, decl_uid=364, cgraph_uid=0, symbol_order=0) Removing basic block 5 Removing basic block 8 Removing basic block 13 Removing basic block 16 Removing basic block 22 Removing basic block 25 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; iftmp.1_2; iftmp.3_4; iftmp.5_6; struct ravi_CallInfo * _11; struct ravi_TValue * _12; struct ravi_CallInfo * _14; struct ravi_CallInfo * _16; struct ravi_CallInfo * _18; struct ravi_TValue * _21; struct ravi_Proto * _22; struct ravi_TValue * _23; signed long _26; struct ravi_TValue * _29; struct ravi_Proto * _30; struct ravi_TValue * _31; signed int _34; struct ravi_CallInfo * _36; struct ravi_TValue * _39; signed int _40; struct ravi_TValue * _43; signed int _44; struct ravi_TValue * _47; signed int _48; struct ravi_CallInfo * _55; struct ravi_TValue * _58; struct ravi_TValue * _61; struct ravi_CallInfo * _63; struct ravi_TValue * _66; signed int _67; struct ravi_TValue * _70; signed int _71; struct ravi_TValue * _74; signed int _75; _82; signed int _83; struct ravi_CallInfo * _84; struct ravi_CallInfo * _92; struct ravi_TValue * _95; struct ravi_Proto * _96; struct ravi_TValue * _97; signed long _100; struct ravi_TValue * _103; struct ravi_Proto * _104; struct ravi_TValue * _105; signed int _108; struct ravi_CallInfo * _110; struct ravi_TValue * _113; signed int _114; struct ravi_TValue * _117; signed int _118; struct ravi_TValue * _121; signed int _122; struct ravi_CallInfo * _129; struct ravi_TValue * _132; struct ravi_TValue * _135; struct ravi_CallInfo * _138; struct ravi_TValue * _141; struct ravi_Proto * _143; signed int _144; struct ravi_TValue * _148; entry: _11 = L_10(D)->ci; _12 = _11->func; cl_13 = _12->value_.gc; _14 = L_10(D)->ci; base_15 = _14->u.l.base; _16 = L_10(D)->ci; raviV_op_loadnil (_16, 0, 0); _18 = L_10(D)->ci; base_19 = _18->u.l.base; _21 = base_19 + 16; _22 = cl_13->p; _23 = _22->k; _26 = _23->value_.i; _21->value_.i = _26; _29 = base_19 + 16; _30 = cl_13->p; _31 = _30->k; _34 = _31->tt_; _29->tt_ = _34; _36 = L_10(D)->ci; base_37 = _36->u.l.base; _39 = base_37 + 16; _40 = _39->tt_; comparison_0_5_41 = _40 == 0; _43 = base_37 + 16; _44 = _43->tt_; comparison_0_6_45 = _44 == 1; _47 = base_37 + 16; _48 = _47->value_.b; comparison_0_7_49 = _48 == 0; if (comparison_0_5_41 != 0) goto ; else goto ; : if (comparison_0_6_45 != 0) goto ; else goto ; : if (comparison_0_7_49 != 0) goto ; else goto ; : : # iftmp.1_2 = PHI <1(4), 0(5)> if (iftmp.1_2 != 0) goto ; else goto ; : : # isfalse_0_4_1 = PHI <1(6), 0(7), 1(2)> _55 = L_10(D)->ci; base_56 = _55->u.l.base; _58 = base_56 + 16; _58->value_.b = 0; _61 = base_56 + 16; _61->tt_ = 1; _63 = L_10(D)->ci; base_64 = _63->u.l.base; _66 = base_64 + 16; _67 = _66->tt_; comparison_0_11_68 = _67 == 0; _70 = base_64 + 16; _71 = _70->tt_; comparison_0_12_72 = _71 == 1; _74 = base_64 + 16; _75 = _74->value_.b; comparison_0_13_76 = _75 == 0; if (comparison_0_11_68 != 0) goto ; else goto ; : if (comparison_0_12_72 != 0) goto ; else goto ; : if (comparison_0_13_76 != 0) goto ; else goto ; : : # iftmp.3_4 = PHI <1(10), 0(11)> if (iftmp.3_4 != 0) goto ; else goto ; : : # isfalse_0_10_3 = PHI <1(12), 0(13), 1(8)> _82 = ~isfalse_0_10_3; _83 = (signed int) _82; if (_83 == 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: _92 = L_10(D)->ci; base_93 = _92->u.l.base; _95 = base_93 + 16; _96 = cl_13->p; _97 = _96->k; _100 = _97->value_.i; _95->value_.i = _100; _103 = base_93 + 16; _104 = cl_13->p; _105 = _104->k; _108 = _105->tt_; _103->tt_ = _108; _110 = L_10(D)->ci; base_111 = _110->u.l.base; _113 = base_111 + 16; _114 = _113->tt_; comparison_0_17_115 = _114 == 0; _117 = base_111 + 16; _118 = _117->tt_; comparison_0_18_119 = _118 == 1; _121 = base_111 + 16; _122 = _121->value_.b; comparison_0_19_123 = _122 == 0; if (comparison_0_17_115 != 0) goto ; else goto ; : if (comparison_0_18_119 != 0) goto ; else goto ; : if (comparison_0_19_123 != 0) goto ; else goto ; : : # iftmp.5_6 = PHI <1(17), 0(18)> if (iftmp.5_6 != 0) goto ; else goto ; : : # isfalse_0_16_5 = PHI <1(19), 0(20), 1(15)> _129 = L_10(D)->ci; base_130 = _129->u.l.base; _132 = base_130 + 16; _132->value_.b = 0; _135 = base_130 + 16; _135->tt_ = 1; printf ("OP_RETURN(pc=%d) return %d args", 13, 1); _138 = L_10(D)->ci; base_139 = _138->u.l.base; _141 = base_139 + 32; L_10(D)->top = _141; _143 = cl_13->p; _144 = _143->sizep; comparison_0_22_145 = _144 > 0; if (comparison_0_22_145 != 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: _84 = L_10(D)->ci; base_85 = _84->u.l.base; base_85->value_.b = 1; base_85->tt_ = 1; goto (OP_TEST_do_jmp_5_14); OP_RETURN_if_sizep_gt_0_12_23: luaF_close (L_10(D), base_139); OP_RETURN_else_sizep_gt_0_12_24: _148 = base_139 + 16; luaD_poscall (L_10(D), _148); return 1; } ; end of dump from pass_ccp (../../src/gcc/tree-ssa-ccp.c:2425)