diff options
author | Daniel Berlin <dberlin@dberlin.org> | 2005-03-13 00:46:07 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2005-03-13 00:46:07 +0000 |
commit | c75ab022811aa05c49657d6c48471962b48c9666 (patch) | |
tree | 03744f60b00db0493040ec2c836323945507bf16 /gcc/doc/invoke.texi | |
parent | 23845f022033163786a64dfef44b7c127b92c5bb (diff) | |
download | gcc-c75ab022811aa05c49657d6c48471962b48c9666.zip gcc-c75ab022811aa05c49657d6c48471962b48c9666.tar.gz gcc-c75ab022811aa05c49657d6c48471962b48c9666.tar.bz2 |
In gcc/ada/ 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
In gcc/ada/
2005-03-12 Daniel Berlin <dberlin@dberlin.org>
* misc.c (gnat_post_options): Turn off structural
aliasing for now.
In gcc/
2005-03-12 Daniel Berlin <dberlin@dberlin.org>
* tree-flow-inline.h (ref_contains_array_ref): New function.
(lookup_subvars_for_var): Ditto.
(get_subvars_for_var): Ditto.
(var_can_have_subvars): Ditto.
* tree-flow.h (mem_tag_kind): Add STRUCT_FIELD.
(struct subvar): New type.
* tree-dfa.c (okay_component_ref_for_subvars): New function.
* tree-optimize.c (init_tree_optimization_passes): Call
pass_create_structure_vars.
* tree-ssa-alias.c: Include vec.h.
(init_alias_info): Don't auto-clear call clobbered on struct-field
tags.
(compute_flow_insensitive_aliasing): Handle subvars.
(group_aliases): Handle STRUCT_FIELD aliases.
(setup_pointers_and_addressables): Ditto.
Don't mark variables non-addressable if they still have
addressable subvars.
Also mark subvars addressable when the real variable is marked
addressable.
(add_pointed_to_var): Try to prune the pointed-to set by only
pointing to subvars when possible.
Otherwise, make sure we set addresses_needed and pt_vars to
properly include subvars.
(bitpos_of_field): New function.
(push_fields_onto_fieldstack): Ditto.
(get_or_create_used_part_for): Ditto.
(create_overlap_variables_for): Ditto.
(find_used_portions): Ditto.
(create_structure_vars): Ditto.
(pass_create_structure_vars): New structure.
* tree-ssa-operands.c (finalize_ssa_v_must_defs): Remove assert.
(get_expr_operands): Handle subvars. Also try to turn
COMPONENT_REF accesses into must-defs now that we can accurately
portray it.
(note_addressable): Try to only mark as addressable those subvars
we know a COMPONENT_REF touches.
(overlap_subvar): New function.
* tree-vect-analyze.c (vect_object_analysis): Add new parameter.
Handle subvar storing.
(vect_address_analysis): Update caller of vect_object_analysis.
* tree-vect-transform.c (vect_create_data_ref_ptr): Copy subvars.
* tree-vectorizer.h (struct _stmt_vec_info): Add subvars member.
(STMT_VINFO_SUBVARS): New macro.
* common.opts: add flag_tree_salias.
* opts.c (decode_options): flag_tree_salias defaults to on.
* doc/invoke.texi: Document fdump-tree-svars and -ftree-salias.
* doc/tree-ssa.texi: Document structural alias analysis.
From-SVN: r96362
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r-- | gcc/doc/invoke.texi | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index a1ef8313..c30b161 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -266,6 +266,7 @@ Objective-C and Objective-C++ Dialects}. -fdump-tree-nrv -fdump-tree-vect @gol -fdump-tree-sink @gol -fdump-tree-sra@r{[}-@var{n}@r{]} @gol +-fdump-tree-salias @gol -fdump-tree-fre@r{[}-@var{n}@r{]} @gol -ftree-vectorizer-verbose=@var{n} @gol -feliminate-dwarf2-dups -feliminate-unused-debug-types @gol @@ -322,6 +323,7 @@ Objective-C and Objective-C++ Dialects}. -ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts @gol -ftree-dominator-opts -ftree-dse -ftree-copyrename -ftree-sink @gol -ftree-ch -ftree-sra -ftree-ter -ftree-lrs -ftree-fre -ftree-vectorize @gol +-ftree-salias @gol --param @var{name}=@var{value} -O -O0 -O1 -O2 -O3 -Os} @@ -3819,6 +3821,11 @@ appending @file{.ch} to the source file name. Dump SSA related information to a file. The file name is made by appending @file{.ssa} to the source file name. +@item salias +@opindex fdump-tree-salias +Dump structure aliasing variable information to a file. This file name +is made by appending @file{.salias} to the source file name. + @item alias @opindex fdump-tree-alias Dump aliasing information for each function. The file name is made by @@ -4695,6 +4702,10 @@ that are computed on all paths leading to the redundant computation. This analysis faster than PRE, though it exposes fewer redundancies. This flag is enabled by default at @option{-O} and higher. +@item -ftree-salias +Perform structural alias analysis on trees. This flag +is enabled by default at @option{-O} and higher. + @item -ftree-sink Perform forward store motion on trees. This flag is enabled by default at @option{-O} and higher. |