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
This commit is contained in:
Richard Guenther 2007-11-21 10:16:21 +00:00 committed by Richard Biener
parent 2bf66d799c
commit 11948f6bac
3 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,11 @@
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.
2007-11-20 Richard Guenther <rguenther@suse.de>
PR middle-end/34154

View File

@ -3837,7 +3837,7 @@ create_overlap_variables_for (tree var)
TREE_TYPE (var));
/* 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
if (VEC_length (fieldoff_s, fieldstack) > 1
&& VEC_length (fieldoff_s, fieldstack) <= MAX_FIELDS_FOR_FIELD_SENSITIVE)
{
subvar_t *subvars;

View File

@ -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);