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