llvm-6502/test
Kit Barton bd9a548881 Add Hardware Transactional Memory (HTM) Support
This patch adds Hardware Transaction Memory (HTM) support supported by ISA 2.07
(POWER8). The intrinsic support is based on GCC one [1], but currently only the
'PowerPC HTM Low Level Built-in Function' are implemented.

The HTM instructions follows the RC ones and the transaction initiation result
is set on RC0 (with exception of tcheck). Currently approach is to create a
register copy from CR0 to GPR and comapring. Although this is suboptimal, since
the branch could be taken directly by comparing the CR0 value, it generates code
correctly on both test and branch and just return value. A possible future
optimization could be elimitate the MFCR instruction to branch directly.

The HTM usage requires a recently newer kernel with PPC HTM enabled. Tested on
powerpc64 and powerpc64le.

This is send along a clang patch to enabled the builtins and option switch.

[1] https://gcc.gnu.org/onlinedocs/gcc/PowerPC-Hardware-Transactional-Memory-Built-in-Functions.html

Phabricator Review: http://reviews.llvm.org/D8247


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233204 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-25 19:36:23 +00:00
..
Analysis When simplifying a SCEV truncate by distributing, consider it a simplification to replace a cast, even if we end up with a trunc around the term. Fixes PR22960! 2015-03-20 02:25:00 +00:00
Assembler Prevent CHECK-NOTs from matching file paths 2015-03-22 15:58:21 +00:00
Bindings
Bitcode Add testing for mismatched explicit type on a gep operator when loading from bitcode 2015-03-16 22:03:50 +00:00
BugPoint Bugpoint: Fix invalid 'inlinedAt:' references in testcase 2015-03-20 19:51:34 +00:00
CodeGen Add Hardware Transactional Memory (HTM) Support 2015-03-25 19:36:23 +00:00
DebugInfo Simplify missing-file-line.ll test. 2015-03-25 17:58:09 +00:00
ExecutionEngine Make exit-code test use same mechanism as existing one. 2015-03-25 14:35:40 +00:00
Feature Rewrite test/Feature/md_on_instruction.ll 2015-03-20 18:34:53 +00:00
FileCheck
Instrumentation [sanitizer] experimental tracing for cmp instructions 2015-03-21 01:29:36 +00:00
Integer
JitListener
Linker Linker: Temporarily disable dwarfdump checks from r233164 2015-03-25 02:43:04 +00:00
LTO libLTO, llvm-lto, gold: Introduce flag for controlling optimization level. 2015-03-19 22:01:00 +00:00
MC Add Hardware Transactional Memory (HTM) Support 2015-03-25 19:36:23 +00:00
Object
Other
SymbolRewriter
TableGen
tools llvm-cov: Require a subcommand when invoked as llvm-cov 2015-03-24 23:34:36 +00:00
Transforms [optnone] Skip pass Float2Int on optnone functions. 2015-03-25 12:22:37 +00:00
Unit
Verifier Verifier: Start recursing into !dbg attachments 2015-03-24 17:32:19 +00:00
YAMLParser
.clang-format
CMakeLists.txt test: Fix the dependencies for the check-llvm-* targets 2015-03-25 08:07:47 +00:00
lit.cfg Tell lit.cfg about more Windows triples. 2015-03-20 22:08:40 +00:00
lit.site.cfg.in test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Makefile test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Makefile.tests
TestRunner.sh