aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-structalias.c
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2006-02-14 14:49:13 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2006-02-14 14:49:13 +0000
commit98035a75ac5fca6590f63d08aa3a4914809a8855 (patch)
tree9329bdf3c2d31755066d0772b7438f632c1ca28f /gcc/tree-ssa-structalias.c
parentb076a3fd749f2060d33c477c70e18ed24ce83d96 (diff)
downloadgcc-98035a75ac5fca6590f63d08aa3a4914809a8855.zip
gcc-98035a75ac5fca6590f63d08aa3a4914809a8855.tar.gz
gcc-98035a75ac5fca6590f63d08aa3a4914809a8855.tar.bz2
re PR tree-optimization/26260 (PTA is slow with large structs (hits clisp))
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. From-SVN: r110972
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 2ddbe0f..c7eae96 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;