This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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.