invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.
authorRichard Guenther <rguenther@suse.de>
Sun, 16 May 2010 19:56:44 +0000 (19:56 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Sun, 16 May 2010 19:56:44 +0000 (19:56 +0000)
2010-05-16  Richard Guenther  <rguenther@suse.de>

* doc/invoke.texi (-fipa-struct-reorg): Do not mention
-fipa-type-escape.
* ipa-type-escape.c (gate_type_escape_vars): Run when
-fipa-struct-reorg runs.
* opts.c (decode_options): Do not unset flag_ipa_type_escape.
* common.opt (fipa-type-escape): Remove.

* gcc.dg/pr43317.c: Do not pass -fipa-type-escape.
* gcc.dg/pr43084.c: Likewise.
* gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of
-fipa-type-escape.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass
-fipa-type-escape.
* gcc.dg/struct/struct-reorg.exp: Likewise.
* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.

From-SVN: r159464

13 files changed:
gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/ipa-type-escape.c
gcc/opts.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr42250.c
gcc/testsuite/gcc.dg/pr43084.c
gcc/testsuite/gcc.dg/pr43317.c
gcc/testsuite/gcc.dg/struct/struct-reorg.exp
gcc/testsuite/gcc.dg/struct/wo_prof_empty_str.c
gcc/testsuite/gcc.dg/struct/wo_prof_escape_arg_to_local.c
gcc/testsuite/gcc.dg/struct/wo_prof_escape_return.c

index 244695e4bf461b48c4ecccea540612f25723e871..225cdda8fb077351c1943ed784c3f1c999d8f8cb 100644 (file)
@@ -1,3 +1,12 @@
+2010-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-fipa-struct-reorg): Do not mention
+       -fipa-type-escape.
+       * ipa-type-escape.c (gate_type_escape_vars): Run when
+       -fipa-struct-reorg runs.
+       * opts.c (decode_options): Do not unset flag_ipa_type_escape.
+       * common.opt (fipa-type-escape): Remove.
+
 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
 
        * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
index e9a0695f20b59eef79ddcf0964c860e0dcac4d24..8cda9128514aa4d1b0894ec76be0dacdd73a64bc 100644 (file)
@@ -717,10 +717,6 @@ fipa-reference
 Common Report Var(flag_ipa_reference) Init(0) Optimization
 Discover readonly and non addressable static variables
 
-fipa-type-escape
-Common Report Var(flag_ipa_type_escape) Init(0) Optimization
-Type based escape and alias analysis
-
 fipa-matrix-reorg
 Common Report Var(flag_ipa_matrix_reorg) Optimization
 Perform matrix layout flattening and transposing based
index 81c2d03b779b9f0cf56814f24f615aea7d0999d6..e99490227ecd17093116f40bce4bef5970509c65 100644 (file)
@@ -346,7 +346,7 @@ Objective-C and Objective-C++ Dialects}.
 -finline-functions -finline-functions-called-once -finline-limit=@var{n} @gol
 -finline-small-functions -fipa-cp -fipa-cp-clone -fipa-matrix-reorg -fipa-pta @gol
 -fipa-profile -fipa-pure-const -fipa-reference -fipa-struct-reorg @gol
--fipa-type-escape -fira-algorithm=@var{algorithm} @gol
+-fira-algorithm=@var{algorithm} @gol
 -fira-region=@var{region} -fira-coalesce @gol
 -fira-loop-pressure -fno-ira-share-save-slots @gol
 -fno-ira-share-spill-slots -fira-verbose=@var{n} @gol
@@ -6633,8 +6633,7 @@ Perform structure reorganization optimization, that change C-like structures
 layout in order to better utilize spatial locality.  This transformation is
 affective for programs containing arrays of structures.  Available in two
 compilation modes: profile-based (enabled with @option{-fprofile-generate})
-or static (which uses built-in heuristics).  Require @option{-fipa-type-escape}
-to provide the safety of this transformation.  It works only in whole program
+or static (which uses built-in heuristics).  It works only in whole program
 mode, so it requires @option{-fwhole-program} and @option{-combine} to be
 enabled.  Structures considered @samp{cold} by this transformation are not
 affected (see @option{--param struct-reorg-cold-struct-ratio=@var{value}}).
index 0807d0b107a2819f5705ab14bcd25b144f55af97..c2cb3e877187b36bf5b89c54983966aaa16f1416 100644 (file)
@@ -1,4 +1,4 @@
-/* Type based alias analysis.
+/* Escape analysis for types.
    Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010
    Free Software Foundation, Inc.
    Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
@@ -2112,9 +2112,7 @@ type_escape_execute (void)
 static bool
 gate_type_escape_vars (void)
 {
-  return (flag_ipa_type_escape
-         /* Don't bother doing anything if the program has errors.  */
-         && !(errorcount || sorrycount));
+  return flag_ipa_struct_reorg && flag_whole_program && (optimize > 0);
 }
 
 struct simple_ipa_opt_pass pass_ipa_type_escape =
index 5aa7c419f50b6e33d678553423a4548f4d17ebfa..14c9b0420f9113b3684ef7db127ca77a09d1ce14 100644 (file)
@@ -1151,7 +1151,6 @@ decode_options (unsigned int argc, const char **argv)
     {
       /* These passes are not WHOPR compatible yet.  */
       flag_ipa_cp = 0;
-      flag_ipa_type_escape = 0;
       flag_ipa_pta = 0;
       flag_ipa_struct_reorg = 0;
     }
index 64242be9392881a855ed08320521e1914891136d..4ec703c03adf86e9989fabafef602efbf9ce8001 100644 (file)
@@ -1,3 +1,15 @@
+2010-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * gcc.dg/pr43317.c: Do not pass -fipa-type-escape.
+       * gcc.dg/pr43084.c: Likewise.
+       * gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of
+       -fipa-type-escape.
+       * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass
+       -fipa-type-escape.
+       * gcc.dg/struct/struct-reorg.exp: Likewise.
+       * gcc.dg/struct/wo_prof_empty_str.c: Likewise.
+       * gcc.dg/struct/wo_prof_escape_return.c: Likewise.
+
 2010-05-16  Joseph Myers  <joseph@codesourcery.com>
 
        * gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c,
index d3d4bb7be2fa7f50a0986ea44703513a49d0ed52..3ba8e8413e7d50e74565f4709d954e98488c6be9 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fipa-type-escape" } */
+/* { dg-options "-O2 -fipa-struct-reorg" } */
 
 extern double log10 (double __x);
 extern double ceil (double __x);
index a590fa272cb3256450811a66c6e7fd9eac5d22a4..c3101248af68e94756497a7cc9d7d7b98105c963 100644 (file)
@@ -1,6 +1,6 @@
 /* PR debug/43084 */
 /* { dg-do compile } */
-/* { dg-options "-O1 -fipa-struct-reorg -fwhole-program -fipa-type-escape -fcompare-debug" } */
+/* { dg-options "-O1 -fipa-struct-reorg -fwhole-program -fcompare-debug" } */
 
 struct S
 {
index 3ee3ed5493196361251ff60f619505e47963caae..cc5832aee36ed86df7ff1fd752540d918026cd89 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fipa-struct-reorg -fwhole-program -fipa-type-escape -g" } */
+/* { dg-options "-O -fipa-struct-reorg -fwhole-program -g" } */
 
 extern void *malloc(__SIZE_TYPE__);
 
index 9a1797f3cc29aa590df5e3071a9dc48b79946e8d..c96501c29804ad83f43d7ad2cccdf6f201d28a77 100644 (file)
@@ -20,7 +20,7 @@
 load_lib gcc-dg.exp
 load_lib target-supports.exp
 
-set STRUCT_REORG_CFLAGS "-O3 -fipa-struct-reorg -fdump-ipa-all -fwhole-program -combine -fipa-type-escape"
+set STRUCT_REORG_CFLAGS "-O3 -fipa-struct-reorg -fdump-ipa-all -fwhole-program -combine"
 
 # Initialize `dg'.
 dg-init
@@ -51,7 +51,7 @@ 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 -combine -fipa-type-escape"
+set common "-O3 -fwhole-program -combine"
 set profile_option [concat $common " -fprofile-generate"]
 set feedback_option [concat $common " -fprofile-use -fipa-struct-reorg -fdump-ipa-all"]
 
index 8f9751d22bf8e8e577e7afd4adee9da064b0d546..db7f6b09cb5f7f84f319004908a9868515d79847 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O3 -fno-inline -fipa-type-escape -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
+/* { dg-options "-O3 -fno-inline -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
 /* { dg-do compile } */
 /* { dg-do run } */
 
index 29630252e00acb2d6e547e1cf1f65363a5400a4c..e6638b73a6057373f343886f029a88851794475d 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O3 -fno-inline -fno-ipa-sra -fipa-type-escape -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
+/* { dg-options "-O3 -fno-inline -fno-ipa-sra -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
 /* { dg-do compile } */
 /* { dg-do run } */
 
index 26944fe10b3906ad51c808de7715c19653b3730d..8830c55601d6fe14fe9f6c008ab8e078a41c3175 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O3 -fno-inline -fipa-type-escape -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
+/* { dg-options "-O3 -fno-inline -fdump-ipa-all -fipa-struct-reorg -fwhole-program -combine" } */
 /* { dg-do compile } */
 /* { dg-do run } */