Hi,
I managed to get an accidental commit on those two testcases without an
ChangeLog entry.
I just commit the missing ChangeLog and the following patch that should make
them pass.
just in a case you wonder what are the tests about. I disabled iteration on
early inliner
that makes it to mis some cases of indirect inlining that are now handled by
later
inliner. The tree-ssa/inline-?.C testcases tests that early inliner with large
enough
iteration counts still does the optimization, while ipa/inline-?.C are the same
testcases with no iteration and test that late inline picks the optimization
too.
The motivation for the change was early inliner doing funny things on
non-trivial recursion
especially with early-inlining-insns bumped up.
My apologizes,
Honza
Index: g++.dg/tree-ssa/inline-3.C
===================================================================
--- g++.dg/tree-ssa/inline-3.C (revision 195751)
+++ g++.dg/tree-ssa/inline-3.C (working copy)
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-einline --param
max-early-inliner-iterations=3" } */
+/* { dg-options "-O2 -fdump-tree-einline --param
max-early-inliner-iterations=5" } */
/* { dg-add-options bind_pic_locally } */
#include <algorithm>
Index: g++.dg/ipa/inline-1.C
===================================================================
--- g++.dg/ipa/inline-1.C (revision 195751)
+++ g++.dg/ipa/inline-1.C (working copy)
@@ -31,6 +31,6 @@ int main(int argc, char **argv)
foreach (argv, argv + argc, inline_me_too);
}
-/* { dg-final { scan-tree-dump-times "Considering void inline_me\\(" 1
"inline"} } */
-/* { dg-final { scan-tree-dump-times "Considering void inline_me_too\\(" 1
"inline"} } */
-/* { dg-final { cleanup-tree-dump "einline" } } */
+/* { dg-final { scan-ipa-dump-times "Considering void inline_me\\(" 1
"inline"} } */
+/* { dg-final { scan-ipa-dump-times "Considering void inline_me_too\\(" 1
"inline"} } */
+/* { dg-final { cleanup-ipa-dump "inline" } } */