aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-structalias.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2007-11-21 10:16:21 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2007-11-21 10:16:21 +0000
commit11948f6bac2949e7f8158c335e37bb30340d7f86 (patch)
tree879367eac8305c2ff29cf7a1cb2d0d4b0306c562 /gcc/tree-ssa-structalias.c
parent2bf66d799ca2ce2dfe07f53eb6b47edf35d3cc67 (diff)
downloadgcc-11948f6bac2949e7f8158c335e37bb30340d7f86.zip
gcc-11948f6bac2949e7f8158c335e37bb30340d7f86.tar.gz
gcc-11948f6bac2949e7f8158c335e37bb30340d7f86.tar.bz2
re PR tree-optimization/34148 (Too many VOPs, too deep tree-ssa-sccvn.c recursion)
2007-11-21 Richard Guenther <rguenther@suse.de> PR tree-optimization/34148 * tree-ssa-structalias.c (create_variable_info_for): Do not use field-sensitive PTA for single-element structures. * tree-ssa-alias.c (create_overlap_variables_for): Do not create SFTs for single-element structures. From-SVN: r130329
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r--gcc/tree-ssa-structalias.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 5fbcfc5..5e197c4 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -4441,6 +4441,7 @@ create_variable_info_for (tree decl, const char *name)
&& !notokay
&& !vi->is_unknown_size_var
&& var_can_have_subvars (decl)
+ && VEC_length (fieldoff_s, fieldstack) > 1
&& VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
{
unsigned int newindex = VEC_length (varinfo_t, varmap);