; start of dump from pass_build_alias (../../src/gcc/tree-ssa-structalias.c:7192) ;; Function ravif2 (ravif2, funcdef_no=0, decl_uid=364, cgraph_uid=0, symbol_order=0) Points-to analysis Constraints: ANYTHING = &ANYTHING ESCAPED = *ESCAPED ESCAPED = ESCAPED + UNKNOWN *ESCAPED = NONLOCAL NONLOCAL = &NONLOCAL NONLOCAL = &ESCAPED INTEGER = &ANYTHING L = &NONLOCAL _4 = *L + 256 _5 = *_4 cl_6 = *_5 ESCAPED = _4 ESCAPED = &NULL ESCAPED = &NULL _8 = *L + 256 base_9 = *_8 + 256 _10 = *cl_6 + 192 _11 = *_10 + 384 _12 = *_11 *base_9 + 128 = _12 derefaddrtmp = &NONLOCAL *base_9 + 192 = derefaddrtmp _15 = *_11 *base_9 + 128 = _15 derefaddrtmp = &NONLOCAL *base_9 + 192 = derefaddrtmp ESCAPED = &STRING ESCAPED = &NONLOCAL ESCAPED = &NONLOCAL _19 = *L + 256 base_20 = *_19 + 256 _21 = base_20 + 256 *L + 128 = _21 _23 = *cl_6 + 192 _24 = *_23 + 256 ESCAPED = L ESCAPED = base_20 _26 = base_20 + 128 ESCAPED = L ESCAPED = _26 ESCAPED = &NONLOCAL Collapsing static cycles and doing variable substitution Building predecessor graph Detecting pointer and location equivalences Rewriting constraints and unifying variables Uniting pointer but not location equivalent variables Finding indirect cycles Solving graph Points-to sets ANYTHING = { ANYTHING } ESCAPED = { NULL STRING ESCAPED NONLOCAL } NONLOCAL = { ESCAPED NONLOCAL } STOREDANYTHING = { } INTEGER = { ANYTHING } L = { NONLOCAL } _4 = { ESCAPED NONLOCAL } _5 = { ESCAPED NONLOCAL } cl_6 = { ESCAPED NONLOCAL } raviV_op_loadnil = { } _8 = { ESCAPED NONLOCAL } base_9 = { ESCAPED NONLOCAL } _10 = { ESCAPED NONLOCAL } _11 = { ESCAPED NONLOCAL } _12 = { ESCAPED NONLOCAL } derefaddrtmp = { NONLOCAL } same as L _15 = { ESCAPED NONLOCAL } same as _12 derefaddrtmp = { NONLOCAL } same as L printf = { } _19 = { ESCAPED NONLOCAL } base_20 = { ESCAPED NONLOCAL } _21 = { ESCAPED NONLOCAL } _23 = { ESCAPED NONLOCAL } _24 = { ESCAPED NONLOCAL } luaF_close = { } _26 = { ESCAPED NONLOCAL } luaD_poscall = { } Alias information for ravif2 Aliased symbols Call clobber information ESCAPED, points-to non-local, points-to NULL, points-to vars: { } Flow-insensitive points-to information L_3(D), points-to non-local, points-to vars: { } _4, points-to non-local, points-to escaped, points-to vars: { } _5, points-to non-local, points-to escaped, points-to vars: { } cl_6, points-to non-local, points-to escaped, points-to vars: { } _8, points-to non-local, points-to escaped, points-to vars: { } base_9, points-to non-local, points-to escaped, points-to vars: { } _10, points-to non-local, points-to escaped, points-to vars: { } _11, points-to non-local, points-to escaped, points-to vars: { } _19, points-to non-local, points-to escaped, points-to vars: { } base_20, points-to non-local, points-to escaped, points-to vars: { } _21, points-to non-local, points-to escaped, points-to vars: { } _23, points-to non-local, points-to escaped, points-to vars: { } _26, points-to non-local, points-to escaped, points-to vars: { } 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; MEM[(struct ravi_TValue *)base_9 + 16B].tt_ = 1; 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_build_alias (../../src/gcc/tree-ssa-structalias.c:7192)