diff options
author | Jeff Law <law@redhat.com> | 2005-03-04 14:35:49 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2005-03-04 14:35:49 -0700 |
commit | d38ffc55428bbe33b33d8b14693e69cd1b63c820 (patch) | |
tree | f9c9a2643a9f3afe1404b5aff6758d8e8da39b9b /gcc/basic-block.h | |
parent | 3852e8b8f21397fc719ef45ba404a58bed53a7d0 (diff) | |
download | gcc-d38ffc55428bbe33b33d8b14693e69cd1b63c820.tar.gz |
basic-block.h (rediscover_loops_after_threading): Declare.
* basic-block.h (rediscover_loops_after_threading): Declare.
* tree-ssa-dom.c: Include cfgloop.h.
(tree_ssa_dominator_optimize): Discover loops and some basic
properties. Remove forwarder blocks recreated by loop header
canonicalization. Also mark backedges in the CFG.
* tree-ssa-threadupdate.c: Include cfgloop.h
(rediscover_loops_after_threading): Define.
(struct local_info): New field, JUMP_THREADED.
(prune_undesirable_thread_requests): New function.
(redirect_edges): Clear EDGE_ABNORMAL. If edges were threaded
then record that fact for the callers of redirct_edges.
(thread_block): If BB has incoming backedges, then call
prune_undesirable_thraed_requests. Note when we are
going to have to rediscover loop information. Return a
boolean indicating if any jumps were threaded.
(thread_through_all_blocks): Bubble up boolean indicating
if any jumps were threaded.
* Makefile.in (tree-ssa-dom.o): Depend on cfgloop.h
(tree-ssa-threadupdate.o): Similarly.
From-SVN: r95903
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 3382cd7321e..92334a39e84 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -352,6 +352,10 @@ extern int last_basic_block; extern int n_edges; +/* TRUE if we should re-run loop discovery after threading jumps, FALSE + otherwise. */ +extern bool rediscover_loops_after_threading; + /* Signalize the status of profile information in the CFG. */ extern enum profile_status { |