; start of dump from pass_fre (../../src/gcc/tree-ssa-pre.c:4927) ;; Function ravif2 (ravif2, funcdef_no=0, decl_uid=364, cgraph_uid=0, symbol_order=0) Value-numbering operands of stmt ending BB 2: if (_24 > 0) Setting value number of .MEM_2(D) to .MEM_2(D) (changed) Value numbering _4 stmt = _4 = L_3(D)->ci; Setting value number of _4 to _4 (changed) Value numbering .MEM_7 stmt = raviV_op_loadnil (_4, 0, 0); Setting value number of .MEM_7 to .MEM_7 (changed) Value numbering _8 stmt = _8 = L_3(D)->ci; Setting value number of _8 to _8 (changed) Value numbering base_9 stmt = base_9 = _8->u.l.base; Setting value number of base_9 to base_9 (changed) Value numbering _5 stmt = _5 = _4->func; Setting value number of _5 to _5 (changed) Value numbering cl_6 stmt = cl_6 = _5->value_.gc; Setting value number of cl_6 to cl_6 (changed) Value numbering _10 stmt = _10 = cl_6->p; Setting value number of _10 to _10 (changed) Value numbering _11 stmt = _11 = _10->k; Setting value number of _11 to _11 (changed) Value numbering _12 stmt = _12 = _11->value_.i; Setting value number of _12 to _12 (changed) Value numbering .MEM_13 stmt = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i = _12; No store match Value numbering store MEM[(struct ravi_TValue *)base_9 + 16B].value_.i to _12 Setting value number of .MEM_13 to .MEM_13 (changed) Value numbering .MEM_14 stmt = MEM[(struct ravi_TValue *)base_9 + 16B].tt_ = 1; RHS 1 simplified to 1 No store match Value numbering store MEM[(struct ravi_TValue *)base_9 + 16B].tt_ to 1 Setting value number of .MEM_14 to .MEM_14 (changed) Value numbering _15 stmt = _15 = _11->value_.i; Setting value number of _15 to _15 (changed) Value numbering .MEM_16 stmt = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i = _15; No store match Value numbering store MEM[(struct ravi_TValue *)base_9 + 16B].value_.i to _15 Setting value number of .MEM_16 to .MEM_16 (changed) Value numbering .MEM_17 stmt = MEM[(struct ravi_TValue *)base_9 + 16B].tt_ = 1; RHS 1 simplified to 1 No store match Value numbering store MEM[(struct ravi_TValue *)base_9 + 16B].tt_ to 1 Setting value number of .MEM_17 to .MEM_17 (changed) Value numbering .MEM_18 stmt = printf ("OP_RETURN(pc=%d) return %d args", 13, 1); Setting value number of .MEM_18 to .MEM_18 (changed) Value numbering _19 stmt = _19 = L_3(D)->ci; Setting value number of _19 to _19 (changed) Value numbering base_20 stmt = base_20 = _19->u.l.base; Setting value number of base_20 to base_20 (changed) Value numbering _21 stmt = _21 = base_20 + 32; Setting value number of _21 to _21 (changed) Value numbering .MEM_22 stmt = L_3(D)->top = _21; No store match Value numbering store L_3(D)->top to _21 Setting value number of .MEM_22 to .MEM_22 (changed) Value numbering _23 stmt = _23 = cl_6->p; Setting value number of _23 to _23 (changed) Value numbering _24 stmt = _24 = _23->sizep; Setting value number of _24 to _24 (changed) Value numbering .MEM_25 stmt = luaF_close (L_3(D), base_20); Setting value number of .MEM_25 to .MEM_25 (changed) SCC consists of: .MEM_1 Starting iteration 1 Value numbering .MEM_1 stmt = .MEM_1 = PHI <.MEM_22(2), .MEM_25(3)> Setting value number of .MEM_1 to .MEM_1 (changed) Starting iteration 2 Value numbering .MEM_1 stmt = .MEM_1 = PHI <.MEM_22(2), .MEM_25(3)> Setting value number of .MEM_1 to .MEM_1 Processing SCC needed 2 iterations Value numbering _26 stmt = _26 = base_20 + 16; Setting value number of _26 to _26 (changed) Value numbering .MEM_27 stmt = luaD_poscall (L_3(D), _26); Setting value number of .MEM_27 to .MEM_27 (changed) Value numbers: Deleted redundant store MEM[(struct ravi_TValue *)base_9 + 16B].tt_ = 1; Removing dead stmt MEM[(struct ravi_TValue *)base_9 + 16B].tt_ = 1; ravif2 (struct ravi_lua_State * L) { struct ravi_TValue * base; struct ravi_LClosure * cl; struct ravi_CallInfo * _4; struct ravi_TValue * _5; struct ravi_CallInfo * _8; struct ravi_Proto * _10; struct ravi_TValue * _11; signed long _12; signed long _15; struct ravi_CallInfo * _19; struct ravi_TValue * _21; struct ravi_Proto * _23; signed int _24; struct ravi_TValue * _26; entry: _4 = L_3(D)->ci; _5 = _4->func; cl_6 = _5->value_.gc; raviV_op_loadnil (_4, 0, 0); _8 = L_3(D)->ci; base_9 = _8->u.l.base; _10 = cl_6->p; _11 = _10->k; _12 = _11->value_.i; MEM[(struct ravi_TValue *)base_9 + 16B].value_.i = _12; MEM[(struct ravi_TValue *)base_9 + 16B].tt_ = 1; _15 = _11->value_.i; MEM[(struct ravi_TValue *)base_9 + 16B].value_.i = _15; printf ("OP_RETURN(pc=%d) return %d args", 13, 1); _19 = L_3(D)->ci; base_20 = _19->u.l.base; _21 = base_20 + 32; L_3(D)->top = _21; _23 = cl_6->p; _24 = _23->sizep; if (_24 > 0) goto (OP_RETURN_if_sizep_gt_0_12_23); else goto (OP_RETURN_else_sizep_gt_0_12_24); OP_RETURN_if_sizep_gt_0_12_23: luaF_close (L_3(D), base_20); OP_RETURN_else_sizep_gt_0_12_24: _26 = base_20 + 16; luaD_poscall (L_3(D), _26); return 1; } ; end of dump from pass_fre (../../src/gcc/tree-ssa-pre.c:4927)