diff options
Diffstat (limited to 'gcc/tree-ssa-phiopt.c')
-rw-r--r-- | gcc/tree-ssa-phiopt.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c index 277e733..43938d7 100644 --- a/gcc/tree-ssa-phiopt.c +++ b/gcc/tree-ssa-phiopt.c @@ -148,9 +148,9 @@ tree_ssa_phiopt (void) outer ones, and also that we do not try to visit a removed block. */ bb_order = blocks_in_phiopt_order (); - n = n_basic_blocks; + n = n_basic_blocks - NUM_FIXED_BLOCKS; - for (i = 0; i < n; i++) + for (i = 0; i < n; i++) { tree cond_expr; tree phi; @@ -248,11 +248,12 @@ blocks_in_phiopt_order (void) { basic_block x, y; basic_block *order = xmalloc (sizeof (basic_block) * n_basic_blocks); - unsigned n = n_basic_blocks, np, i; - sbitmap visited = sbitmap_alloc (last_basic_block + 2); + unsigned n = n_basic_blocks - NUM_FIXED_BLOCKS; + unsigned np, i; + sbitmap visited = sbitmap_alloc (last_basic_block); -#define MARK_VISITED(BB) (SET_BIT (visited, (BB)->index + 2)) -#define VISITED_P(BB) (TEST_BIT (visited, (BB)->index + 2)) +#define MARK_VISITED(BB) (SET_BIT (visited, (BB)->index)) +#define VISITED_P(BB) (TEST_BIT (visited, (BB)->index)) sbitmap_zero (visited); |