diff options
author | Richard Guenther <rguenther@suse.de> | 2007-11-15 11:15:08 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-11-15 11:15:08 +0000 |
commit | 4a648c5d7df866a1e1b25aa1d73b1b3651461f8a (patch) | |
tree | 5df9a1aee16895e76cfd432e23a15621197d36a8 /gcc/tree-ssa-alias.c | |
parent | f83ca2512f522d26fd9282b0e803e1a0afeb935d (diff) | |
download | gcc-4a648c5d7df866a1e1b25aa1d73b1b3651461f8a.zip gcc-4a648c5d7df866a1e1b25aa1d73b1b3651461f8a.tar.gz gcc-4a648c5d7df866a1e1b25aa1d73b1b3651461f8a.tar.bz2 |
tree-ssa-alias.c (create_overlap_variables_for): Make sure to only create SFTs if we also create variable infos for PTA.
2007-11-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (create_overlap_variables_for): Make sure
to only create SFTs if we also create variable infos for PTA.
* tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping
SFTs.
From-SVN: r130197
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r-- | gcc/tree-ssa-alias.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 31e04bc..43d5ab2 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -3834,7 +3834,10 @@ create_overlap_variables_for (tree var) push_fields_onto_fieldstack (TREE_TYPE (var), &fieldstack, 0, NULL, TREE_TYPE (var), 0); - if (VEC_length (fieldoff_s, fieldstack) != 0) + /* Make sure to not create SFTs for structs we won't generate variable + infos for. See tree-ssa-structalias.c:create_variable_info_for (). */ + if (VEC_length (fieldoff_s, fieldstack) != 0 + && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE) { subvar_t *subvars; fieldoff_s *fo; |