diff options
author | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-01 23:53:17 +0000 |
---|---|---|
committer | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-01 23:53:17 +0000 |
commit | de3915b33e84f04a811ea16dcc5dcda90a6b36f1 (patch) | |
tree | d20718a1b54582951b18adc9911e49dafb1afaca /gcc/tree-ssa-alias.c | |
parent | fc0a90920577445a0ec6ca0ed5cdfeaf6f535375 (diff) | |
download | gcc-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.c | 14 |
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. */ |