cgraph.c (cgraph_add_new_function): When in expansion state, do lowering.
* cgraph.c (cgraph_add_new_function): When in expansion state, do lowering. * method.c: Include cgraph.h. (use_thunk): Use cgraph_add_new_function instead of calling backend directly. From-SVN: r136892
This commit is contained in:
parent
b7352f3f9a
commit
ff2c88a561
|
@ -1,3 +1,8 @@
|
||||||
|
2008-06-16 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
|
* cgraph.c (cgraph_add_new_function): When in expansion state, do
|
||||||
|
lowering.
|
||||||
|
|
||||||
2008-06-16 Jan Hubicka <jh@suse.cz>
|
2008-06-16 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
* tree-outof-ssa.c (pass_out_of_ssa): Do not depend on PROP_alias.
|
* tree-outof-ssa.c (pass_out_of_ssa): Do not depend on PROP_alias.
|
||||||
|
|
15
gcc/cgraph.c
15
gcc/cgraph.c
|
@ -1052,6 +1052,21 @@ cgraph_add_new_function (tree fndecl, bool lowered)
|
||||||
node->local.local = false;
|
node->local.local = false;
|
||||||
node->local.finalized = true;
|
node->local.finalized = true;
|
||||||
node->reachable = node->needed = true;
|
node->reachable = node->needed = true;
|
||||||
|
if (!lowered && cgraph_state == CGRAPH_STATE_EXPANSION)
|
||||||
|
{
|
||||||
|
push_cfun (DECL_STRUCT_FUNCTION (fndecl));
|
||||||
|
current_function_decl = fndecl;
|
||||||
|
tree_register_cfg_hooks ();
|
||||||
|
tree_lowering_passes (fndecl);
|
||||||
|
bitmap_obstack_initialize (NULL);
|
||||||
|
if (!gimple_in_ssa_p (DECL_STRUCT_FUNCTION (fndecl)))
|
||||||
|
execute_pass_list (pass_early_local_passes.pass.sub);
|
||||||
|
bitmap_obstack_release (NULL);
|
||||||
|
pop_cfun ();
|
||||||
|
current_function_decl = NULL;
|
||||||
|
|
||||||
|
lowered = true;
|
||||||
|
}
|
||||||
if (lowered)
|
if (lowered)
|
||||||
node->lowered = true;
|
node->lowered = true;
|
||||||
node->next_needed = cgraph_new_nodes;
|
node->next_needed = cgraph_new_nodes;
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2008-06-16 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
|
* method.c: Include cgraph.h.
|
||||||
|
(use_thunk): Use cgraph_add_new_function instead of calling backend
|
||||||
|
directly.
|
||||||
|
|
||||||
2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
* parser.c: Fix comment typo.
|
* parser.c: Fix comment typo.
|
||||||
|
|
|
@ -38,6 +38,7 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include "tree-pass.h"
|
#include "tree-pass.h"
|
||||||
#include "diagnostic.h"
|
#include "diagnostic.h"
|
||||||
|
#include "cgraph.h"
|
||||||
|
|
||||||
/* Various flags to control the mangling process. */
|
/* Various flags to control the mangling process. */
|
||||||
|
|
||||||
|
@ -523,8 +524,7 @@ use_thunk (tree thunk_fndecl, bool emit_p)
|
||||||
pop_deferring_access_checks ();
|
pop_deferring_access_checks ();
|
||||||
|
|
||||||
thunk_fndecl = finish_function (0);
|
thunk_fndecl = finish_function (0);
|
||||||
tree_lowering_passes (thunk_fndecl);
|
cgraph_add_new_function (thunk_fndecl, false);
|
||||||
tree_rest_of_compilation (thunk_fndecl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pop_from_top_level ();
|
pop_from_top_level ();
|
||||||
|
|
Loading…
Reference in New Issue