aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2018-07-31 17:36:45 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2018-07-31 17:36:45 +0000
commit31f52518d4a2c1446692c35de01f3b54f2f544c7 (patch)
treed1bef133378d63099894954f28c50d1115e806d4 /gcc
parentf3debef33629f8e8a95b5ed0cb79296e7a0282df (diff)
downloadgcc-31f52518d4a2c1446692c35de01f3b54f2f544c7.zip
gcc-31f52518d4a2c1446692c35de01f3b54f2f544c7.tar.gz
gcc-31f52518d4a2c1446692c35de01f3b54f2f544c7.tar.bz2
pdp11 - example of a port not needing a speculation barrier
This patch is intended as an example of all that is needed if the target system doesn't support CPUs that have speculative execution. I've chosen the pdp11 port on the basis that it's old enough that this is likely to be true for all existing implementations and that there is also little chance of that changing in future! * config/pdp11/pdp11.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Redefine to speculation_safe_value_not_needed. From-SVN: r263176
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pdp11/pdp11.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f6328f4..d300118 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2018-07-31 Richard Earnshaw <rearnsha@arm.com>
+ * config/pdp11/pdp11.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Redefine
+ to speculation_safe_value_not_needed.
+
+2018-07-31 Richard Earnshaw <rearnsha@arm.com>
+
* 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.
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c
index 1bcdaed..62c653f 100644
--- a/gcc/config/pdp11/pdp11.c
+++ b/gcc/config/pdp11/pdp11.c
@@ -291,6 +291,9 @@ static bool pdp11_scalar_mode_supported_p (scalar_mode);
#undef TARGET_INVALID_WITHIN_DOLOOP
#define TARGET_INVALID_WITHIN_DOLOOP hook_constcharptr_const_rtx_insn_null
+
+#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
+#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
/* A helper function to determine if REGNO should be saved in the
current function's stack frame. */