re PR tree-optimization/38937 (dereferencing pointer '<anonymous>' does break strict-aliasing)

2009-01-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38937
	* tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
	computing the transitive closure.

From-SVN: r143819
This commit is contained in:
Richard Guenther 2009-01-31 10:25:41 +00:00 committed by Richard Biener
parent 907884c92a
commit 14c28276e0
2 changed files with 12 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2009-01-31 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38937
* tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
computing the transitive closure.
2009-01-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39041

View File

@ -1502,12 +1502,6 @@ do_sd_constraint (constraint_graph_t graph, constraint_t c,
unsigned int j;
bitmap_iterator bi;
if (bitmap_bit_p (delta, anything_id))
{
flag |= bitmap_set_bit (sol, anything_id);
goto done;
}
/* For x = *ESCAPED and x = *CALLUSED we want to compute the
reachability set of the rhs var. As a pointer to a sub-field
of a variable can also reach all other fields of the variable
@ -1553,6 +1547,12 @@ do_sd_constraint (constraint_graph_t graph, constraint_t c,
}
}
if (bitmap_bit_p (delta, anything_id))
{
flag |= bitmap_set_bit (sol, anything_id);
goto done;
}
/* For each variable j in delta (Sol(y)), add
an edge in the graph from j to x, and union Sol(j) into Sol(x). */
EXECUTE_IF_SET_IN_BITMAP (delta, 0, j, bi)