This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix inline-1.C and inline-3.C testcases
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <rguenther at suse dot de>, Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 7 Feb 2013 10:54:41 +0100
- Subject: Re: Fix inline-1.C and inline-3.C testcases
- References: <20130205152714.GA14902@kam.mff.cuni.cz> <20130205155136.GO4385@tucnak.redhat.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Feb 05, 2013 at 04:51:36PM +0100, Jakub Jelinek wrote:
> On Tue, Feb 05, 2013 at 04:27:15PM +0100, Jan Hubicka wrote:
> > 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.
>
> Doesn't seem to be enough.
>
> gcc/testsuite/g++.dg/ipa/inline-3.C
> has
> /* { dg-final { cleanup-tree-dump "inline" } } */
> while supposedly it should have:
> /* { dg-final { cleanup-ipa-dump "inline" } } */
>
> Also,
> gcc/testsuite/gcc.dg/tree-ssa/inline-3.c
> is now failing, supposedly it should have --param added ?
Now in a form of patch. Tested on x86_64-linux, ok for trunk?
2013-02-07 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/55789
* g++.dg/ipa/inline-3.C: Use cleanup-ipa-dump instead of
cleanup-tree-dump.
* gcc.dg/tree-ssa/inline-3.c: Add
--param max-early-inliner-iterations=2 option.
--- gcc/testsuite/g++.dg/ipa/inline-3.C.jj 2013-02-05 12:06:08.000000000 +0100
+++ gcc/testsuite/g++.dg/ipa/inline-3.C 2013-02-07 10:51:46.619509404 +0100
@@ -26,4 +26,4 @@ int main(int argc, char **argv)
/* { 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-tree-dump "inline" } } */
+/* { dg-final { cleanup-ipa-dump "inline" } } */
--- gcc/testsuite/gcc.dg/tree-ssa/inline-3.c.jj 2010-10-07 19:44:57.000000000 +0200
+++ gcc/testsuite/gcc.dg/tree-ssa/inline-3.c 2013-02-07 10:51:00.653777552 +0100
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-einline" } */
+/* { dg-options "-O2 -fdump-tree-einline --param max-early-inliner-iterations=2" } */
/* { dg-add-options bind_pic_locally } */
extern void inlined ();
Jakub