; start of dump from pass_dominator (../../src/gcc/tree-ssa-dom.c:1155) ;; Function ravif2 (ravif2, funcdef_no=0, decl_uid=364, cgraph_uid=0, symbol_order=0) ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 1 } Optimizing block #0 Optimizing block #2 Optimizing statement entry: Optimizing statement _4 = L_3(D)->ci; LKUP STMT _4 = L_3(D)->ci with .MEM_2(D) 2>>> STMT _4 = L_3(D)->ci with .MEM_2(D) Optimizing statement _5 = _4->func; LKUP STMT _5 = _4->func with .MEM_2(D) 2>>> STMT _5 = _4->func with .MEM_2(D) Optimizing statement cl_6 = _5->value_.gc; LKUP STMT cl_6 = _5->value_.gc with .MEM_2(D) 2>>> STMT cl_6 = _5->value_.gc with .MEM_2(D) Optimizing statement raviV_op_loadnil (_4, 0, 0); Optimizing statement _8 = L_3(D)->ci; LKUP STMT _8 = L_3(D)->ci with .MEM_7 2>>> STMT _8 = L_3(D)->ci with .MEM_7 Optimizing statement base_9 = _8->u.l.base; LKUP STMT base_9 = _8->u.l.base with .MEM_7 2>>> STMT base_9 = _8->u.l.base with .MEM_7 Optimizing statement _10 = cl_6->p; LKUP STMT _10 = cl_6->p with .MEM_7 2>>> STMT _10 = cl_6->p with .MEM_7 Optimizing statement _11 = _10->k; LKUP STMT _11 = _10->k with .MEM_7 2>>> STMT _11 = _10->k with .MEM_7 Optimizing statement _12 = _11->value_.i; LKUP STMT _12 = _11->value_.i with .MEM_7 2>>> STMT _12 = _11->value_.i with .MEM_7 Optimizing statement MEM[(struct ravi_TValue *)base_9 + 16B].value_.i = _12; LKUP STMT MEM[(struct ravi_TValue *)base_9 + 16B].value_.i = _12 with .MEM_7 LKUP STMT _12 = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i with .MEM_7 LKUP STMT _12 = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i with .MEM_13 2>>> STMT _12 = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i with .MEM_13 Optimizing statement MEM[(struct ravi_TValue *)base_9 + 16B].tt_ = 1; LKUP STMT MEM[(struct ravi_TValue *)base_9 + 16B].tt_ = 1 with .MEM_13 LKUP STMT 1 = MEM[(struct ravi_TValue *)base_9 + 16B].tt_ with .MEM_13 LKUP STMT 1 = MEM[(struct ravi_TValue *)base_9 + 16B].tt_ with .MEM_14 2>>> STMT 1 = MEM[(struct ravi_TValue *)base_9 + 16B].tt_ with .MEM_14 Optimizing statement _15 = _11->value_.i; LKUP STMT _15 = _11->value_.i with .MEM_14 2>>> STMT _15 = _11->value_.i with .MEM_14 Optimizing statement MEM[(struct ravi_TValue *)base_9 + 16B].value_.i = _15; LKUP STMT MEM[(struct ravi_TValue *)base_9 + 16B].value_.i = _15 with .MEM_14 LKUP STMT _15 = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i with .MEM_14 FIND: _12 LKUP STMT _15 = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i with .MEM_16 2>>> STMT _15 = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i with .MEM_16 Optimizing statement printf ("OP_RETURN(pc=%d) return %d args", 13, 1); Optimizing statement _19 = L_3(D)->ci; LKUP STMT _19 = L_3(D)->ci with .MEM_18 2>>> STMT _19 = L_3(D)->ci with .MEM_18 Optimizing statement base_20 = _19->u.l.base; LKUP STMT base_20 = _19->u.l.base with .MEM_18 2>>> STMT base_20 = _19->u.l.base with .MEM_18 Optimizing statement _21 = base_20 + 32; LKUP STMT _21 = base_20 pointer_plus_expr 32 2>>> STMT _21 = base_20 pointer_plus_expr 32 Optimizing statement L_3(D)->top = _21; LKUP STMT L_3(D)->top = _21 with .MEM_18 LKUP STMT _21 = L_3(D)->top with .MEM_18 LKUP STMT _21 = L_3(D)->top with .MEM_22 2>>> STMT _21 = L_3(D)->top with .MEM_22 Optimizing statement _23 = cl_6->p; LKUP STMT _23 = cl_6->p with .MEM_22 2>>> STMT _23 = cl_6->p with .MEM_22 Optimizing statement _24 = _23->sizep; LKUP STMT _24 = _23->sizep with .MEM_22 2>>> STMT _24 = _23->sizep with .MEM_22 Optimizing statement if (_24 > 0) LKUP STMT _24 gt_expr 0 Optimizing block #3 1>>> STMT 1 = _24 ge_expr 0 1>>> STMT 1 = _24 ne_expr 0 1>>> STMT 1 = _24 gt_expr 0 1>>> STMT 0 = _24 le_expr 0 Optimizing statement OP_RETURN_if_sizep_gt_0_12_23: Optimizing statement luaF_close (L_3(D), base_20); <<<< STMT 0 = _24 le_expr 0 <<<< STMT 1 = _24 gt_expr 0 <<<< STMT 1 = _24 ne_expr 0 <<<< STMT 1 = _24 ge_expr 0 Optimizing block #4 LKUP STMT .MEM_1 = PHI <.MEM_22, .MEM_25> 2>>> STMT .MEM_1 = PHI <.MEM_22, .MEM_25> <<<< STMT .MEM_1 = PHI <.MEM_22, .MEM_25> Optimizing statement OP_RETURN_else_sizep_gt_0_12_24: Optimizing statement _26 = base_20 + 16; LKUP STMT _26 = base_20 pointer_plus_expr 16 2>>> STMT _26 = base_20 pointer_plus_expr 16 Optimizing statement luaD_poscall (L_3(D), _26); Optimizing statement return 1; <<<< STMT _26 = base_20 pointer_plus_expr 16 <<<< STMT _24 = _23->sizep with .MEM_22 <<<< STMT _23 = cl_6->p with .MEM_22 <<<< STMT _21 = L_3(D)->top with .MEM_22 <<<< STMT _21 = base_20 pointer_plus_expr 32 <<<< STMT base_20 = _19->u.l.base with .MEM_18 <<<< STMT _19 = L_3(D)->ci with .MEM_18 <<<< STMT _15 = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i with .MEM_16 <<<< STMT _15 = _11->value_.i with .MEM_14 <<<< STMT 1 = MEM[(struct ravi_TValue *)base_9 + 16B].tt_ with .MEM_14 <<<< STMT _12 = MEM[(struct ravi_TValue *)base_9 + 16B].value_.i with .MEM_13 <<<< STMT _12 = _11->value_.i with .MEM_7 <<<< STMT _11 = _10->k with .MEM_7 <<<< STMT _10 = cl_6->p with .MEM_7 <<<< STMT base_9 = _8->u.l.base with .MEM_7 <<<< STMT _8 = L_3(D)->ci with .MEM_7 <<<< STMT cl_6 = _5->value_.gc with .MEM_2(D) <<<< STMT _5 = _4->func with .MEM_2(D) <<<< STMT _4 = L_3(D)->ci with .MEM_2(D) 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_dominator (../../src/gcc/tree-ssa-dom.c:1155)