Commit 6b87d1b4 by Richard Guenther Committed by Richard Biener

invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.

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
parent 203a92e3
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> 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO. * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
......
...@@ -717,10 +717,6 @@ fipa-reference ...@@ -717,10 +717,6 @@ fipa-reference
Common Report Var(flag_ipa_reference) Init(0) Optimization Common Report Var(flag_ipa_reference) Init(0) Optimization
Discover readonly and non addressable static variables 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 fipa-matrix-reorg
Common Report Var(flag_ipa_matrix_reorg) Optimization Common Report Var(flag_ipa_matrix_reorg) Optimization
Perform matrix layout flattening and transposing based Perform matrix layout flattening and transposing based
......
...@@ -346,7 +346,7 @@ Objective-C and Objective-C++ Dialects}. ...@@ -346,7 +346,7 @@ Objective-C and Objective-C++ Dialects}.
-finline-functions -finline-functions-called-once -finline-limit=@var{n} @gol -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 -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-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-region=@var{region} -fira-coalesce @gol
-fira-loop-pressure -fno-ira-share-save-slots @gol -fira-loop-pressure -fno-ira-share-save-slots @gol
-fno-ira-share-spill-slots -fira-verbose=@var{n} @gol -fno-ira-share-spill-slots -fira-verbose=@var{n} @gol
...@@ -6633,8 +6633,7 @@ Perform structure reorganization optimization, that change C-like structures ...@@ -6633,8 +6633,7 @@ Perform structure reorganization optimization, that change C-like structures
layout in order to better utilize spatial locality. This transformation is layout in order to better utilize spatial locality. This transformation is
affective for programs containing arrays of structures. Available in two affective for programs containing arrays of structures. Available in two
compilation modes: profile-based (enabled with @option{-fprofile-generate}) compilation modes: profile-based (enabled with @option{-fprofile-generate})
or static (which uses built-in heuristics). Require @option{-fipa-type-escape} or static (which uses built-in heuristics). It works only in whole program
to provide the safety of this transformation. It works only in whole program
mode, so it requires @option{-fwhole-program} and @option{-combine} to be mode, so it requires @option{-fwhole-program} and @option{-combine} to be
enabled. Structures considered @samp{cold} by this transformation are not enabled. Structures considered @samp{cold} by this transformation are not
affected (see @option{--param struct-reorg-cold-struct-ratio=@var{value}}). affected (see @option{--param struct-reorg-cold-struct-ratio=@var{value}}).
......
/* Type based alias analysis. /* Escape analysis for types.
Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com> Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
...@@ -2112,9 +2112,7 @@ type_escape_execute (void) ...@@ -2112,9 +2112,7 @@ type_escape_execute (void)
static bool static bool
gate_type_escape_vars (void) gate_type_escape_vars (void)
{ {
return (flag_ipa_type_escape return flag_ipa_struct_reorg && flag_whole_program && (optimize > 0);
/* Don't bother doing anything if the program has errors. */
&& !(errorcount || sorrycount));
} }
struct simple_ipa_opt_pass pass_ipa_type_escape = struct simple_ipa_opt_pass pass_ipa_type_escape =
......
...@@ -1151,7 +1151,6 @@ decode_options (unsigned int argc, const char **argv) ...@@ -1151,7 +1151,6 @@ decode_options (unsigned int argc, const char **argv)
{ {
/* These passes are not WHOPR compatible yet. */ /* These passes are not WHOPR compatible yet. */
flag_ipa_cp = 0; flag_ipa_cp = 0;
flag_ipa_type_escape = 0;
flag_ipa_pta = 0; flag_ipa_pta = 0;
flag_ipa_struct_reorg = 0; flag_ipa_struct_reorg = 0;
} }
......
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> 2010-05-16 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c, * gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c,
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fipa-type-escape" } */ /* { dg-options "-O2 -fipa-struct-reorg" } */
extern double log10 (double __x); extern double log10 (double __x);
extern double ceil (double __x); extern double ceil (double __x);
......
/* PR debug/43084 */ /* PR debug/43084 */
/* { dg-do compile } */ /* { 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 struct S
{ {
......
/* { dg-do compile } */ /* { 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__); extern void *malloc(__SIZE_TYPE__);
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
load_lib gcc-dg.exp load_lib gcc-dg.exp
load_lib target-supports.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'. # Initialize `dg'.
dg-init dg-init
...@@ -51,7 +51,7 @@ load_lib profopt.exp ...@@ -51,7 +51,7 @@ load_lib profopt.exp
# These are globals used by profopt-execute. The first is options # These are globals used by profopt-execute. The first is options
# needed to generate profile data, the second is options to use the # needed to generate profile data, the second is options to use the
# profile data. # 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 profile_option [concat $common " -fprofile-generate"]
set feedback_option [concat $common " -fprofile-use -fipa-struct-reorg -fdump-ipa-all"] set feedback_option [concat $common " -fprofile-use -fipa-struct-reorg -fdump-ipa-all"]
......
/* { 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 compile } */
/* { dg-do run } */ /* { dg-do run } */
......
/* { 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 compile } */
/* { dg-do run } */ /* { dg-do run } */
......
/* { 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 compile } */
/* { dg-do run } */ /* { dg-do run } */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment