diff options
author | Kewen Lin <linkw@gcc.gnu.org> | 2019-06-18 05:08:02 +0000 |
---|---|---|
committer | Kewen Lin <linkw@gcc.gnu.org> | 2019-06-18 05:08:02 +0000 |
commit | 74b5fcf733823b353b331c0ca30e8b71ba98c9cf (patch) | |
tree | b9ed33a1d95fac033d35268b37e4cf0e4bcf2ca1 /gcc/targhooks.h | |
parent | 702eb490a864239256203b7fad53e397d3e7fa54 (diff) |
Add predict_doloop_p target hook
Add one target hook predict_doloop_p, it return true if we can predict it
is possible to use a low-overhead loop, it can help ivopts to make some
better decisions.
PR middle-end/80791
* target.def (predict_doloop_p): New hook.
* targhooks.h (default_predict_doloop_p): New declaration.
* targhooks.c (default_predict_doloop_p): New function.
* doc/tm.texi.in (TARGET_PREDICT_DOLOOP_P): New hook.
* doc/tm.texi: Regenerate.
* config/rs6000/rs6000.c (rs6000_predict_doloop_p): New function.
(TARGET_PREDICT_DOLOOP_P): New macro.
* tree-ssa-loop-ivopts.c (generic_predict_doloop_p): New function.
From-SVN: r272405
Diffstat (limited to 'gcc/targhooks.h')
-rw-r--r-- | gcc/targhooks.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/targhooks.h b/gcc/targhooks.h index 229aacd7b65..50b03ce3aa0 100644 --- a/gcc/targhooks.h +++ b/gcc/targhooks.h @@ -85,6 +85,7 @@ extern bool default_fixed_point_supported_p (void); extern bool default_has_ifunc_p (void); +extern bool default_predict_doloop_p (struct loop *); extern const char * default_invalid_within_doloop (const rtx_insn *); extern tree default_builtin_vectorized_function (unsigned int, tree, tree); |