diff options
author | Jeff Law <law@redhat.com> | 2013-11-14 13:57:38 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2013-11-14 13:57:38 -0700 |
commit | 5e94175fa5906a1417a229fe9ec93faa10502583 (patch) | |
tree | 844c78fddcf73f2724175bb18f2bd8e1f97aef7d /gcc/basic-block.h | |
parent | 01ef823cdd7f0031d553b6798b2fa545781745f4 (diff) | |
download | gcc-5e94175fa5906a1417a229fe9ec93faa10502583.zip gcc-5e94175fa5906a1417a229fe9ec93faa10502583.tar.gz gcc-5e94175fa5906a1417a229fe9ec93faa10502583.tar.bz2 |
basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
* basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
* tree-inline.c (has_abnormal_outgoing_edge_p): Remove.
* gimple-ssa-isolate-paths.c: Include tree-cfg.h.
(find_implicit_erroneous_behaviour): If a block has abnormal outgoing
edges, then ignore it. If the statement exhibiting erroneous
behaviour ends basic blocks, with the exception of GIMPLE_RETURNs,
then we can not optimize.
(find_explicit_erroneous_behaviour): Likewise.
From-SVN: r204821
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 9c28f14..b7e3b50 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -1008,4 +1008,19 @@ inverse_probability (int prob1) check_probability (prob1); return REG_BR_PROB_BASE - prob1; } + +/* Return true if BB has at least one abnormal outgoing edge. */ + +static inline bool +has_abnormal_outgoing_edge_p (basic_block bb) +{ + edge e; + edge_iterator ei; + + FOR_EACH_EDGE (e, ei, bb->succs) + if (e->flags & EDGE_ABNORMAL) + return true; + + return false; +} #endif /* GCC_BASIC_BLOCK_H */ |