On Thu, Jul 03, 2014 at 09:41:15AM +0200, Richard Biener wrote: > On July 3, 2014 7:37:13 AM CEST, Jakub Jelinek <ja...@redhat.com> wrote: > >On Wed, Jul 02, 2014 at 04:06:30PM -0700, Jason Merrill wrote: > >> I think that makes sense; I'm not aware of anyone working on > >improving LTO > >> debugging. > > > >I think at this point all we care about is that with -flto we don't ICE > >on > >those, perhaps we should arrange to change all the tests into dg-do > >compile > >with -flto and ignore all gdb-test and have some env var override which > >would force full testing also with -flto? > > I think the individual tests that currently fail can be appropriately > changed, no?
That is hard, as whether a test fails heavily depends on the optimization flags and targets, so maintaining xfails would be a nightmare. BTW, the trunk has lots of guality regressions even on x86_64-linux compared to 4.9 branch now :(, some of them are LTO only, but others are not. +FAIL: gcc.dg/guality/pr36728-1.c -O1 line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O1 line 18 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O2 line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O2 line 18 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O3 -fomit-frame-pointer line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O3 -fomit-frame-pointer line 18 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O3 -g line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O3 -g line 18 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -Os line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -Os line 18 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 18 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 18 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O1 line 14 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O1 line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O2 line 14 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O2 line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O3 -fomit-frame-pointer line 14 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O3 -fomit-frame-pointer line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O3 -g line 14 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O3 -g line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -Os line 14 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -Os line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 14 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 16 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 14 arg7 == 30 +FAIL: gcc.dg/guality/pr36728-3.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 16 arg7 == 30 -XPASS: gcc.dg/guality/pr41353-1.c -O1 line 28 j == 28 + 37 -XPASS: gcc.dg/guality/pr41353-1.c -O2 line 28 j == 28 + 37 -XPASS: gcc.dg/guality/pr41353-1.c -O3 -fomit-frame-pointer line 28 j == 28 + 37 -XPASS: gcc.dg/guality/pr41353-1.c -O3 -g line 28 j == 28 + 37 -XPASS: gcc.dg/guality/pr41353-1.c -Os line 28 j == 28 + 37 -XPASS: gcc.dg/guality/pr41353-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 28 j == 28 + 37 -XPASS: gcc.dg/guality/pr41353-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 28 j == 28 + 37 +FAIL: gcc.dg/guality/pr43051-1.c -O2 line 35 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O2 line 36 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O2 line 39 c == &a[0] +FAIL: gcc.dg/guality/pr43051-1.c -O2 line 40 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O2 line 41 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer line 35 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer line 36 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer line 39 c == &a[0] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer line 40 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer line 41 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-loops line 35 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-loops line 36 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-loops line 39 c == &a[0] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-loops line 40 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-loops line 41 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions line 35 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions line 36 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions line 39 c == &a[0] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions line 40 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions line 41 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -g line 35 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O3 -g line 36 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -g line 39 c == &a[0] +FAIL: gcc.dg/guality/pr43051-1.c -O3 -g line 40 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O3 -g line 41 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -Os line 35 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -Os line 36 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -Os line 39 c == &a[0] +FAIL: gcc.dg/guality/pr43051-1.c -Os line 40 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -Os line 41 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 35 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 36 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 39 c == &a[0] +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 40 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 41 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 35 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 36 e == &a[1] +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 39 c == &a[0] +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 40 v == 1 +FAIL: gcc.dg/guality/pr43051-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 41 e == &a[1] +FAIL: gcc.dg/guality/pr43177.c -O2 line 15 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O2 line 15 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O2 line 24 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O2 line 24 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O3 -fomit-frame-pointer line 15 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O3 -fomit-frame-pointer line 15 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O3 -fomit-frame-pointer line 24 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O3 -fomit-frame-pointer line 24 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O3 -g line 15 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O3 -g line 15 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O3 -g line 24 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O3 -g line 24 x == 7 +FAIL: gcc.dg/guality/pr43177.c -Os line 15 l == 10 +FAIL: gcc.dg/guality/pr43177.c -Os line 15 x == 7 +FAIL: gcc.dg/guality/pr43177.c -Os line 24 l == 10 +FAIL: gcc.dg/guality/pr43177.c -Os line 24 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 15 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 15 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 24 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 24 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 15 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 15 x == 7 +FAIL: gcc.dg/guality/pr43177.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 24 l == 10 +FAIL: gcc.dg/guality/pr43177.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 24 x == 7 +FAIL: gcc.dg/guality/pr43479.c -O1 line 13 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O1 line 18 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O2 line 13 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O2 line 18 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O3 -fomit-frame-pointer line 13 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O3 -fomit-frame-pointer line 18 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O3 -g line 13 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O3 -g line 18 h == 9 +FAIL: gcc.dg/guality/pr43479.c -Os line 13 h == 9 +FAIL: gcc.dg/guality/pr43479.c -Os line 18 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 13 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 18 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 13 h == 9 +FAIL: gcc.dg/guality/pr43479.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 18 h == 9 +FAIL: gcc.dg/guality/pr45003-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 10 a == 0x8078 +FAIL: gcc.dg/guality/pr45882.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 16 d == 112 +FAIL: gcc.dg/guality/pr45882.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 16 e == 142 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 20 x == 36 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 23 x == 98 +FAIL: gcc.dg/guality/pr54519-4.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 17 x == 6 +FAIL: gcc.dg/guality/sra-1.c -O2 line 21 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O2 line 21 a.j == 14 +FAIL: gcc.dg/guality/sra-1.c -O2 line 43 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O3 -fomit-frame-pointer line 21 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O3 -fomit-frame-pointer line 21 a.j == 14 +FAIL: gcc.dg/guality/sra-1.c -O3 -fomit-frame-pointer line 43 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O3 -g line 21 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O3 -g line 21 a.j == 14 +FAIL: gcc.dg/guality/sra-1.c -O3 -g line 43 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -Os line 21 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -Os line 21 a.j == 14 +FAIL: gcc.dg/guality/sra-1.c -Os line 43 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 21 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 21 a.j == 14 +FAIL: gcc.dg/guality/sra-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 43 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 21 a.i == 4 +FAIL: gcc.dg/guality/sra-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 21 a.j == 14 +FAIL: gcc.dg/guality/sra-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 43 a.i == 4 +FAIL: gcc.dg/guality/vla-2.c -O2 line 25 sizeof (a) == 6 * sizeof (int) +FAIL: gcc.dg/guality/vla-2.c -O3 -fomit-frame-pointer line 25 sizeof (a) == 6 * sizeof (int) +FAIL: gcc.dg/guality/vla-2.c -O3 -g line 25 sizeof (a) == 6 * sizeof (int) +FAIL: gcc.dg/guality/vla-2.c -Os line 25 sizeof (a) == 6 * sizeof (int) +FAIL: gcc.dg/guality/vla-2.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 25 sizeof (a) == 6 * sizeof (int) +FAIL: gcc.dg/guality/vla-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 25 sizeof (a) == 6 * sizeof (int) Jakub