Commit 21ecdec5 by Jan Hubicka Committed by Jan Hubicka

re PR middle-end/39834 (verify_cgraph_node failed with -O3 -Winline)


	PR debug/39834
	* gcc.dg/torture/pr39834.c
	PR middle-end/39834
	* cgraphunit.c (save_inline_function_body): Do not copy transform hooks
	for saved inline bodies.
	* ipa-passes.c (do_per_function): Do not add the hoks multiple times
	for given function.

From-SVN: r148292
parent 568e8e1e
2009-06-08 Jan Hubicka <jh@suse.cz>
PR middle-end/39834
* cgraphunit.c (save_inline_function_body): Do not copy transform hooks
for saved inline bodies.
* ipa-passes.c (do_per_function): Do not add the hoks multiple times
for given function.
2009-06-08 Adam Nemet <anemet@caviumnetworks.com>
* jump.c (returnjump_p): Handle delayed branches. Add missing
......
......@@ -1688,6 +1688,9 @@ save_inline_function_body (struct cgraph_node *node)
DECL_ONE_ONLY (first_clone->decl) = 0;
TREE_PUBLIC (first_clone->decl) = 0;
DECL_COMDAT (first_clone->decl) = 0;
VEC_free (ipa_opt_pass, heap,
DECL_STRUCT_FUNCTION (first_clone->decl)->ipa_transforms_to_apply);
DECL_STRUCT_FUNCTION (first_clone->decl)->ipa_transforms_to_apply = NULL;
#ifdef ENABLE_CHECKING
verify_cgraph_node (first_clone);
......
......@@ -844,7 +844,8 @@ do_per_function (void (*callback) (void *data), void *data)
{
struct cgraph_node *node;
for (node = cgraph_nodes; node; node = node->next)
if (node->analyzed && gimple_has_body_p (node->decl))
if (node->analyzed && gimple_has_body_p (node->decl)
&& (!node->clone_of || node->decl != node->clone_of->decl))
{
push_cfun (DECL_STRUCT_FUNCTION (node->decl));
current_function_decl = node->decl;
......
2009-06-08 Jan Hubicka <jh@suse.cz>
PR debug/39834
* gcc.dg/torture/pr39834.c
2009-06-08 Jan Hubicka <jh@suse.cz>
PR middle-end/40102
* g++.dg/torture/pr40102.C: New testcase.
......
/* { dg-options "-O1 -Winline" } */
void quit_mined ();
void bottom_line ();
typedef enum { False, True } FLAG;
inline void
nextfile (FLAG exitiflast)
{
if (exitiflast)
quit_mined ();
else
bottom_line ();
nextfile (True);
}
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