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