llvm-6502/test
Richard Sandiford aedb288d86 Add TargetLowering::prepareVolatileOrAtomicLoad
One unusual feature of the z architecture is that the result of a
previous load can be reused indefinitely for subsequent loads, even if
a cache-coherent store to that location is performed by another CPU.
A special serializing instruction must be used if you want to force
a load to be reattempted.

Since volatile loads are not supposed to be omitted in this way,
we should insert a serializing instruction before each such load.
The same goes for atomic loads.

The patch implements this at the IR->DAG boundary, in a similar way
to atomic fences.  It is a no-op for targets other than SystemZ.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196906 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-10 10:49:34 +00:00
..
Analysis
Assembler
Bindings
Bitcode Fixed CRLF 2013-12-08 12:16:20 +00:00
BugPoint
CodeGen Add TargetLowering::prepareVolatileOrAtomicLoad 2013-12-10 10:49:34 +00:00
DebugInfo Update testcase for previous commit. 2013-12-10 01:12:16 +00:00
ExecutionEngine Remove empty MCJIT/load-object-a.ll since r196641. 2013-12-07 06:17:10 +00:00
Feature
FileCheck
Instrumentation [asan] rewrite asan's stack frame layout 2013-12-06 09:00:17 +00:00
Integer
JitListener
Linker
LTO
MC Method parseSetAssignment treats every operand with '$' sign as register and the parsing is directed to set alias for register. This will result in errors reported when expressions containing label references are parsed(for example long jumps) 2013-12-09 11:03:25 +00:00
Object Correct word hyphenations 2013-12-05 05:44:44 +00:00
Other
TableGen
tools llvm-cov: Added -a option for block data. 2013-12-10 01:02:07 +00:00
Transforms Transforms: Don't create bad branch weights when folding a switch 2013-12-10 00:13:41 +00:00
Unit
Verifier Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh