[Bug tree-optimization/55683] [4.8 Regression] ICE in inline_call, at ipa-inline-transform.c:270

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Dec 18 16:40:00 GMT 2012


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



More information about the Gcc-bugs mailing list