re PR ipa/63566 (i686 bootstrap fails: ICE RTL flag check: INSN_UID used with unexpected rtx code 'set' in INSN_UID, at rtl.h:1326)

PR ipa/63566 
	* cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
	aliases before trying to expand it.
	(cgraph_node::expand_thunk): Fix formating.

From-SVN: r220518
This commit is contained in:
Jan Hubicka 2015-02-08 21:08:21 +01:00 committed by Jan Hubicka
parent 91480ff350
commit 9641fab348
2 changed files with 24 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
PR ipa/63566
* cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
aliases before trying to expand it.
(cgraph_node::expand_thunk): Fix formating.
2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
* doc/extend.texi (Function Attributes [naked]): Copy-edit.

View File

@ -580,8 +580,19 @@ cgraph_node::analyze (void)
if (thunk.thunk_p)
{
create_edge (cgraph_node::get (thunk.alias),
NULL, 0, CGRAPH_FREQ_BASE);
cgraph_node *t = cgraph_node::get (thunk.alias);
create_edge (t, NULL, 0, CGRAPH_FREQ_BASE);
/* Target code in expand_thunk may need the thunk's target
to be analyzed, so recurse here. */
if (!t->analyzed)
t->analyze ();
if (t->alias)
{
t = t->get_alias_target ();
if (!t->analyzed)
t->analyze ();
}
if (!expand_thunk (false, false))
{
thunk.alias = NULL;
@ -1515,7 +1526,8 @@ cgraph_node::expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)
current_function_decl = thunk_fndecl;
/* Ensure thunks are emitted in their correct sections. */
resolve_unique_section (thunk_fndecl, 0, flag_function_sections);
resolve_unique_section (thunk_fndecl, 0,
flag_function_sections);
DECL_RESULT (thunk_fndecl)
= build_decl (DECL_SOURCE_LOCATION (thunk_fndecl),
@ -1568,7 +1580,8 @@ cgraph_node::expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)
current_function_decl = thunk_fndecl;
/* Ensure thunks are emitted in their correct sections. */
resolve_unique_section (thunk_fndecl, 0, flag_function_sections);
resolve_unique_section (thunk_fndecl, 0,
flag_function_sections);
DECL_IGNORED_P (thunk_fndecl) = 1;
bitmap_obstack_initialize (NULL);