summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-structalias.c
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-14 14:49:13 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-14 14:49:13 +0000
commitf0ee0b5bd353e28f6da7d966a93f08c9af1e10c5 (patch)
tree9329bdf3c2d31755066d0772b7438f632c1ca28f /gcc/tree-ssa-structalias.c
parent8dfbf380450e758bdb73324e3233916312dbe076 (diff)
downloadgcc-f0ee0b5bd353e28f6da7d966a93f08c9af1e10c5.tar.gz
2006-02-14 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/26260 * doc/invoke.texi (max-fields-for-field-sensitive): Document param. * params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New. * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto. * tree-ssa-structalias.c (create_variable_info_for): Use MAX_FIELDS_FOR_FIELD_SENSITIVE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110972 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r--gcc/tree-ssa-structalias.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 2ddbe0f7ff7..c7eae967fc7 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -3881,7 +3881,6 @@ check_for_overlaps (VEC (fieldoff_s,heap) *fieldstack)
}
return false;
}
-
/* Create a varinfo structure for NAME and DECL, and add it to VARMAP.
This will also create any varinfo structures necessary for fields
of DECL. */
@@ -3945,7 +3944,8 @@ create_variable_info_for (tree decl, const char *name)
if (use_field_sensitive
&& !notokay
&& !vi->is_unknown_size_var
- && var_can_have_subvars (decl))
+ && var_can_have_subvars (decl)
+ && VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
{
unsigned int newindex = VEC_length (varinfo_t, varmap);
fieldoff_s *fo = NULL;