summaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2005-03-04 14:35:49 -0700
committerJeff Law <law@gcc.gnu.org>2005-03-04 14:35:49 -0700
commitd38ffc55428bbe33b33d8b14693e69cd1b63c820 (patch)
treef9c9a2643a9f3afe1404b5aff6758d8e8da39b9b /gcc/basic-block.h
parent3852e8b8f21397fc719ef45ba404a58bed53a7d0 (diff)
downloadgcc-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.h4
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
{