This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PR 58958: wrong aliasing info
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Marc Glisse <marc dot glisse at inria dot fr>, "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 5 Nov 2013 12:02:26 +0100
- Subject: Re: PR 58958: wrong aliasing info
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot DEB dot 2 dot 02 dot 1311012323530 dot 24250 at stedding dot saclay dot inria dot fr> <CAFiYyc0i9pNC=Jpz-1LpUx673fffJY0tDKAqD1AfYm_gbvmKcg at mail dot gmail dot com> <CAFiYyc0v-TwQACBDJ_0LORV4o7O6QBa3aFcDGD+1moZM4fYtYA at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1311041215080 dot 4556 at stedding dot saclay dot inria dot fr> <CAFiYyc0of0u8J0Kg4p8hUnRDcEA+a9049HxL34hjTZ84pOdi+w at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1311041758590 dot 7063 at stedding dot saclay dot inria dot fr> <e93ef27e-8ab3-47c0-a52d-3dbb0dc37168 at email dot android dot com> <alpine dot DEB dot 2 dot 02 dot 1311051132590 dot 30766 at stedding dot saclay dot inria dot fr>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Nov 05, 2013 at 11:40:02AM +0100, Marc Glisse wrote:
> >Well, you cannot use the size argument unchanged for the null
> >return case. You could fallback to get_base_address and -1 size
> >in that case.
>
> Like this? Bootstrap+testsuite on x86_64-unknown-linux-gnu.
> (I think I'll disable cilk for my future bootstraps: it takes
> forever and confuses contrib/compare_tests)
Ah, I was wondering why my make check times (admittedly
--enable-checking=yes,rtl but I've done that for years) went up drastically
between Friday and Monday (from around 40 minutes to 70 minutes or more).
That is clearly highly undesirable. Looking at
gcc.dg/cilk-plus/cilk-plus.exp
it seems every test is run 24 resp. 25 times, that is clearly way too much,
sure, we have torture kind of tests, but that is typically 6 or 8 times at
most, and it also depends on how expensive the tests are.
As the /AN/ tests were already preexisting, I guess we are talking about
the 9 new /CK/ dg-do run tests, so first of all, they must be very expensive
themselves, times 25:
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus $ALWAYS_CFLAGS " " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O0 -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O1 -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -ftree-vectorize -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O0 -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O1 -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O2 -ftree-vectorize -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O3 -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -ftree-vectorize -fcilkplus -g $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O0 -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O1 -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O2 -ftree-vectorize -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O3 -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O0 -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O1 -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O2 -ftree-vectorize -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O3 -std=c99 $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -ftree-vectorize -std=c99 -g -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O0 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
It doesn't make sense to test -g at all levels, just test it for one or two, it doesn't
make sense to test say no -O* vs. -O0, that is the same thing, or -O3 vs. -O3 -ftree-vectorize,
that is the same thing, testing -std=c99 vs. default is reasonable for compile time tests
if they particularly care for some reason, otherwise, just attach -std=c99 to one (doesn't matter
which one) variant. So, please change this to at most 7 or so variants, and even then, if some of
the test is really expensive, use it as dg-do compile for all variants and dg-do run just for
one (say -O2 -ftree-vectorize or -O3 -g).
Jakub