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" } } */

Reply via email to