Fork of llvm with experimental commits and workarounds for RPCS3
Go to file
Ulrich Weigand 0487d18102 [SystemZ] Add remaining branch instructions
This patch adds assembler support for the remaining branch instructions:
the non-relative branch on count variants, and all variants of branch
on index.

The only one of those that can be readily exploited for code generation
is BRCTH (branch on count using a high 32-bit register as count).  Do
use it, however, it is necessary to also introduce a hew CHIMux pseudo
to allow comparisons of a 32-bit value agains a short immediate to go
into a high register as well (implemented via CHI/CIH).

This causes a bit of codegen changes overall, but those have proven to
be neutral (or even beneficial) in performance measurements.

llvm-svn: 288029
2016-11-28 13:40:08 +00:00
bindings Fix go binding to adapt the new attribute API 2016-11-18 10:11:02 +00:00
cmake [CMake] Apply sandbox profile to target not directory 2016-11-19 01:32:09 +00:00
docs Fix doc of llvm.bitreverse.iN 2016-11-23 16:25:31 +00:00
examples ExceptionDemo: remove some undefined behaviour 2016-11-20 02:36:38 +00:00
include [InlineCost] Reduce inline thresholds to compensate for cost changes 2016-11-28 11:07:37 +00:00
lib [SystemZ] Add remaining branch instructions 2016-11-28 13:40:08 +00:00
projects
resources
runtimes
test [SystemZ] Add remaining branch instructions 2016-11-28 13:40:08 +00:00
tools Object: Add IRObjectFile::getTargetTriple(). 2016-11-24 01:13:09 +00:00
unittests [ThreadPool] Rollback recent changes until I figure out the breakage. 2016-11-28 09:17:12 +00:00
utils TableGen: Allow signed immediates for instruction aliases 2016-11-24 08:53:28 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Add an option to disable libedit 2016-11-18 01:25:49 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT Test Commit, removing a blank line in CREDITS.TXT 2016-11-24 15:40:19 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.