On Wed, Nov 13, 2013 at 6:18 PM, Uros Bizjak <ubiz...@gmail.com> wrote:

>> as discussed with Honza on many occasions, all users of
>> cgraph_get_create_node really want cgraph_get_create_real_symbol_node,
>> i.e. they are not interested in inline nodes and should get a
>> standalone node instead.  So this patch changes cgraph_get_create_node
>> to do what cgraph_get_create_real_symbol_node currently does and
>> removes the latter altogether.
>>
>> I had to change a call to cgraph_get_create_node to cgraph_get_node in
>> lto-streamer-in.c so that it does not make the node it operates on a
>> clone of another one because this made ipa_pta_execute abort on assert
>> after calling cgraph_get_body (visionary points to Richi for putting
>> the assert there).
>>
>> The patch successfully passed bootstrap and testing ("all" languages +
>> Ada) and LTO-bootstrap (C and C++ only) on x86_64-linux.
>>
>> 2013-11-12  Martin Jambor  <mjam...@suse.cz>
>>
>> * cgraph.c (cgraph_get_create_node): Do what
>> cgraph_get_create_real_symbol_node used to do.
>> (cgraph_get_create_real_symbol_node): Removed.  Changed all users to
>> call cgraph_get_create_node.
>> * cgraph.h (cgraph_get_create_real_symbol_node): Removed.
>> * lto-streamer-in.c (input_function): Call cgraph_get_node instead of
>> cgraph_get_create_node.  Assert we get a node.
>
> This patch breaks lto-profiledbootstrap on x86_64-pc-linux-gnu with:
>
> In function ‘colorize_start’:
> lto1: internal compiler error: in input_function, at lto-streamer-in.c:919
> 0xa585c1 input_function
>         /home/uros/gcc-svn/trunk/gcc/lto-streamer-in.c:919
> 0xa585c1 lto_read_body
>         /home/uros/gcc-svn/trunk/gcc/lto-streamer-in.c:1067
> 0xa585c1 lto_input_function_body(lto_file_decl_data*, cgraph_node*, char 
> const*)
>         /home/uros/gcc-svn/trunk/gcc/lto-streamer-in.c:1109
> 0x66eb2c cgraph_get_body(cgraph_node*)
>         /home/uros/gcc-svn/trunk/gcc/cgraph.c:2967
> 0x999339 ipa_merge_profiles(cgraph_node*, cgraph_node*)
>         /home/uros/gcc-svn/trunk/gcc/ipa-utils.c:699
> 0x5979a6 lto_cgraph_replace_node
>         /home/uros/gcc-svn/trunk/gcc/lto/lto-symtab.c:82
> 0x598079 lto_symtab_merge_symbols_1
>         /home/uros/gcc-svn/trunk/gcc/lto/lto-symtab.c:561
> 0x598079 lto_symtab_merge_symbols()
>         /home/uros/gcc-svn/trunk/gcc/lto/lto-symtab.c:589
> 0x586fad read_cgraph_and_symbols
>         /home/uros/gcc-svn/trunk/gcc/lto/lto.c:2945
> 0x586fad lto_main()
>         /home/uros/gcc-svn/trunk/gcc/lto/lto.c:3254
>
> You will need patches from Teresa [1],[2] to get up to there in the
> lto-profiledbootstrap.

These patches are now in mainline, the failure is confirmed by HJ's
buildboot at http://gcc.gnu.org/ml/gcc-regression/2013-11/msg00350.html

Uros.

Reply via email to