summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-alias.c
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2004-12-01 23:53:17 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2004-12-01 23:53:17 +0000
commitde3915b33e84f04a811ea16dcc5dcda90a6b36f1 (patch)
treed20718a1b54582951b18adc9911e49dafb1afaca /gcc/tree-ssa-alias.c
parentfc0a90920577445a0ec6ca0ed5cdfeaf6f535375 (diff)
downloadgcc-de3915b33e84f04a811ea16dcc5dcda90a6b36f1.tar.gz
2004-12-01 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/18763 PR tree-opt/18746 * tree-ssa-alias.c (init_alias_info): Get statement operands for all the statements if aliases_computed_p is true. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91589 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r--gcc/tree-ssa-alias.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 37ea0f25290..35f05d3cde6 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -438,6 +438,20 @@ init_alias_info (void)
{
unsigned i;
bitmap_iterator bi;
+ basic_block bb;
+
+ /* Make sure that every statement has a valid set of operands.
+ If a statement needs to be scanned for operands while we
+ compute aliases, it may get erroneous operands because all
+ the alias relations are not built at that point.
+ FIXME: This code will become obsolete when operands are not
+ lazily updated. */
+ FOR_EACH_BB (bb)
+ {
+ block_stmt_iterator si;
+ for (si = bsi_start (bb); !bsi_end_p (si); bsi_next (&si))
+ get_stmt_operands (bsi_stmt (si));
+ }
/* Clear the call-clobbered set. We are going to re-discover
call-clobbered variables. */