http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55683
--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-12-18
16:39:47 UTC ---
OK,
we are inlining
Inline summary for bool C::c1(float, float)/7 inlinable
self time: 34
global time: 34
self size: 18
global size: 18
self stack: 0
global stack: 0
estimated growth:-6
size:1.500000, time:1.500000, predicate:(true)
size:3.500000, time:2.500000, predicate:(not inlined)
size:0.500000, time:0.500000, predicate:(op0[ref offset: 64] changed) &&
(not inlined)
size:0.500000, time:0.500000, predicate:(op0[ref offset: 64] changed)
size:2.000000, time:2.000000, predicate:(op0[ref offset: 64] changed || op1
changed)
size:0.500000, time:0.355000, predicate:(op0[ref offset: 96] changed) &&
(not inlined)
size:0.500000, time:0.355000, predicate:(op0[ref offset: 96] changed)
size:2.000000, time:1.420000, predicate:(op0[ref offset: 96] changed || op2
changed)
calls:
void B::b2()/12 function body not available
loop depth: 0 freq: 723 size: 2 time: 11 callee size: 0 stack: 0
indirect call loop depth: 0 freq:1000 size: 5 time: 17
into
Inline summary for void bar()/8 inlinable
self time: 38
global time: 53
self size: 22
global size: 32
self stack: 0
global stack: 0
size:14.500000, time:8.849000, predicate:(true)
size:3.000000, time:2.000000, predicate:(not inlined)
calls:
bool C::c1(float, float)/7 inlined
loop depth: 0 freq:1000 size: 4 time: 13 callee size: 9 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
void B::b2()/12 function body not available
loop depth: 0 freq: 723 size: 2 time: 11 callee size: 0 stack: 0
indirect call loop depth: 0 freq:1000 size: 5 time: 17
double foo()/11 function body not available
loop depth: 0 freq:1000 size: 2 time: 11 callee size: 0 stack: 0
void __cxa_guard_release(long long int*)/10 function body not available
loop depth: 0 freq: 151 size: 2 time: 11 callee size: 0 stack: 0
op0 is compile time invariant
int __cxa_guard_acquire(long long int*)/9 function body not available
loop depth: 0 freq: 389 size: 3 time: 12 callee size: 0 stack: 0
op0 is compile time invariant
ipa-inline-analysis figures out that we can devirtualize call to b3, but ipa-cp
won't.
So this seems another disagreement in between ipa-cp and ipa-prop...
Honza