Breakage with "Update testsuite to run with slim LTO"
Hans-Peter Nilsson
hans-peter.nilsson@axis.com
Thu Oct 20 19:34:00 GMT 2011
> Date: Tue, 27 Sep 2011 19:23:22 +0200
> From: Jan Hubicka <hubicka@ucw.cz>
> this patch updates testsuite to cover both fat and slim LTO when linker plugin
> is used and also both linker plugin and collect2 paths. I didn't wanted to
> slow down testing too much so I just distributes the flags across existing runs
> with aim to maximize the coverage of testing matrix that is bit large now.
> I believe it is sufficient and testsuite now runs a bit faster than previously
> since slim LTO saves some effort.
>
> sync and pr34850 tests doesn't pass with slim LTO. The reason is that they
> excpects diagnostics that is output too late in compilation (usually at
> expansion time). These should be probably fixed as QOI issue but they are not
> real bug - the diagnostics will be output at linktime. I will open PR tracking
> this. We probably should output pretty much everything till end of early opts
> except for stuff that really looks for optimization results. Especially now
> when we handle always inline in early inlining.
>
> Honza
>
> * lib/lto.exp: When linker plugin is available test both
> plugin/non-plugin LTO paths as well as fat and slim LTO.
> lib/c-torture.exp: Likewise.
> lib/gcc-dg.exp: Likweise
Looks like this patch broke, for cris-elf with TOT binutils:
Running /tmp/hpautotest-gcc1/gcc/gcc/testsuite/gcc.dg/torture/dg-torture.exp ...
FAIL: gcc.dg/torture/cris-asm-mof-1.c scan-assembler in-asm: .mof
FAIL: gcc.dg/torture/cris-asm-mof-1.c scan-assembler out-asm: .mof
FAIL: gcc.dg/torture/cris-asm-mof-1.c scan-assembler in2-asm: .mof
FAIL: gcc.dg/torture/cris-asm-mof-1.c scan-assembler out2-asm: .mof
which for "-O2 -flto -fuse-linker-plugin -fno-fat-lto-objects"
don't produce any code. Is that expected?
If so, and if the required update is as for the test-cases you
updated, to add:
+ /* { dg-options "-ffat-lto-objects" } */
then IIUC you need to patch *all* torture tests that use
scan-assembler and scan-assembler-not. Alternatively, patch
somewhere else, like not passing it if certain directives are
used, like scan-assembler{,-not}. And either way, is it safe to
add that option always, not just when also passing "-flto" or
something?
brgds, H-P
More information about the Gcc-patches
mailing list