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.