On Tue, Mar 30, 2010 at 10:42 AM, Martin Jambor <mjam...@suse.cz> wrote:
> 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

OK.

Janis

> 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