diff options
author | Jan Hubicka <jh@suse.cz> | 2001-11-28 10:47:25 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-11-28 09:47:25 +0000 |
commit | db4a825457efe5f2b71281fa17f59ce2d7c65a6d (patch) | |
tree | 97187b5417e7845f32035f0c7bc2cd22abcfb809 /gcc/cfganal.c | |
parent | 562d21e913afeb56dced1b60fdfe6ff09a2fbf23 (diff) | |
download | gcc-db4a825457efe5f2b71281fa17f59ce2d7c65a6d.zip gcc-db4a825457efe5f2b71281fa17f59ce2d7c65a6d.tar.gz gcc-db4a825457efe5f2b71281fa17f59ce2d7c65a6d.tar.bz2 |
cse.c (true_dependence_in_rtx): New function.
* cse.c (true_dependence_in_rtx): New function.
(invalidate): Use it.
* c-common.h (GOTO_FAKE_P): New macro.
* tree-inline.c (GOTO_FAKE_P): Set.
* c-tree.texi (GOTO_FAKE_P): Document.
* varasm.c (assemble_variable): Set reloc to 3 for error_mark
containing pointers.
(output_addressed_constants): Check for local/external relocations.
* elfos.h (SELECT_SECTION): Classify data section.
* tm.texi (SELECT_SECTION): Update documentation.
* cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
(flow_dfs_compute_reverse_execute): Add only unvisited blocks.
From-SVN: r47405
Diffstat (limited to 'gcc/cfganal.c')
-rw-r--r-- | gcc/cfganal.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/cfganal.c b/gcc/cfganal.c index 679a6e6..6924fd3 100644 --- a/gcc/cfganal.c +++ b/gcc/cfganal.c @@ -980,6 +980,7 @@ flow_dfs_compute_reverse_add_bb (data, bb) basic_block bb; { data->stack[data->sp++] = bb; + SET_BIT (data->visited_blocks, bb->index - (INVALID_BLOCK + 1)); return; } @@ -999,16 +1000,11 @@ flow_dfs_compute_reverse_execute (data) while (data->sp > 0) { bb = data->stack[--data->sp]; - - /* Mark that we have visited this node. */ - if (!TEST_BIT (data->visited_blocks, bb->index - (INVALID_BLOCK + 1))) - { - SET_BIT (data->visited_blocks, bb->index - (INVALID_BLOCK + 1)); - - /* Perform depth-first search on adjacent vertices. */ - for (e = bb->pred; e; e = e->pred_next) - flow_dfs_compute_reverse_add_bb (data, e->src); - } + /* Perform depth-first search on adjacent vertices. */ + for (e = bb->pred; e; e = e->pred_next) + if (!TEST_BIT (data->visited_blocks, + e->src->index - (INVALID_BLOCK + 1))) + flow_dfs_compute_reverse_add_bb (data, e->src); } /* Determine if there are unvisited basic blocks. */ |