; start of dump from pass_forwprop (../../src/gcc/tree-ssa-forwprop.c:2103) ;; Function ravif2 (ravif2, funcdef_no=0, decl_uid=364, cgraph_uid=0, symbol_order=0) Replaced 'comparison_0_5_41 != 0' with '_40 == 0' Replaced 'comparison_0_6_45 != 0' with '_44 == 1' Replaced 'comparison_0_7_49 != 0' with '_48 == 0' Replaced 'comparison_0_11_68 != 0' with '_67 == 0' Replaced 'comparison_0_12_72 != 0' with '_71 == 1' Replaced 'comparison_0_13_76 != 0' with '_75 == 0' Replaced '_83 == 0' with '_82 == 0' Replaced 'comparison_0_17_115 != 0' with '_114 == 0' Replaced 'comparison_0_18_119 != 0' with '_118 == 1' Replaced 'comparison_0_19_123 != 0' with '_122 == 0' Replaced 'comparison_0_22_145 != 0' with '_144 > 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; 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_Proto * _22; struct ravi_TValue * _23; signed long _26; struct ravi_Proto * _30; struct ravi_TValue * _31; signed int _34; struct ravi_CallInfo * _36; signed int _40; signed int _44; signed int _48; struct ravi_CallInfo * _55; struct ravi_CallInfo * _63; signed int _67; signed int _71; signed int _75; _82; struct ravi_CallInfo * _84; struct ravi_CallInfo * _92; struct ravi_Proto * _96; struct ravi_TValue * _97; signed long _100; struct ravi_Proto * _104; struct ravi_TValue * _105; signed int _108; struct ravi_CallInfo * _110; signed int _114; signed int _118; signed int _122; struct ravi_CallInfo * _129; 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; _22 = cl_13->p; _23 = _22->k; _26 = _23->value_.i; MEM[(struct ravi_TValue *)base_19 + 16B].value_.i = _26; _30 = cl_13->p; _31 = _30->k; _34 = _31->tt_; MEM[(struct ravi_TValue *)base_19 + 16B].tt_ = _34; _36 = L_10(D)->ci; base_37 = _36->u.l.base; _40 = MEM[(struct ravi_TValue *)base_37 + 16B].tt_; _44 = MEM[(struct ravi_TValue *)base_37 + 16B].tt_; _48 = MEM[(struct ravi_TValue *)base_37 + 16B].value_.b; if (_40 == 0) goto ; else goto ; : if (_44 == 1) goto ; else goto ; : if (_48 == 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; MEM[(struct ravi_TValue *)base_56 + 16B].value_.b = 0; MEM[(struct ravi_TValue *)base_56 + 16B].tt_ = 1; _63 = L_10(D)->ci; base_64 = _63->u.l.base; _67 = MEM[(struct ravi_TValue *)base_64 + 16B].tt_; _71 = MEM[(struct ravi_TValue *)base_64 + 16B].tt_; _75 = MEM[(struct ravi_TValue *)base_64 + 16B].value_.b; if (_67 == 0) goto ; else goto ; : if (_71 == 1) goto ; else goto ; : if (_75 == 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; if (isfalse_0_10_3 != 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; _96 = cl_13->p; _97 = _96->k; _100 = _97->value_.i; MEM[(struct ravi_TValue *)base_93 + 16B].value_.i = _100; _104 = cl_13->p; _105 = _104->k; _108 = _105->tt_; MEM[(struct ravi_TValue *)base_93 + 16B].tt_ = _108; _110 = L_10(D)->ci; base_111 = _110->u.l.base; _114 = MEM[(struct ravi_TValue *)base_111 + 16B].tt_; _118 = MEM[(struct ravi_TValue *)base_111 + 16B].tt_; _122 = MEM[(struct ravi_TValue *)base_111 + 16B].value_.b; if (_114 == 0) goto ; else goto ; : if (_118 == 1) goto ; else goto ; : if (_122 == 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; MEM[(struct ravi_TValue *)base_130 + 16B].value_.b = 0; MEM[(struct ravi_TValue *)base_130 + 16B].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; if (_144 > 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_forwprop (../../src/gcc/tree-ssa-forwprop.c:2103)