llvm/test
Richard Sandiford 086791eca2 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@196905 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-10 10:36:34 +00:00
..
Analysis Use correct size for address space in BasicAA. 2013-11-16 00:36:43 +00:00
Assembler Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
Bindings Update Ocaml/vmcore.ml to emit a "Debug Info Version" module flag. 2013-12-02 21:25:56 +00:00
Bitcode Fixed CRLF 2013-12-08 12:16:20 +00:00
BugPoint Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
CodeGen Add TargetLowering::prepareVolatileOrAtomicLoad 2013-12-10 10:36: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 Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
FileCheck FileCheck: fix a bug with multiple --check-prefix options. Similar to r194565 2013-11-20 13:25:05 +00:00
Instrumentation [asan] rewrite asan's stack frame layout 2013-12-06 09:00:17 +00:00
Integer
JitListener Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
Linker Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
LTO Protect user-supplied runtime library functions in LTO 2013-11-12 21:44:01 +00:00
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 Add a fixed version of r195470 back. 2013-11-22 17:58:12 +00:00
TableGen Mark 36 tests as XFAIL:vg_leak in llvm/test/TableGen. 2013-11-10 14:26:08 +00:00
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 [Support][YAML] Add support for accessing tags and tag handle substitution. 2013-10-18 22:38:04 +00:00
.clang-format Add .clang-format without column limit to subdirectory tests/. 2013-11-19 04:26:05 +00:00
CMakeLists.txt check-llvm: Ask llvm-config about assertion mode, instead of llc. 2013-12-03 23:22:25 +00:00
lit.cfg check-llvm: Ask llvm-config about assertion mode, instead of llc. 2013-12-03 23:22:25 +00:00
lit.site.cfg.in Fix LTO handling of module-level assembly (PR14152). 2013-09-19 22:15:52 +00:00
Makefile [OCaml] Dynamically link LLVM on --enable-shared builds 2013-11-12 20:55:49 +00:00
Makefile.tests
TestRunner.sh