diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-06-08 18:41:35 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2017-06-08 16:41:35 +0000 |
commit | 5591f0dd96af5ed9e0de9fcf4dee0c62c7089b57 (patch) | |
tree | 4f4e0ed99df2f770afb81bcb929bc650a2c841cc /gcc/predict.c | |
parent | dadcc51c88b86487f0145e8db7ff751463be1aff (diff) | |
download | gcc-5591f0dd96af5ed9e0de9fcf4dee0c62c7089b57.zip gcc-5591f0dd96af5ed9e0de9fcf4dee0c62c7089b57.tar.gz gcc-5591f0dd96af5ed9e0de9fcf4dee0c62c7089b57.tar.bz2 |
predict.c (unlikely_executed_edge_p): Move ahead.
* predict.c (unlikely_executed_edge_p): Move ahead.
(probably_never_executed_edge_p): Use it.
From-SVN: r249025
Diffstat (limited to 'gcc/predict.c')
-rw-r--r-- | gcc/predict.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/gcc/predict.c b/gcc/predict.c index b460a6f..bf93230 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -238,11 +238,22 @@ probably_never_executed_bb_p (struct function *fun, const_basic_block bb) } +/* Return true if E is unlikely executed for obvious reasons. */ + +static bool +unlikely_executed_edge_p (edge e) +{ + return e->count == profile_count::zero () + || (e->flags & (EDGE_EH | EDGE_FAKE)); +} + /* Return true in case edge E is probably never executed. */ bool probably_never_executed_edge_p (struct function *fun, edge e) { + if (e->count.initialized_p ()) + unlikely_executed_edge_p (e); return probably_never_executed (fun, e->count, EDGE_FREQUENCY (e)); } @@ -761,15 +772,6 @@ dump_prediction (FILE *file, enum br_predictor predictor, int probability, fprintf (file, "\n"); } -/* Return true if E is unlikely executed. */ - -static bool -unlikely_executed_edge_p (edge e) -{ - return e->count == profile_count::zero () - || (e->flags & (EDGE_EH | EDGE_FAKE)); -} - /* Return true if STMT is known to be unlikely executed. */ static bool |