; start of dump from pass_ipa_inline (../../src/gcc/ipa-inline.c:2820) Analyzing function: ravif2/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 } Analyzing function body size: ravif2 Inline summary for ravif2/0 inlinable self time: 70 global time: 0 self size: 39 global size: 0 min size: 0 self stack: 0 global stack: 0 size:19.500000, time:19.500000, predicate:(true) size:4.500000, time:3.500000, predicate:(not inlined) size:0.500000, time:0.500000, predicate:(op0[ref offset: 256] changed) && (not inlined) size:0.500000, time:0.500000, predicate:(op0[ref offset: 256] changed) calls: luaD_poscall/4 function body not available loop depth: 0 freq:1000 size: 3 time: 12 callee size: 0 stack: 0 luaF_close/3 function body not available loop depth: 0 freq: 633 size: 3 time: 12 callee size: 0 stack: 0 printf/2 function body not available loop depth: 0 freq:1000 size: 4 time: 13 callee size: 0 stack: 0 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant raviV_op_loadnil/1 function body not available loop depth: 0 freq:1000 size: 4 time: 13 callee size: 0 stack: 0 op1 is compile time invariant op2 is compile time invariant ; end of dump from pass_ipa_inline (../../src/gcc/ipa-inline.c:2820) ; start of dump from pass_ipa_inline (../../src/gcc/ipa-inline.c:2820) Inline summary for ravif2/0 inlinable self time: 70 global time: 70 self size: 39 global size: 39 min size: 28 self stack: 0 global stack: 0 size:19.500000, time:19.500000, predicate:(true) size:4.500000, time:3.500000, predicate:(not inlined) size:0.500000, time:0.500000, predicate:(op0[ref offset: 256] changed) && (not inlined) size:0.500000, time:0.500000, predicate:(op0[ref offset: 256] changed) calls: luaD_poscall/4 function body not available loop depth: 0 freq:1000 size: 3 time: 12 callee size: 0 stack: 0 luaF_close/3 function body not available loop depth: 0 freq: 633 size: 3 time: 12 callee size: 0 stack: 0 printf/2 function body not available loop depth: 0 freq:1000 size: 4 time: 13 callee size: 0 stack: 0 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant raviV_op_loadnil/1 function body not available loop depth: 0 freq:1000 size: 4 time: 13 callee size: 0 stack: 0 op1 is compile time invariant op2 is compile time invariant Flattening functions: Overall time estimate: 70 weighted by profile: 0 Deciding on inlining of small functions. Starting with size 39. Enqueueing calls in ravif2/0. not inlinable: ravif2/0 -> luaD_poscall/4, function body not available not inlinable: ravif2/0 -> luaF_close/3, function body not available not inlinable: ravif2/0 -> printf/2, function body not available not inlinable: ravif2/0 -> raviV_op_loadnil/1, function body not available Unit growth for small function inlining: 39->39 (0%) Reclaiming functions: Reclaiming variables: Clearing address taken flags: Deciding on functions to be inlined into all callers and removing useless speculations: Inlined 0 calls, eliminated 0 functions Overall time estimate: 70 weighted by profile: 0 Why inlining failed? function body not available : 4 calls, 3633 freq, 0 count Inline summary for ravif2/0 inlinable self time: 70 global time: 70 self size: 39 global size: 39 min size: 28 self stack: 0 global stack: 0 size:19.500000, time:19.500000, predicate:(true) size:4.500000, time:3.500000, predicate:(not inlined) size:0.500000, time:0.500000, predicate:(op0[ref offset: 256] changed) && (not inlined) size:0.500000, time:0.500000, predicate:(op0[ref offset: 256] changed) calls: luaD_poscall/4 function body not available loop depth: 0 freq:1000 size: 3 time: 12 callee size: 0 stack: 0 luaF_close/3 function body not available loop depth: 0 freq: 633 size: 3 time: 12 callee size: 0 stack: 0 printf/2 function body not available loop depth: 0 freq:1000 size: 4 time: 13 callee size: 0 stack: 0 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant raviV_op_loadnil/1 function body not available loop depth: 0 freq:1000 size: 4 time: 13 callee size: 0 stack: 0 op1 is compile time invariant op2 is compile time invariant Symbol table: luaD_poscall/4 (luaD_poscall) @0x7f19748b08a0 Type: function Visibility: external public artificial References: Referring: Availability: not_available First run: 0 Function flags: Called by: ravif2/0 (1.00 per call) Calls: luaF_close/3 (luaF_close) @0x7f19748b0730 Type: function Visibility: external public artificial References: Referring: Availability: not_available First run: 0 Function flags: Called by: ravif2/0 (0.63 per call) Calls: printf/2 (printf) @0x7f19748b05c0 Type: function Visibility: external public artificial References: Referring: Availability: not_available First run: 0 Function flags: Called by: ravif2/0 (1.00 per call) Calls: raviV_op_loadnil/1 (raviV_op_loadnil) @0x7f19748b0450 Type: function Visibility: external public artificial References: Referring: Availability: not_available First run: 0 Function flags: Called by: ravif2/0 (1.00 per call) Calls: ravif2/0 (ravif2) @0x7f19748b0000 Type: function definition analyzed Visibility: force_output externally_visible public artificial References: Referring: Availability: overwritable First run: 0 Function flags: body Called by: Calls: luaD_poscall/4 (1.00 per call) luaF_close/3 (0.63 per call) printf/2 (1.00 per call) raviV_op_loadnil/1 (1.00 per call) 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_ipa_inline (../../src/gcc/ipa-inline.c:2820) ; start of dump from pass_ipa_inline (../../src/gcc/ipa-inline.c:2820) ;; Function ravif2 (ravif2, funcdef_no=0, decl_uid=364, cgraph_uid=0, symbol_order=0) 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_ipa_inline (../../src/gcc/ipa-inline.c:2820)