From a912a223f3476de2f977aebd5ba56dc646ba1e6d Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Wed, 1 Dec 2004 23:53:17 +0000 Subject: [PATCH] re PR tree-optimization/18763 (Gcc failed to bootstrap with --disable-checking) 2004-12-01 Andrew Pinski 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. From-SVN: r91589 --- gcc/ChangeLog | 7 +++++++ gcc/tree-ssa-alias.c | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f217947d4aa..d997f41301e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-12-01 Andrew Pinski + + 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. + 2004-12-01 Mark Mitchell * Makefile.in (WERROR): New variable. 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. */ -- 2.30.2