diff options
author | Robin Morisset <morisset@google.com> | 2014-09-17 17:41:16 +0000 |
---|---|---|
committer | Robin Morisset <morisset@google.com> | 2014-09-17 17:41:16 +0000 |
commit | 1c8a457575512644a45253c7ea6ce47f987e72ce (patch) | |
tree | 9ebd796fca4261eadadde0ac0699b156518cd8cc /llvm/tools/llvm-cov/SourceCoverageDataManager.cpp | |
parent | 02dc26529e653854bd97dfb946e48199d449bd98 (diff) | |
download | llvm-1c8a457575512644a45253c7ea6ce47f987e72ce.zip llvm-1c8a457575512644a45253c7ea6ce47f987e72ce.tar.gz llvm-1c8a457575512644a45253c7ea6ce47f987e72ce.tar.bz2 |
[ARM, Fix] Fix emitLeading/TrailingFence on old ARM processors
Summary:
I had only tested this code for ARMv7 and ARMv8. This patch adds several
fallback paths if the processor does not support dmb ish:
- dmb sy if a cortex-M with support for dmb
- mcr p15, #0, r0, c7, c10, #5 for ARMv6 (special instruction equivalent to a DMB)
These fallback paths were chosen based on the code for fence seq_cst.
Thanks to luqmana for having noticed this bug.
Test Plan: Added more cases to atomic-load-store.ll + make check-all
Reviewers: jfb, t.p.northover, luqmana
Subscribers: aemerson, llvm-commits
Differential Revision: http://reviews.llvm.org/D5304
llvm-svn: 217965
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageDataManager.cpp')
0 files changed, 0 insertions, 0 deletions