+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
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;
|| !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));
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
--- /dev/null
+/* { 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" } } */