https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123888

--- Comment #22 from Jan Hubicka <hubicka at ucw dot cz> ---
> Do you have ideas how to reproduce this without all the non-LTO object files?
It is not clear to me why .o files are needed.  Inline dump has the
following which summarizes what happens in the function:
IPA function summary for NewStandardURI/1673 inlinable
  global time:     208.377017
  self size:       58
  global size:     213
  min size:       209
  self stack:      28
  global stack:    60
  estimated growth:152
    size:121.000000, time:100.121370
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(op4 not sra candidate)
  calls:
    Finalize/6202 inlined
      freq:1.00
      Stack frame offset 28, callee self size 0
    Release/6544 inlined
      freq:1.00 cross module
      Stack frame offset 28, callee self size 0
      __dt_del /6545 inlined
        freq:0.34
        Stack frame offset 28, callee self size 0
        free/2326 function body not available
          freq:0.34 cross module loop depth: 0 size: 2 time: 11
        indirect call loop depth: 0 freq:0.00 size: 4 time: 16
    __builtin_expect/2318 function body not available
      freq:1.00 loop depth: 0 size: 0 time:  0
       op1 is compile time invariant
       op1 points to local or readonly memory
    __builtin_expect/2318 function body not available
      freq:1.00 loop depth: 0 size: 0 time:  0
       op1 is compile time invariant
       op1 points to local or readonly memory
    Apply.constprop/6420 inlined
      freq:1.00
      Stack frame offset 28, callee self size 24
      AddRef/6421 inlined
        freq:1.00
        Stack frame offset 52, callee self size 0
      Release/6548 inlined
        freq:1.00 cross module
        Stack frame offset 52, callee self size 0
        __dt_del /6549 inlined
          freq:0.34
          Stack frame offset 52, callee self size 0
          free/2326 function body not available
            freq:0.34 cross module loop depth: 0 size: 2 time: 11
          indirect call loop depth: 0 freq:0.00 size: 4 time: 16
     
_ZThn24_N7mozilla3net13nsStandardURL16TemplatedMutatorIS1_E4InitEjiRK12nsTSubstringIcEPKcP6nsIURIPP13nsIURIMutator.artificial_thunk.0/6422
inlined
        freq:1.00 cross module
        Stack frame offset 52, callee self size 0
        Init.constprop/6423 inlined
          freq:1.00
          Stack frame offset 52, callee self size 0
          __builtin_unreachable/5924 function body not available
            freq:1.00 cross module loop depth: 0 size: 3 time: 12
          __builtin_expect/2318 function body not available
            freq:1.00 cross module loop depth: 0 size: 0 time:  0
             op1 is compile time invariant
             op1 points to local or readonly memory
          Init/4740 --param max-inline-insns-auto limit reached
            freq:1.00 loop depth: 0 size: 8 time: 17 callee size:139 stack:104
          __builtin_unreachable/5924 unreachable
            freq:0.00 cross module loop depth: 0 size: 0 time:  0 predicate:
(false)
          indirect call loop depth: 0 freq:0.00 size: 4 time: 16
          indirect call loop depth: 0 freq:0.00 size: 4 time: 16
          indirect call loop depth: 0 freq:1.00 size: 4 time: 16
      __builtin_expect/2318 function body not available
        freq:1.00 loop depth: 0 size: 0 time:  0
         op1 is compile time invariant
         op1 points to local or readonly memory
      assign_from_qi_with_error.constprop/6424 inlined
        freq:1.00
        Stack frame offset 52, callee self size 8
        operator()/2543 function body not available
          freq:1.00 loop depth: 0 size: 5 time: 14
        __builtin_expect/2318 function body not available
          freq:1.00 loop depth: 0 size: 0 time:  0
           op1 is compile time invariant
           op1 points to local or readonly memory
        indirect call loop depth: 0 freq:0.70 size: 4 time: 16
      __builtin_expect/2318 function body not available
        freq:1.00 loop depth: 0 size: 0 time:  0
         op1 is compile time invariant
         op1 points to local or readonly memory
      indirect call loop depth: 0 freq:1.00 size: 4 time: 16
      indirect call loop depth: 0 freq:0.00 size:11 time: 23
      indirect call loop depth: 0 freq:0.00 size: 4 time: 16
      indirect call loop depth: 0 freq:0.00 size: 4 time: 16
    __ct_base /6522 inlined
      freq:1.00
      Stack frame offset 28, callee self size 0
      AddRef/6523 inlined
        freq:1.00
        Stack frame offset 28, callee self size 0
      indirect call loop depth: 0 freq:0.00 size: 4 time: 16
      indirect call loop depth: 0 freq:0.00 size: 4 time: 16
    moz_xmalloc/2322 function body not available
      freq:1.00 loop depth: 0 size: 3 time: 12
    indirect call loop depth: 0 freq:0.00 size: 4 time: 16

So the chain of inlines going to the unreachable is
NewStandsdURI <- Apply <-
_ZThn24_N7mozilla3net13nsStandardURL16TemplatedMutatorIS1_E4InitEjiRK12nsTSubstringIcEPKcP6nsIURIPP13nsIURIMutator.artificial_thunk.0
<- Init 

forcing it by hand may reproduce same problem assuming that
__builtin_unreachable inside of Init is indeed to wrong one.

I have to leave now but will be back around 4pm.

Reply via email to