diff options
author | Alexander Monakov <amonakov@ispras.ru> | 2017-09-01 17:08:42 +0300 |
---|---|---|
committer | Alexander Monakov <amonakov@gcc.gnu.org> | 2017-09-01 17:08:42 +0300 |
commit | 44acb9ba2b8ed7b588d5975773e591f477ef35c2 (patch) | |
tree | ba9e68e17af56e94b88d6f133936068ba9a8577e /gcc/optabs.c | |
parent | 3ca3c6ef7110fb842cf8175a58d91d239c418bbe (diff) | |
download | gcc-44acb9ba2b8ed7b588d5975773e591f477ef35c2.zip gcc-44acb9ba2b8ed7b588d5975773e591f477ef35c2.tar.gz gcc-44acb9ba2b8ed7b588d5975773e591f477ef35c2.tar.bz2 |
retire mem_signal_fence pattern
* config/s390/s390.md (mem_signal_fence): Remove.
* doc/md.texi (mem_signal_fence): Remove.
* optabs.c (expand_mem_signal_fence): Remove uses of mem_signal_fence.
Update comments.
* target-insns.def (mem_signal_fence): Remove.
From-SVN: r251597
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index d30e4c6..2c4de74 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -6318,22 +6318,15 @@ expand_mem_thread_fence (enum memmodel model) expand_asm_memory_barrier (); } -/* This routine will either emit the mem_signal_fence pattern or issue a - sync_synchronize to generate a fence for memory model MEMMODEL. */ +/* Emit a signal fence with given memory model. */ void expand_mem_signal_fence (enum memmodel model) { - if (targetm.have_mem_signal_fence ()) - emit_insn (targetm.gen_mem_signal_fence (GEN_INT (model))); - else if (!is_mm_relaxed (model)) - { - /* By default targets are coherent between a thread and the signal - handler running on the same thread. Thus this really becomes a - compiler barrier, in that stores must not be sunk past - (or raised above) a given point. */ - expand_asm_memory_barrier (); - } + /* No machine barrier is required to implement a signal fence, but + a compiler memory barrier must be issued, except for relaxed MM. */ + if (!is_mm_relaxed (model)) + expand_asm_memory_barrier (); } /* This function expands the atomic load operation: |