aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-flow.h
diff options
context:
space:
mode:
authorAdam Nemet <anemet@caviumnetworks.com>2007-06-20 18:19:10 +0000
committerAdam Nemet <nemet@gcc.gnu.org>2007-06-20 18:19:10 +0000
commit3d9b47dc431c0e8b967f390f28a68fe371d47eb4 (patch)
tree9e2d4808d596fbdc61945b54d0c37a41b151ec67 /gcc/tree-flow.h
parent034bfe7a9f51a82d1eadeb037791e5f467395eba (diff)
downloadgcc-3d9b47dc431c0e8b967f390f28a68fe371d47eb4.zip
gcc-3d9b47dc431c0e8b967f390f28a68fe371d47eb4.tar.gz
gcc-3d9b47dc431c0e8b967f390f28a68fe371d47eb4.tar.bz2
re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)
PR tree-optimization/25737 * tree.h (struct tree_struct_field_tag): Add new field alias_set. (SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros. * tree-flow.h (struct fieldoff): Add new field alias_set. * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new argument addressable_type. Set alias_set of fieldoff. * tree-ssa-alias.c (create_sft): Add new argument alias_set. (create_overlap_variables_for): Pass alias_set from fieldoff to create_sft. * alias.c (get_alias_set): Use alias_set from SFT if set. From-SVN: r125890
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r--gcc/tree-flow.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index c23a094..0af3bdc 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -1158,13 +1158,14 @@ struct fieldoff
tree size;
tree decl;
HOST_WIDE_INT offset;
+ HOST_WIDE_INT alias_set;
};
typedef struct fieldoff fieldoff_s;
DEF_VEC_O(fieldoff_s);
DEF_VEC_ALLOC_O(fieldoff_s,heap);
int push_fields_onto_fieldstack (tree, VEC(fieldoff_s,heap) **,
- HOST_WIDE_INT, bool *);
+ HOST_WIDE_INT, bool *, tree);
void sort_fieldstack (VEC(fieldoff_s,heap) *);
void init_alias_heapvars (void);