Commit 9641fab3 by Jan Hubicka Committed by Jan Hubicka

re PR ipa/63566 (i686 bootstrap fails: ICE RTL flag check: INSN_UID used with…

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
parent 91480ff3
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> 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
* doc/extend.texi (Function Attributes [naked]): Copy-edit. * doc/extend.texi (Function Attributes [naked]): Copy-edit.
......
...@@ -580,8 +580,19 @@ cgraph_node::analyze (void) ...@@ -580,8 +580,19 @@ cgraph_node::analyze (void)
if (thunk.thunk_p) if (thunk.thunk_p)
{ {
create_edge (cgraph_node::get (thunk.alias), cgraph_node *t = cgraph_node::get (thunk.alias);
NULL, 0, CGRAPH_FREQ_BASE);
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)) if (!expand_thunk (false, false))
{ {
thunk.alias = NULL; thunk.alias = NULL;
...@@ -1515,7 +1526,8 @@ cgraph_node::expand_thunk (bool output_asm_thunks, bool force_gimple_thunk) ...@@ -1515,7 +1526,8 @@ cgraph_node::expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)
current_function_decl = thunk_fndecl; current_function_decl = thunk_fndecl;
/* Ensure thunks are emitted in their correct sections. */ /* 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) DECL_RESULT (thunk_fndecl)
= build_decl (DECL_SOURCE_LOCATION (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) ...@@ -1568,7 +1580,8 @@ cgraph_node::expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)
current_function_decl = thunk_fndecl; current_function_decl = thunk_fndecl;
/* Ensure thunks are emitted in their correct sections. */ /* 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; DECL_IGNORED_P (thunk_fndecl) = 1;
bitmap_obstack_initialize (NULL); bitmap_obstack_initialize (NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment