re PR tree-optimization/18307 (merge_pointed_to_info called incorrectly)
PR tree-optimization/18307 * tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and 'orig' are the same node. (collect_points_to_info_r): Do not call merge_pointed_to_info when the PHI argument is identical to the LHS. From-SVN: r90816
This commit is contained in:
parent
7c278f7987
commit
730bddf26c
|
@ -1,3 +1,11 @@
|
|||
2004-11-17 Diego Novillo <dnovillo@redhat.com>
|
||||
|
||||
PR tree-optimization/18307
|
||||
* tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
|
||||
'orig' are the same node.
|
||||
(collect_points_to_info_r): Do not call merge_pointed_to_info
|
||||
when the PHI argument is identical to the LHS.
|
||||
|
||||
2004-11-17 Steven Bosscher <stevenb@suse.de>
|
||||
|
||||
* tree-ssa-propagate.c (cfg_blocks_add) Assert we're not trying
|
||||
|
|
|
@ -1697,12 +1697,8 @@ merge_pointed_to_info (struct alias_info *ai, tree dest, tree orig)
|
|||
{
|
||||
struct ptr_info_def *dest_pi, *orig_pi;
|
||||
|
||||
/* FIXME: It is erroneous to call this function with identical
|
||||
nodes, however that currently occurs during bootstrap. This check
|
||||
stops further breakage. PR 18307 documents the issue. */
|
||||
if (dest == orig)
|
||||
return;
|
||||
|
||||
gcc_assert (dest != orig);
|
||||
|
||||
/* Make sure we have points-to information for ORIG. */
|
||||
collect_points_to_info_for (ai, orig);
|
||||
|
||||
|
@ -1938,7 +1934,9 @@ collect_points_to_info_r (tree var, tree stmt, void *data)
|
|||
break;
|
||||
|
||||
case SSA_NAME:
|
||||
merge_pointed_to_info (ai, lhs, var);
|
||||
/* Avoid unnecessary merges. */
|
||||
if (lhs != var)
|
||||
merge_pointed_to_info (ai, lhs, var);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue