https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78049
Bug ID: 78049
Summary: [7 Regression] ICE in gcc/lto-streamer-in.c:901 when
building Firefox with LTO and -O3
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: lto
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
Target Milestone: ---
I can see following back trace ICE in:
/home/marxin/BIG/buildbot/slave/source/firefox/obj-x86_64-pc-linux-gnu/dist/include/nsCOMPtr.h:294:0:
internal compiler error: Segmentation fault
NSCAP_RELEASE(this, mRawPtr);
0x983ebf crash_signal
.././../gcc/toplev.c:338
0x874307 fixup_call_stmt_edges_1
.././../gcc/lto-streamer-in.c:901
0x876557 fixup_call_stmt_edges
.././../gcc/lto-streamer-in.c:940
0x876557 input_function
.././../gcc/lto-streamer-in.c:1137
0x876557 lto_read_body_or_constructor
.././../gcc/lto-streamer-in.c:1211
0x660044 cgraph_node::get_untransformed_body()
.././../gcc/cgraph.c:3572
0x9e17c8 expand_call_inline
.././../gcc/tree-inline.c:4513
0x9e30a4 gimple_expand_calls_inline
.././../gcc/tree-inline.c:4865
0x9e30a4 optimize_inline_calls(tree_node*)
.././../gcc/tree-inline.c:5005
0xfb7083 inline_transform(cgraph_node*)
.././../gcc/ipa-inline-transform.c:652
0x8d15b4 execute_one_ipa_transform_pass
.././../gcc/passes.c:2206
0x8d15b4 execute_all_ipa_transforms()
.././../gcc/passes.c:2248
0x669092 cgraph_node::expand()
.././../gcc/cgraphunit.c:1993
0x66a45b expand_all_functions
.././../gcc/cgraphunit.c:2136
0x66a45b symbol_table::compile()
.././../gcc/cgraphunit.c:2493
0x5f8c21 lto_main()
.././../gcc/lto/lto.c:3324
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[6]: *** [/tmp/ccKv3suf.mk:47: /tmp/ccP63OqO.ltrans15.ltrans.o] Error 1
It's quite problematic to isolate the issue as there's another one connected to
gimple-ssa-strength-reduction.c.
However, bad revision is r241308 and a good one is r241274. As mentioned,
bisecting is not possible, but reverse application of
what was added in r241300 fixes the issue. But that would not be probably
culprit as I suspect the LTO partitioning to have just
a bit modified input. I'll come to that later, it's hard to isolate the issue
as it happens in ltrans.