diff options
author | Richard Biener <rguenther@suse.de> | 2020-07-20 15:58:19 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-07-20 16:00:48 +0200 |
commit | 57d4771b7c15db139043bf41a03b8abe01e11f18 (patch) | |
tree | 7cf00a9dc0c8ecf5dae198de70e5c359e92c3c60 /gcc | |
parent | a926eeedf43512b8576855c0afa51ec29662fd5a (diff) | |
download | gcc-57d4771b7c15db139043bf41a03b8abe01e11f18.zip gcc-57d4771b7c15db139043bf41a03b8abe01e11f18.tar.gz gcc-57d4771b7c15db139043bf41a03b8abe01e11f18.tar.bz2 |
remove write-only array in rev_post_order_and_mark_dfs_back_seme
This removes a write-only array in
rev_post_order_and_mark_dfs_back_seme.
2020-07-20 Richard Biener <rguenther@suse.de>
* cfganal.c (rev_post_order_and_mark_dfs_back_seme): Remove
write-only post array.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cfganal.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gcc/cfganal.c b/gcc/cfganal.c index 395b810..5c85ebe 100644 --- a/gcc/cfganal.c +++ b/gcc/cfganal.c @@ -1079,13 +1079,12 @@ rev_post_order_and_mark_dfs_back_seme (struct function *fn, edge entry, a need to re-allocate. */ auto_vec<edge, 20> stack (2 * n_basic_blocks_for_fn (fn)); - int *pre = XNEWVEC (int, 2 * last_basic_block_for_fn (fn)); - int *post = pre + last_basic_block_for_fn (fn); + int *pre = XNEWVEC (int, last_basic_block_for_fn (fn)); /* BB flag to track nodes that have been visited. */ auto_bb_flag visited (fn); - /* BB flag to track which nodes have post[] assigned to avoid - zeroing post. */ + /* BB flag to track which nodes have postorder visting completed. Used + for backedge marking. */ auto_bb_flag post_assigned (fn); /* Push the first edge on to the stack. */ @@ -1133,7 +1132,6 @@ rev_post_order_and_mark_dfs_back_seme (struct function *fn, edge entry, { /* There are no successors for the DEST node so assign its reverse completion number. */ - post[dest->index] = rev_post_order_num; dest->flags |= post_assigned; rev_post_order[rev_post_order_num] = dest->index; rev_post_order_num++; @@ -1142,16 +1140,15 @@ rev_post_order_and_mark_dfs_back_seme (struct function *fn, edge entry, else { if (dest->flags & visited + && !(dest->flags & post_assigned) && src != entry->src - && pre[src->index] >= pre[dest->index] - && !(dest->flags & post_assigned)) + && pre[src->index] >= pre[dest->index]) e->flags |= EDGE_DFS_BACK; if (idx != 0 && stack[idx - 1]->src != src) { /* There are no more successors for the SRC node so assign its reverse completion number. */ - post[src->index] = rev_post_order_num; src->flags |= post_assigned; rev_post_order[rev_post_order_num] = src->index; rev_post_order_num++; |