From 1292392ae0fa47277372052e2571917150dea411 Mon Sep 17 00:00:00 2001 From: rguenth Date: Wed, 9 Feb 2011 20:04:56 +0000 Subject: [PATCH] 2011-02-09 Richard Guenther PR tree-optimization/47664 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit all edges again. * gcc.dg/tree-ssa/inline-7.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169983 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/ipa-inline.c | 6 ------ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/tree-ssa/inline-7.c | 9 +++++++++ 4 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/inline-7.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c8de80..0b46ae8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-02-09 Richard Guenther + + PR tree-optimization/47664 + * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit + all edges again. + 2011-02-09 David Edelsohn * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 8087c81..1d5b001 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -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; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b5e1cb9..8f26a77 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-02-09 Richard Guenther + + PR tree-optimization/47664 + * gcc.dg/tree-ssa/inline-7.c: New testcase. + 2011-02-09 Eric Botcazou PR middle-end/47646 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/inline-7.c b/gcc/testsuite/gcc.dg/tree-ssa/inline-7.c new file mode 100644 index 0000000..16c3c86 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/inline-7.c @@ -0,0 +1,9 @@ +/* { 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" } } */ -- 2.7.4