llvm-6502/test
Robin Morisset 5052940c27 Restore "[ARM, Fix] Fix emitLeading/TrailingFence on old ARM processors"
Summary:
This patch was originally in D5304 (I could not find a way to reopen that revision).
It was accepted, commited and broke the build bots because the overloading of
the constructor of ArrayRef for braced initializer lists is not supported by all
toolchains. I then reverted it, and propose this fixed version that uses a plain
C array instead in makeDMB (that array is then converted implicitly to an
ArrayRef, but that is not behind an ifdef). Could someone confirm me whether
initialization lists for plain C arrays are supported by every toolchain used
to build llvm ? Otherwise I can just initialize the array in the old way:
args[0] = ...; .. ; args[5] = ...;

Below is the description of the original patch:
```
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: llvm-commits, aemerson

Differential Revision: http://reviews.llvm.org/D5386

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218066 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-18 18:56:04 +00:00
..
Analysis AVX-512: added cost for some AVX-512 instructions 2014-09-16 07:57:37 +00:00
Assembler [inline asm] Add a check in InlineAsm::ConstraintInfo::Parse to make sure '{' 2014-09-05 22:30:32 +00:00
Bindings Restore the ability to check if LLVMCreateObjectFile was successful 2014-09-05 21:22:09 +00:00
Bitcode Teach llvm-bcanalyzer to use one stream's BLOCKINFO to read another stream. 2014-08-30 17:07:55 +00:00
BugPoint
CodeGen Restore "[ARM, Fix] Fix emitLeading/TrailingFence on old ARM processors" 2014-09-18 18:56:04 +00:00
DebugInfo DebugInfo: Do not use DW_FORM_GNU_addr_index in skeleton CUs, GDB 7.8 errors on this. 2014-09-07 17:31:42 +00:00
ExecutionEngine [MCJIT] Make sure we test ARM BR24 relocations with both internal and external 2014-09-11 22:43:36 +00:00
Feature [AArch64] Update test case to pass with post-RA MI scheduler. 2014-09-13 03:23:23 +00:00
FileCheck
Instrumentation [asan-assembly-instrumentation] Added CFI directives to the generated instrumentation code. 2014-09-10 09:45:49 +00:00
Integer
JitListener
Linker Merge alignment of common GlobalValue. 2014-09-09 17:48:18 +00:00
LTO
MC ARM: prevent crash on ELF directives on COFF 2014-09-18 04:28:29 +00:00
Object Nuke MCAnalysis. 2014-09-02 22:32:20 +00:00
Other [lit] Parse all strings as UTF-8 rather than ASCII. 2014-09-12 16:46:05 +00:00
TableGen [TableGen] Fully resolve class-instance values before defs in multiclasses 2014-09-16 17:14:13 +00:00
tools [llvm-objdump] clean up test cases now that build bots are green 2014-09-17 21:53:07 +00:00
Transforms [IndVarSimplify] Partially revert r217953 to see if this fixes the bots. 2014-09-17 16:35:09 +00:00
Unit
Verifier Verifier: Don't reject varargs callee cleanup functions 2014-08-29 21:25:28 +00:00
YAMLParser
.clang-format
CMakeLists.txt Add LLVMgold target to test dependencies. 2014-09-10 22:20:49 +00:00
lit.cfg Exclude known and bugzilled failures from UBSan bootstrap 2014-09-17 20:17:52 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh