; start of dump from pass_vrp (../../src/gcc/tree-vrp.c:10459) ;; 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 } SSA replacement table N_i -> { O_1 ... O_j } means that N_i replaces O_1, ..., O_j _17 -> { _11 } base_28 -> { base_9 } cl_29 -> { cl_6 } L_30 -> { L_3(D) } _31 -> { _4 } Incremental SSA update started at block: 2 Number of blocks in CFG: 5 Number of blocks to update: 3 ( 60%) Value ranges after VRP: .MEM_1: VARYING L_3(D): VARYING _4: VARYING _5: VARYING cl_6: VARYING _8: VARYING base_9: VARYING _10: VARYING _11: VARYING _12: VARYING _15: VARYING _17: ~[0B, 0B] EQUIVALENCES: { _11 } (1 elements) _19: VARYING base_20: VARYING _21: VARYING _23: VARYING _24: VARYING _26: VARYING base_28: ~[0B, 0B] EQUIVALENCES: { base_9 } (1 elements) cl_29: ~[0B, 0B] EQUIVALENCES: { cl_6 } (1 elements) L_30: ~[0B, 0B] EQUIVALENCES: { L_3(D) } (1 elements) _31: ~[0B, 0B] EQUIVALENCES: { _4 } (1 elements) 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_vrp (../../src/gcc/tree-vrp.c:10459)