Commit 282ec48e by Richard Guenther Committed by Richard Biener

re PR middle-end/47664 (early inliner now needs iteration for multiple calls)

2011-02-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/47664
	* ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
	all edges again.

	* gcc.dg/tree-ssa/inline-7.c: New testcase.

From-SVN: r169983
parent 5d85c0e3
2011-02-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47664
* ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
all edges again.
2011-02-09 David Edelsohn <dje.gcc@gmail.com>
* config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
......
......@@ -1643,7 +1643,6 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node,
during incremental inlining. */
&& !node->local.disregard_inline_limits)
{
bitmap visited = BITMAP_ALLOC (NULL);
for (e = node->callees; e; e = e->next_callee)
{
int allowed_growth = 0;
......@@ -1651,10 +1650,6 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node,
|| !e->inline_failed
|| e->callee->local.disregard_inline_limits)
continue;
/* We are inlining a function to all call-sites in node
or to none. So visit each candidate only once. */
if (!bitmap_set_bit (visited, e->callee->uid))
continue;
if (dump_file)
fprintf (dump_file, "Considering inline candidate %s.\n",
cgraph_node_name (e->callee));
......@@ -1727,7 +1722,6 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node,
inlined = true;
}
}
BITMAP_FREE (visited);
}
return inlined;
}
......
2011-02-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47664
* gcc.dg/tree-ssa/inline-7.c: New testcase.
2011-02-09 Eric Botcazou <ebotcazou@adacore.com>
PR middle-end/47646
......
/* { dg-do compile } */
/* { dg-options "-O -fdump-tree-einline" } */
void foo0();
inline void bar0() { foo0(); }
void foobar() { bar0(); bar0(); bar0(); }
/* { dg-final { scan-tree-dump "Iterations: 1" "einline" } } */
/* { dg-final { cleanup-tree-dump "einline" } } */
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