On Tue, Jan 20, 2015 at 2:01 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
>> On 2015.01.20 at 21:04 +0100, Jan Hubicka wrote:
>> > this patch fixes ICE in ipa_merge_profiles on speculative edges.
>> >
>> > Bootstrapped/regtested x86_64-linux, comitted. Also tested by Markus on
>> > Firefox build.
>>
>> This needs one additional fix. See below.
>>
>> Otherwise it will crash:
>>
>> lto1: internal compiler error: Segmentation fault
>> 0xa12f6f crash_signal
>>         ../../gcc/gcc/toplev.c:381
>> 0x88b190 ipa_merge_profiles(cgraph_node*, cgraph_node*)
>>         ../../gcc/gcc/ipa-utils.c:637
>> 0x603722 lto_cgraph_replace_node
>>         ../../gcc/gcc/lto/lto-symtab.c:124
>> 0x604cf3 lto_symtab_merge_symbols_1
>>         ../../gcc/gcc/lto/lto-symtab.c:619
>> 0x604cf3 lto_symtab_merge_symbols()
>>         ../../gcc/gcc/lto/lto-symtab.c:647
>> 0x5fa52e read_cgraph_and_symbols
>>         ../../gcc/gcc/lto/lto.c:3109
>> 0x5fa52e lto_main()
>>         ../../gcc/gcc/lto/lto.c:3436
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>
> I see, thanks.  It means that we do have comdats that diverge in their call 
> statements.
> I guess we ought to just cancel merging in that case, otherwise the profile 
> can be completely
> off :(
> I will need to write some call target compare then. So far the code assumes 
> that if #of BBs match
> then the bodies match and proceeds with merging.
>
> Martin, perhaps we can re-use some of ipa-icf infrastructure here to quickly 
> check that at least
> CFG shapes and call targets match?
>
> I will commit this hack for now; hopefully it is only infrequent side case.
>
> Honza

Will it fix

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

-- 
H.J.

Reply via email to