This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR33092: [4.3 Regression] Using -O1 -fno-tree-salias results in ICE


On Jan 18, 2008 7:18 PM, Manuel López-Ibáñez <lopezibanez@gmail.com> wrote:
> On 18/01/2008, Richard Guenther <richard.guenther@gmail.com> wrote:
> > On Jan 18, 2008 1:27 PM, Manuel López-Ibáñez <lopezibanez@gmail.com> wrote:
> > > On 18/01/2008, Richard Guenther <richard.guenther@gmail.com> wrote:
> > > >
> > > > Can you instead of the fancy gate simply make that alias pass unconditional
> > > > and return 0 from create_structure_vars instead of TODO_rebuild_alias?
> > > >
> > >
> > > That will change the output of dumping the salias pass
> > > (create_structure_vars). I tried. I could update the broken tests
> > > (around 8), but I think it isn't worth it. Probably some people rely
> > > on the output of salias to stay as it is.
> > >
> > > But it is your call, not mine.
> >
> > Hm, yeah.  Danny changed the testcases to look in salias.
> >
> > Your original patch is ok then.  Did you check whether -fno-tree-salias
> > results in a working compiler, that is, we don't start miscompiling random
> > functions?  (I know I was arguing to simply remove the -ftree-salias option)
>
> No, I didn't. How should I check that? I tried bootstrapping with
> BOOT_CFLAGS='-g -O2 -fno-tree-salias' and it didn't complain, but
> there are many places where BOOT_CFLAGS seems to be ignored.
>
> However, running the regression testsuite on the bootstrapped compiler
> led to a few new failures:

I would suggest running regression tests with -fno-tree-salias as extra flag.
You can do so via

make check RUNTESTFLAGS="--target_board=unix/-fno-tree-salias"

> gcc.dg/struct/wo_prof_malloc_size_var.c (internal compiler error)
> gcc.dg/struct/wo_prof_malloc_size_var.c (test for excess errors)
> gcc.dg/torture/builtin-math-2.c  -O0  (test for excess errors)
> gcc.dg/torture/builtin-math-2.c  -O1  (test for excess errors)
> gcc.dg/torture/builtin-math-2.c  -O2  (test for excess errors)
> gcc.dg/torture/builtin-math-2.c  -O3 -fomit-frame-pointer
> -funroll-all-loops -finline-functions  (test for excess errors)
> gcc.dg/torture/builtin-math-2.c  -O3 -fomit-frame-pointer
> -funroll-loops  (test for excess errors)
> gcc.dg/torture/builtin-math-2.c  -O3 -fomit-frame-pointer  (test for
> excess errors)
> gcc.dg/torture/builtin-math-2.c  -O3 -g  (test for excess errors)
> gcc.dg/torture/builtin-math-2.c  -Os  (test for excess errors)
> gcc.dg/torture/builtin-math-4.c  -O0  (test for excess errors)
> gcc.dg/torture/builtin-math-4.c  -O1  (test for excess errors)
> gcc.dg/torture/builtin-math-4.c  -O2  (test for excess errors)
> gcc.dg/torture/builtin-math-4.c  -O3 -fomit-frame-pointer
> -funroll-all-loops -finline-functions  (test for excess errors)
> gcc.dg/torture/builtin-math-4.c  -O3 -fomit-frame-pointer
> -funroll-loops  (test for excess errors)
> gcc.dg/torture/builtin-math-4.c  -O3 -fomit-frame-pointer  (test for
> excess errors)
> gcc.dg/torture/builtin-math-4.c  -O3 -g  (test for excess errors)
> gcc.dg/torture/builtin-math-4.c  -Os  (test for excess errors)
> gcc.dg/torture/builtin-pow-mpfr-1.c  -O0  scan-tree-dump original "pow"
> gcc.dg/torture/builtin-pow-mpfr-1.c  -O1  scan-tree-dump original "pow"
> gcc.dg/torture/builtin-pow-mpfr-1.c  -O2  scan-tree-dump original "pow"
> gcc.dg/torture/builtin-pow-mpfr-1.c  -O3 -fomit-frame-pointer
> scan-tree-dump original "pow"
> gcc.dg/torture/builtin-pow-mpfr-1.c  -O3 -g  scan-tree-dump original "pow"
> gcc.dg/torture/builtin-pow-mpfr-1.c  -Os  scan-tree-dump original "pow"
> gfortran.dg/common_6.f90  -O  (internal compiler error)
> gfortran.dg/common_6.f90  -O  (test for excess errors)
>
> So perhaps we should just remove -ftree-salias.

I would be in favor of that.

Thanks,
Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]