diff options
Diffstat (limited to 'gcc/domwalk.c')
-rw-r--r-- | gcc/domwalk.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/domwalk.c b/gcc/domwalk.c index 4816b4c8d85..3350e4bb510 100644 --- a/gcc/domwalk.c +++ b/gcc/domwalk.c @@ -150,13 +150,14 @@ void dom_walker::walk (basic_block bb) { basic_block dest; - basic_block *worklist = XNEWVEC (basic_block, n_basic_blocks * 2); + basic_block *worklist = XNEWVEC (basic_block, + n_basic_blocks_for_fn (cfun) * 2); int sp = 0; int *postorder, postorder_num; if (m_dom_direction == CDI_DOMINATORS) { - postorder = XNEWVEC (int, n_basic_blocks); + postorder = XNEWVEC (int, n_basic_blocks_for_fn (cfun)); postorder_num = inverted_post_order_compute (postorder); bb_postorder = XNEWVEC (int, last_basic_block); for (int i = 0; i < postorder_num; ++i) @@ -168,8 +169,8 @@ dom_walker::walk (basic_block bb) { /* Don't worry about unreachable blocks. */ if (EDGE_COUNT (bb->preds) > 0 - || bb == ENTRY_BLOCK_PTR - || bb == EXIT_BLOCK_PTR) + || bb == ENTRY_BLOCK_PTR_FOR_FN (cfun) + || bb == EXIT_BLOCK_PTR_FOR_FN (cfun)) { /* Callback for subclasses to do custom things before we have walked the dominator children, but before we walk statements. */ |