diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2018-07-31 17:36:36 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2018-07-31 17:36:36 +0000 |
commit | f3debef33629f8e8a95b5ed0cb79296e7a0282df (patch) | |
tree | f5992c2819cabd23432a44ebf8afd245a075eed1 /gcc/targhooks.c | |
parent | c0111dc43591647ef6d619a1fc222a8e9a06e058 (diff) | |
download | gcc-f3debef33629f8e8a95b5ed0cb79296e7a0282df.zip gcc-f3debef33629f8e8a95b5ed0cb79296e7a0282df.tar.gz gcc-f3debef33629f8e8a95b5ed0cb79296e7a0282df.tar.bz2 |
targhooks - provide an alternative hook for targets that never execute speculatively
This hook adds an alternative implementation for the target hook
TARGET_HAVE_SPECULATION_SAFE_VALUE; it can be used by targets that have no
CPU implementations that execute code speculatively. All that is needed for
such targets now is to add:
#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed.
to where you have your other target hooks and you're done.
gcc:
* targhooks.h (speculation_safe_value_not_needed): New prototype.
* targhooks.c (speculation_safe_value_not_needed): New function.
* target.def (have_speculation_safe_value): Update documentation.
* doc/tm.texi: Regenerated.
From-SVN: r263175
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r-- | gcc/targhooks.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 06de1e3..62051a9 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -2324,6 +2324,13 @@ default_have_speculation_safe_value (bool active) return false; #endif } +/* Alternative implementation of TARGET_HAVE_SPECULATION_SAFE_VALUE + that can be used on targets that never have speculative execution. */ +bool +speculation_safe_value_not_needed (bool active) +{ + return !active; +} /* Default implementation of the speculation-safe-load builtin. This implementation simply copies val to result and generates a |