diff options
author | Richard Guenther <rguenther@suse.de> | 2011-03-23 14:49:20 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-03-23 14:49:20 +0000 |
commit | b8beb4d13e5c51a50507cb2be345773fa162fce7 (patch) | |
tree | 27710f16ee41da3dc8f723aab9670e1f23070da5 /gcc/testsuite | |
parent | 40fb503382f36106a942801ad3563821011f4609 (diff) | |
download | gcc-b8beb4d13e5c51a50507cb2be345773fa162fce7.zip gcc-b8beb4d13e5c51a50507cb2be345773fa162fce7.tar.gz gcc-b8beb4d13e5c51a50507cb2be345773fa162fce7.tar.bz2 |
Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
2011-03-23 Richard Guenther <rguenther@suse.de>
* Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
(OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
(tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
(alias.o): Likewise.
(ipa-type-escape.o): Remove.
(ipa-struct-reorg.o): Likewise.
(GTFILES): Remove ipa-struct-reorg.c.
* alias.c: Do not include ipa-type-escape.h.
* tree-ssa-alias.c: Likewise.
* common.opt (fipa-struct-reorg): Preserve for backward compatibility.
* opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
* passes.c (init_optimization_passes): Remove ipa-struct-reorg
and ipa-type-escape passes.
* tree-pass.h (pass_ipa_type_escape): Remove.
(pass_ipa_struct_reorg): Likewise.
* ipa-struct-reorg.h: Remove.
* ipa-struct-reorg.c: Likewise.
* ipa-type-escape.h: Likewise.
* ipa-type-escape.c: Likewise.
* doc/invoke.texi (-fipa-struct-reorg): Remove.
(--param struct-reorg-cold-struct-ratio): Likewise.
* params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
* params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
* timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
* gcc.dg/struct: Remove directory and contents.
From-SVN: r171352
Diffstat (limited to 'gcc/testsuite')
29 files changed, 4 insertions, 1180 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5e4e3d0..e6d799d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2011-03-23 Richard Guenther <rguenther@suse.de> + + * gcc.dg/struct: Remove directory and contents. + 2011-03-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR testsuite/48251 diff --git a/gcc/testsuite/gcc.dg/struct/struct-reorg.exp b/gcc/testsuite/gcc.dg/struct/struct-reorg.exp deleted file mode 100644 index a18b11d..0000000 --- a/gcc/testsuite/gcc.dg/struct/struct-reorg.exp +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright (C) 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING3. If not see -# <http://www.gnu.org/licenses/>. - -# Test the functionality of programs compiled with profile-directed structure -# rearrangement using -fprofile-generate followed by -fprofile-use. - -load_lib gcc-dg.exp -load_lib target-supports.exp - -set STRUCT_REORG_CFLAGS "-O3 -fipa-struct-reorg -fdump-ipa-all -fwhole-program" - -# Initialize `dg'. -dg-init - -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/wo_prof_*.c]] "" $STRUCT_REORG_CFLAGS - -dg-final - -# Some targets don't support tree profiling. -if { ![check_profiling_available ""] } { - return -} - -# The procedures in profopt.exp need these parameters. -set tool gcc -set prof_ext "gcda" - -# Override the list defined in profopt.exp. -set PROFOPT_OPTIONS [list {}] - -if $tracelevel then { - strace $tracelevel -} - -# Load support procs. -load_lib profopt.exp - -# These are globals used by profopt-execute. The first is options -# needed to generate profile data, the second is options to use the -# profile data. -set common "-O3 -fwhole-program" -set profile_option [concat $common " -fprofile-generate"] -set feedback_option [concat $common " -fprofile-use -fipa-struct-reorg -fdump-ipa-all"] - -foreach src [lsort [glob -nocomplain $srcdir/$subdir/w_prof_*.c]] { - # If we're only testing specific files and this isn't one of them, skip it. - if ![runtest_file_p $runtests $src] then { - continue - } - profopt-execute $src -} - -set feedback_option [concat $feedback_option " --param struct-reorg-cold-struct-ratio=30"] - -foreach src [lsort [glob -nocomplain $srcdir/$subdir/w_ratio_*.c]] { - # If we're only testing specific files and this isn't one of them, skip it. - if ![runtest_file_p $runtests $src] then { - continue - } - profopt-execute $src -} diff --git a/gcc/testsuite/gcc.dg/struct/w_prof_global_array.c b/gcc/testsuite/gcc.dg/struct/w_prof_global_array.c deleted file mode 100644 index ca3643e..0000000 --- a/gcc/testsuite/gcc.dg/struct/w_prof_global_array.c +++ /dev/null @@ -1,30 +0,0 @@ -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#define N 1000 -str_t A[N]; - -int -main () -{ - int i; - - for (i = 0; i < N; i++) - { - A[i].a = 0; - } - - for (i = 0; i < N; i++) - if (A[i].a != 0) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final-use { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/w_prof_global_var.c b/gcc/testsuite/gcc.dg/struct/w_prof_global_var.c deleted file mode 100644 index baff45d..0000000 --- a/gcc/testsuite/gcc.dg/struct/w_prof_global_var.c +++ /dev/null @@ -1,43 +0,0 @@ -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -str_t *p; - -int -main () -{ - int i, sum; - - p = malloc (N * sizeof (str_t)); - if (p == NULL) - return 0; - for (i = 0; i < N; i++) - p[i].b = i; - - for (i = 0; i < N; i++) - p[i].a = p[i].b + 1; - - for (i = 0; i < N; i++) - if (p[i].a != p[i].b + 1) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final-use { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/w_prof_local_array.c b/gcc/testsuite/gcc.dg/struct/w_prof_local_array.c deleted file mode 100644 index 8953264..0000000 --- a/gcc/testsuite/gcc.dg/struct/w_prof_local_array.c +++ /dev/null @@ -1,38 +0,0 @@ -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -int -main () -{ - int i; - str_t A[N]; - - for (i = 0; i < N; i++) - { - A[i].a = 0; - } - - for (i = 0; i < N; i++) - if (A[i].a != 0) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final-use { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/w_prof_local_var.c b/gcc/testsuite/gcc.dg/struct/w_prof_local_var.c deleted file mode 100644 index 9a23f8d..0000000 --- a/gcc/testsuite/gcc.dg/struct/w_prof_local_var.c +++ /dev/null @@ -1,41 +0,0 @@ -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -int -main () -{ - int i, sum; - - str_t * p = malloc (N * sizeof (str_t)); - if (p == NULL) - return 0; - for (i = 0; i < N; i++) - p[i].b = i; - - for (i = 0; i < N; i++) - p[i].a = p[i].b + 1; - - for (i = 0; i < N; i++) - if (p[i].a != p[i].b + 1) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final-use { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/w_prof_single_str_global.c b/gcc/testsuite/gcc.dg/struct/w_prof_single_str_global.c deleted file mode 100644 index b020239..0000000 --- a/gcc/testsuite/gcc.dg/struct/w_prof_single_str_global.c +++ /dev/null @@ -1,33 +0,0 @@ -#include <stdlib.h> -typedef struct -{ - int a; - int b; -}str_t; - -#define N 3 - -str_t str; - -int -main () -{ - int i; - int res = 1<<(1<<N); - str.a = 2; - - for (i = 0; i < N; i++) - str.a = str.a * str.a; - - if (str.a != res) - abort (); - - /* POSIX ignores all but the 8 low-order bits, but other - environments may not. */ - return (str.a & 255); -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final-use { cleanup-ipa-dump "*" } } */ - diff --git a/gcc/testsuite/gcc.dg/struct/w_prof_two_strs.c b/gcc/testsuite/gcc.dg/struct/w_prof_two_strs.c deleted file mode 100644 index e9de98c..0000000 --- a/gcc/testsuite/gcc.dg/struct/w_prof_two_strs.c +++ /dev/null @@ -1,66 +0,0 @@ -#include <stdlib.h> - -typedef struct -{ - int a; - float b; -}str_t1; - -typedef struct -{ - int c; - float d; -}str_t2; - -#ifdef STACK_SIZE -#if STACK_SIZE > 16000 -#define N 1000 -#else -#define N (STACK_SIZE/16) -#endif -#else -#define N 1000 -#endif - -str_t1 *p1; -str_t2 *p2; -int num; - -void -foo (void) -{ - int i; - - for (i=0; i < num; i++) - p2[i].c = 2; -} - -int -main () -{ - int i, r; - - r = rand (); - num = r > N ? N : r; - p1 = malloc (num * sizeof (str_t1)); - p2 = malloc (num * sizeof (str_t2)); - - if (p1 == NULL || p2 == NULL) - return 0; - - for (i = 0; i < num; i++) - p1[i].a = 1; - - foo (); - - for (i = 0; i < num; i++) - if (p1[i].a != 1 || p2[i].c != 2) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final-use { scan-ipa-dump "Number of structures to transform is 2" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final-use { cleanup-ipa-dump "*" } } */ - diff --git a/gcc/testsuite/gcc.dg/struct/w_ratio_cold_str.c b/gcc/testsuite/gcc.dg/struct/w_ratio_cold_str.c deleted file mode 100644 index 3c26e3b..0000000 --- a/gcc/testsuite/gcc.dg/struct/w_ratio_cold_str.c +++ /dev/null @@ -1,43 +0,0 @@ -#include <stdlib.h> -typedef struct -{ - int a; - int b; -}str_t1; - -typedef struct -{ - float a; - float b; -}str_t2; - -#define N1 1000 -#define N2 100 -str_t1 A1[N1]; -str_t2 A2[N2]; - -int -main () -{ - int i; - - for (i = 0; i < N1; i++) - A1[i].a = 0; - - for (i = 0; i < N2; i++) - A2[i].a = 0; - - for (i = 0; i < N1; i++) - if (A1[i].a != 0) - abort (); - - for (i = 0; i < N2; i++) - if (A2[i].a != 0) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final-use { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_array_field.c b/gcc/testsuite/gcc.dg/struct/wo_prof_array_field.c deleted file mode 100644 index 5d5e37b4..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_array_field.c +++ /dev/null @@ -1,27 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct basic -{ - int a; - int b[10]; -} type_struct; - -type_struct *str1; - -int main() -{ - int i; - - str1 = malloc (10 * sizeof (type_struct)); - - for (i=0; i<=9; i++) - str1[i].a = str1[i].b[0]; - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_array_through_pointer.c b/gcc/testsuite/gcc.dg/struct/wo_prof_array_through_pointer.c deleted file mode 100644 index efb68be8..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_array_through_pointer.c +++ /dev/null @@ -1,39 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -int -main () -{ - int i; - str_t A[N]; - str_t *p = A; - - for (i = 0; i < N; i++) - p[i].a = 0; - - for (i = 0; i < N; i++) - if (p[i].a != 0) - abort (); - - return 0; -} - -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_double_malloc.c b/gcc/testsuite/gcc.dg/struct/wo_prof_double_malloc.c deleted file mode 100644 index 77226b4..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_double_malloc.c +++ /dev/null @@ -1,30 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> - -typedef struct test_struct -{ - int a; - int b; -} type_struct; - -typedef type_struct **struct_pointer2; - -struct_pointer2 str1; - -int main() -{ - int i, j; - - str1 = malloc (2 * sizeof (type_struct *)); - - for (i = 0; i <= 1; i++) - str1[i] = malloc (2 * sizeof (type_struct)); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_empty_str.c b/gcc/testsuite/gcc.dg/struct/wo_prof_empty_str.c deleted file mode 100644 index 09668fa..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_empty_str.c +++ /dev/null @@ -1,45 +0,0 @@ -/* { dg-do run } */ - -#include <stdlib.h> - -struct S { int a; struct V *b; }; -typedef struct { int c; } T; -typedef struct { int d; int e; } U; - -void * -fn (void *x) -{ - return x; -} - -int -foo (struct S *s) -{ - T x; - - T y = *(T *)fn (&x); - return y.c; -} - -int -bar (struct S *s) -{ - U x; - - U y = *(U *)fn (&x); - return y.d + s->a; -} - -int -main () -{ - struct S s; - - foo(&s) + bar (&s); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "No structures to transform" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_arg_to_local.c b/gcc/testsuite/gcc.dg/struct/wo_prof_escape_arg_to_local.c deleted file mode 100644 index 0116d81..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_arg_to_local.c +++ /dev/null @@ -1,44 +0,0 @@ -/* { dg-do run } */ - -#include <stdlib.h> -struct str -{ - int a; - float b; -}; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -int -foo (struct str * p_str) -{ - static int sum = 0; - - sum = sum + p_str->a; - return sum; -} - -int -main () -{ - int i, sum; - struct str * p = malloc (N * sizeof (struct str)); - if (p == NULL) - return 0; - for (i = 0; i < N; i++) - sum = foo (p+i); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "is passed to local function...Excluded." "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_return.c b/gcc/testsuite/gcc.dg/struct/wo_prof_escape_return.c deleted file mode 100644 index 21a6a7f3..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_return.c +++ /dev/null @@ -1,31 +0,0 @@ -/* { dg-do run } */ - -#include <stdlib.h> - -struct A { - int d; -}; - -struct A a; - -struct A foo () -{ - a.d = 5; - return a; -} - -int -main () -{ - a.d = 0; - foo (); - - if (a.d != 5) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "is return type of function...Excluded" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_str_init.c b/gcc/testsuite/gcc.dg/struct/wo_prof_escape_str_init.c deleted file mode 100644 index 6da3420..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_str_init.c +++ /dev/null @@ -1,33 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - int b; -}str_t; - -#define N 2 - -str_t A[2] = {{1,1},{2,2}}; - -int -main () -{ - int i; - - for (i = 0; i < N; i++) - A[i].b = A[i].a; - - for (i = 0; i < N; i++) - if (A[i].b != A[i].a) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "is initialized...Excluded" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ - diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_array.c b/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_array.c deleted file mode 100644 index bd03ec4..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_array.c +++ /dev/null @@ -1,34 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#define N 1000 - -typedef struct -{ - str_t A[N]; - int c; -}str_with_substr_t; - -str_with_substr_t a; - -int -main () -{ - int i; - - for (i = 0; i < N; i++) - a.A[i].b = 0; - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_pointer.c b/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_pointer.c deleted file mode 100644 index 59e0e48..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_pointer.c +++ /dev/null @@ -1,49 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 16000 -#define N 1000 -#else -#define N (STACK_SIZE/16) -#endif -#else -#define N 1000 -#endif - -typedef struct -{ - str_t * sub_str; - int c; -}str_with_substr_t; - -int foo; - -int -main (void) -{ - int i; - str_with_substr_t A[N]; - str_t a[N]; - - for (i=0; i < N; i++) - A[i].sub_str = &(a[i]); - - for (i=0; i < N; i++) - A[i].sub_str->a = 5; - - foo = A[56].sub_str->a; - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_value.c b/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_value.c deleted file mode 100644 index a6b32dd..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_escape_substr_value.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - - -typedef struct -{ - str_t sub_str; - int c; -}str_with_substr_t; - -int -main () -{ - int i; - str_with_substr_t A[N]; - - for (i = 0; i < N; i++) - A[i].sub_str.a = 5; - - for (i = 0; i < N; i++) - if (A[i].sub_str.a != 5) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "is a field in the structure" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_global_array.c b/gcc/testsuite/gcc.dg/struct/wo_prof_global_array.c deleted file mode 100644 index b61e26b..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_global_array.c +++ /dev/null @@ -1,33 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#define N 1000 -str_t A[N]; - -int -main () -{ - int i; - - for (i = 0; i < N; i++) - { - A[i].a = 0; - } - - for (i = 0; i < N; i++) - if (A[i].a != 0) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_global_var.c b/gcc/testsuite/gcc.dg/struct/wo_prof_global_var.c deleted file mode 100644 index 39351e0..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_global_var.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -str_t *p; - -int -main () -{ - int i, sum; - - p = malloc (N * sizeof (str_t)); - if (p == NULL) - return 0; - for (i = 0; i < N; i++) - p[i].b = i; - - for (i = 0; i < N; i++) - p[i].b = p[i].a + 1; - - for (i = 0; i < N; i++) - if (p[i].b != p[i].a + 1) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_local_array.c b/gcc/testsuite/gcc.dg/struct/wo_prof_local_array.c deleted file mode 100644 index 18d5a73..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_local_array.c +++ /dev/null @@ -1,41 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -int -main () -{ - int i; - str_t A[N]; - - for (i = 0; i < N; i++) - { - A[i].a = 0; - } - - for (i = 0; i < N; i++) - if (A[i].a != 0) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_local_var.c b/gcc/testsuite/gcc.dg/struct/wo_prof_local_var.c deleted file mode 100644 index 26a9dbd..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_local_var.c +++ /dev/null @@ -1,44 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -int -main () -{ - int i, sum; - - str_t * p = malloc (N * sizeof (str_t)); - if (p == NULL) - return 0; - for (i = 0; i < N; i++) - p[i].b = i; - - for (i = 0; i < N; i++) - p[i].b = p[i].a + 1; - - for (i = 0; i < N; i++) - if (p[i].b != p[i].a + 1) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c b/gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c deleted file mode 100644 index 6caadcf..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c +++ /dev/null @@ -1,48 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 8000 -#define N 1000 -#else -#define N (STACK_SIZE/8) -#endif -#else -#define N 1000 -#endif - -int -main () -{ - int i, num; - - num = rand(); - num = num > N ? N : num; - str_t * p = malloc (num * sizeof (str_t)); - - if (p == 0) - return 0; - - for (i = 0; i < num; i++) - p[i].b = i; - - for (i = 0; i < num; i++) - p[i].a = p[i].b + 1; - - for (i = 0; i < num; i++) - if (p[i].a != p[i].b + 1) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_mult_field_peeling.c b/gcc/testsuite/gcc.dg/struct/wo_prof_mult_field_peeling.c deleted file mode 100644 index 8f116df..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_mult_field_peeling.c +++ /dev/null @@ -1,43 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - float b; - int c; - float d; -}str_t; - -#ifdef STACK_SIZE -#if STACK_SIZE > 1600 -#define N 100 -#else -#define N (STACK_SIZE/16) -#endif -#else -#define N 100 -#endif - -int -main () -{ - int i; - str_t *p = malloc (N * sizeof (str_t)); - if (p == NULL) - return 0; - for (i = 0; i < N; i++) - p[i].a = 5; - - for (i = 0; i < N; i++) - if (p[i].a != 5) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* The structure str_t is erroneously peeled into 4 structures instead of 2. */ -/* { dg-final { scan-ipa-dump "the number of new types is 2" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_global.c b/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_global.c deleted file mode 100644 index 812763d..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_global.c +++ /dev/null @@ -1,35 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - int b; -}str_t; - -#define N 3 - -str_t str; - -int -main () -{ - int i; - int res = 1<<(1<<N); - str.a = 2; - - for (i = 0; i < N; i++) - str.a = str.a * str.a; - - if (str.a != res) - abort (); - - /* POSIX ignores all but the 8 low-order bits, but other - environments may not. */ - return (str.a & 255); -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_local.c b/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_local.c deleted file mode 100644 index 313af10..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_local.c +++ /dev/null @@ -1,35 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - int b; -}str_t; - -#define N 3 - -int -main () -{ - int i; - int res = 1<<(1<<N); - str_t str; - - str.a = 2; - - for (i = 0; i < N; i++) - str.a = str.a * str.a; - - if (str.a != res) - abort (); - - /* POSIX ignores all but the 8 low-order bits, but other - environments may not. */ - return (str.a & 255); -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "No structures to transform" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_pointer.c b/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_pointer.c deleted file mode 100644 index bd70dfb..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_single_str_pointer.c +++ /dev/null @@ -1,40 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> -typedef struct -{ - int a; - int *b; -}str_t; - -#define N 3 - -str_t *p; - -int -main () -{ - str_t str; - int i; - int res = 1 << (1 << N); - p = &str; - str.a = 2; - - p->b = &(p->a); - - for (i=0; i < N; i++) - p->a = *(p->b)*(*(p->b)); - - if (p->a != res) - abort (); - - /* POSIX ignores all but the 8 low-order bits, but other - environments may not. */ - return (p->a & 255); -} - -/*--------------------------------------------------------------------------*/ -/* The access &(p->a) is handled incorrectly in ipa-struct-reorg.c. */ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ diff --git a/gcc/testsuite/gcc.dg/struct/wo_prof_two_strs.c b/gcc/testsuite/gcc.dg/struct/wo_prof_two_strs.c deleted file mode 100644 index 92da94d..0000000 --- a/gcc/testsuite/gcc.dg/struct/wo_prof_two_strs.c +++ /dev/null @@ -1,68 +0,0 @@ -/* { dg-do compile } */ -/* { dg-do run } */ - -#include <stdlib.h> - -typedef struct -{ - int a; - float b; -}str_t1; - -typedef struct -{ - int c; - float d; -}str_t2; - -#ifdef STACK_SIZE -#if STACK_SIZE > 16000 -#define N 1000 -#else -#define N (STACK_SIZE/16) -#endif -#else -#define N 1000 -#endif - -str_t1 *p1; -str_t2 *p2; -int num; - -void -foo (void) -{ - int i; - - for (i=0; i < num; i++) - p2[i].c = 2; -} - -int -main () -{ - int i, r; - - r = rand (); - num = r > N ? N : r; - p1 = malloc (num * sizeof (str_t1)); - p2 = malloc (num * sizeof (str_t2)); - - if (p1 == NULL || p2 == NULL) - return 0; - - for (i = 0; i < num; i++) - p1[i].a = 1; - - foo (); - - for (i = 0; i < num; i++) - if (p1[i].a != 1 || p2[i].c != 2) - abort (); - - return 0; -} - -/*--------------------------------------------------------------------------*/ -/* { dg-final { scan-ipa-dump "Number of structures to transform is 2" "ipa_struct_reorg" { xfail *-*-* } } } */ -/* { dg-final { cleanup-ipa-dump "*" } } */ |