Hi,

On Tue, Mar 30, 2010 at 10:14:16AM -0700, Janis Johnson wrote:
> On Tue, Mar 30, 2010 at 7:09 AM, Martin Jambor <mjam...@suse.cz> wrote:
> > On Tue, Mar 30, 2010 at 12:43:39AM +0200, Jan Hubicka wrote:
> >> > I have run the testcase with the early inliner disabled and noticed
> >> > that gcc.dg/guality/inline-params.c XPASSes with early inlining and
> >> > XFAILs without it.  The reason for the (expected) failure is that
> >> > IPA-CP removes a parameter which is constant (but also unused?).  I
> >> > reckon this is the reason for the xfail mark and so I guess that early
> >> > inlining should be disabled in the particular testcase, am I right?
> >>
> >> Well, I guess we should be able to maintain debug info with IPA-CP changes
> >> (only case where debugging info is difficult to maintain IMO is the case
> >> of unused argument removal that is explicitely disabled here).  So I guess
> >> in a way this is correct XFAIL...
> >
> > I thought so.  The patch below turns at least some of the XPASSes into
> > XFAILs.  The XPASSes remain with switch combinations when IPA-CP is
> > not run, I don't know how to get rid of them.  Specifically it turns
> >
> > XPASS: gcc.dg/guality/inline-params.c  -O0  execution test
> > XPASS: gcc.dg/guality/inline-params.c  -O1  execution test
> > XPASS: gcc.dg/guality/inline-params.c  -O2  execution test
> > XPASS: gcc.dg/guality/inline-params.c  -O3 -fomit-frame-pointer  execution 
> > test
> > XPASS: gcc.dg/guality/inline-params.c  -O3 -g  execution test
> > XPASS: gcc.dg/guality/inline-params.c  -Os  execution test
> > XFAIL: gcc.dg/guality/inline-params.c  -O2 -flto  execution test
> > XFAIL: gcc.dg/guality/inline-params.c  -O2 -fwhopr  execution test
> >
> > into
> >
> > XPASS: gcc.dg/guality/inline-params.c  -O0  execution test
> > XPASS: gcc.dg/guality/inline-params.c  -O1  execution test
> > XFAIL: gcc.dg/guality/inline-params.c  -O2  execution test
> > XFAIL: gcc.dg/guality/inline-params.c  -O3 -fomit-frame-pointer  execution 
> > test
> > XFAIL: gcc.dg/guality/inline-params.c  -O3 -g  execution test
> > XFAIL: gcc.dg/guality/inline-params.c  -Os  execution test
> > XFAIL: gcc.dg/guality/inline-params.c  -O2 -flto  execution test
> > XPASS: gcc.dg/guality/inline-params.c  -O2 -fwhopr  execution test
> >
> > Only now I have noticed the XFAIL->XPASS in whopr, I wonder what to do
> > with that (if anything)...
> 
> Take a look at the documentation for dg-xfail-run-if in
> http://gcc.gnu.org/onlinedocs/gccint/Directives.html#Directives and see if
> that helps.
> 

Thanks!.  The improved patch below turns the output into what it
should be:

PASS: gcc.dg/guality/inline-params.c  -O0  execution test
PASS: gcc.dg/guality/inline-params.c  -O1  execution test
XFAIL: gcc.dg/guality/inline-params.c  -O2  execution test
XFAIL: gcc.dg/guality/inline-params.c  -O3 -fomit-frame-pointer  execution test
XFAIL: gcc.dg/guality/inline-params.c  -O3 -g  execution test
XFAIL: gcc.dg/guality/inline-params.c  -Os  execution test
XFAIL: gcc.dg/guality/inline-params.c  -O2 -flto  execution test
PASS: gcc.dg/guality/inline-params.c  -O2 -fwhopr  execution test

OK for trunk?

Martin


2010-03-30  Martin Jambor  <mjam...@suse.cz>

        * inline-params.c: Disable early inlining.  Xfail run only with -O2,
        -O3 or -Os and not with -fwhopr.

Index: gcc/testsuite/gcc.dg/guality/inline-params.c
===================================================================
--- gcc/testsuite/gcc.dg/guality/inline-params.c        (revision 157786)
+++ gcc/testsuite/gcc.dg/guality/inline-params.c        (working copy)
@@ -1,6 +1,10 @@
-/* { dg-do run { xfail *-*-* } } */
-/* IPA-SRA removes the argumet as dead, so we don't see their values.  */
-/* { dg-options "-g -fno-ipa-sra" } */
+/* { dg-do run } */
+/* IPA-SRA removes the argumet as dead, so we don't see their values, early
+   inlining inlines the functions too early to test the real IPA passes (such
+   as IPA-CP). */
+/* { dg-options "-g -fno-early-inlining -fno-ipa-sra" } */
+/* { dg-xfail-run-if "" { "*-*-*" } { "-O2" "-O3" "-Os" } { "-fwhopr" } } */
+
 #define GUALITY_DONT_FORCE_LIVE_AFTER -1
 
 #ifndef STATIC_INLINE

Reply via email to