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

Reply via email to