lto.exp (lto_init): Test slib lto and no-liker-plugin path.

* lib/lto.exp (lto_init): Test slib lto and no-liker-plugin path.
	* lto/gcc-dg.exp (check_effective_target_lto): Likewise.
	* lto/c-torture.exp: Likewise.
	* execute/bultins/strstr-asm.c: Force fat LTO.
	* gcc.c-torture/compile/sync-1.c: Likewise.
	* gcc.c-torture/compile/sync-1.c: Likewise.
	* gcc.c-torture/compile/sync-3.c: Likewise.
	* gcc.dg/noncompile/invalid_asm.c: Likewise.
	* gcc.dg/noncompile/920507-1.c: Likewise.
	* gcc.dg/torture/pr36400.c: Likewise.
	* g++.dg/torture/pr34850.C: Likewise.

From-SVN: r180245
This commit is contained in:
Jan Hubicka 2011-10-20 13:33:07 +02:00 committed by Jan Hubicka
parent 1d6d1a9214
commit c1a7cdbbcc
12 changed files with 67 additions and 16 deletions

View file

@ -1,3 +1,17 @@
2011-10-19 Jan Hubicka <jh@suse.cz>
* lib/lto.exp (lto_init): Test slib lto and no-liker-plugin path.
* lto/gcc-dg.exp (check_effective_target_lto): Likewise.
* lto/c-torture.exp: Likewise.
* execute/bultins/strstr-asm.c: Force fat LTO.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-3.c: Likewise.
* gcc.dg/noncompile/invalid_asm.c: Likewise.
* gcc.dg/noncompile/920507-1.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* g++.dg/torture/pr34850.C: Likewise.
2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/source_ref1.adb: New test.

View file

@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
/* { dg-options "-ffat-lto-objects" } */
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;

View file

@ -1,5 +1,6 @@
/* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */
/* { dg-message "note: '__sync_nand_and_fetch' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */
/* { dg-options "-ffat-lto-objects" } */
/* Validate that each of the __sync builtins compiles. This won't
necessarily link, since the target might not support the builtin,

View file

@ -1,4 +1,5 @@
/* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */
/* { dg-options "-ffat-lto-objects" } */
/* Validate that each of the __sync builtins compiles. This won't
necessarily link, since the target might not support the builtin,

View file

@ -1,4 +1,5 @@
/* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */
/* { dg-options "-ffat-lto-objects" } */
/* Validate that each of the __sync builtins compiles. This won't
necessarily link, since the target might not support the builtin,

View file

@ -2,6 +2,7 @@
Ensure all expected transformations of builtin strstr occur and
perform correctly in presence of redirect. */
/* { dg-options "-ffat-lto-objects" } */
#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname)
#define ASMNAME2(prefix, cname) STRING (prefix) cname

View file

@ -1,3 +1,4 @@
/* { dg-options "-ffat-lto-objects" } */
int *
x(void)
{

View file

@ -1,3 +1,4 @@
/* { dg-options "-ffat-lto-objects" } */
asm_invalid_register_name()
{
asm("":::"this_is_an_invalid_register_name"); /* { dg-error "unknown register" } */

View file

@ -1,4 +1,5 @@
/* { dg-do compile } */
/* { dg-options "-ffat-lto-objects" } */
struct barstruct { char const* some_string; };

View file

@ -52,10 +52,19 @@ if [info exists ADDITIONAL_TORTURE_OPTIONS] {
set LTO_TORTURE_OPTIONS ""
if [check_effective_target_lto] {
set LTO_TORTURE_OPTIONS [list \
{ -O2 -flto -flto-partition=none } \
{ -O2 -flto }
]
# When having plugin test both slim and fat LTO and plugin/nonplugin
# path.
if [check_linker_plugin_available] {
set LTO_TORTURE_OPTIONS [list \
{ -O2 -flto -fno-use-linker-plugin -flto-partition=none } \
{ -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects }
]
} else {
set LTO_TORTURE_OPTIONS [list \
{ -O2 -flto -flto-partition=none } \
{ -O2 -flto }
]
}
}
global GCC_UNDER_TEST

View file

@ -69,10 +69,19 @@ if [info exists ADDITIONAL_TORTURE_OPTIONS] {
set LTO_TORTURE_OPTIONS ""
if [check_effective_target_lto] {
set LTO_TORTURE_OPTIONS [list \
{ -O2 -flto -flto-partition=none } \
{ -O2 -flto }
]
# When having plugin test both slim and fat LTO and plugin/nonplugin
# path.
if [check_linker_plugin_available] {
set LTO_TORTURE_OPTIONS [list \
{ -O2 -flto -fno-use-linker-plugin -flto-partition=none } \
{ -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects }
]
} else {
set LTO_TORTURE_OPTIONS [list \
{ -O2 -flto -flto-partition=none } \
{ -O2 -flto }
]
}
}

View file

@ -66,14 +66,25 @@ proc lto_init { args } {
# You can put this in the environment before site.exp is written or
# add it to site.exp directly.
if ![info exists LTO_OPTIONS] {
set LTO_OPTIONS [list \
{-O0 -flto -flto-partition=none } \
{-O2 -flto -flto-partition=none } \
{-O0 -flto -flto-partition=1to1 } \
{-O2 -flto -flto-partition=1to1 } \
{-O0 -flto} \
{-O2 -flto} \
]
if [check_linker_plugin_available] {
set LTO_OPTIONS [list \
{-O0 -flto -flto-partition=none -fuse-linker-plugin} \
{-O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects } \
{-O0 -flto -flto-partition=1to1 -fno-use-linker-plugin } \
{-O2 -flto -flto-partition=1to1 -fno-use-linker-plugin } \
{-O0 -flto -fuse-linker-plugin -fno-fat-lto-objects } \
{-O2 -flto -fuse-linker-plugin} \
]
} else {
set LTO_OPTIONS [list \
{-O0 -flto -flto-partition=none } \
{-O2 -flto -flto-partition=none } \
{-O0 -flto -flto-partition=1to1 } \
{-O2 -flto -flto-partition=1to1 } \
{-O0 -flto } \
{-O2 -flto} \
]
}
}
}