llvm-capstone/llvm
Craig Topper 8d511a65af [X86] Add DAG combine to turn (bitcast (and/or/xor (bitcast X), Y)) -> (and/or/xor X, (bitcast Y)) when casting between GPRs and mask operations.
This reduces the number of transitions between k-registers and GPRs, reducing the number of instructions.

There's still some room for improvement to remove more transitions, but this is a good start.

llvm-svn: 324184
2018-02-04 01:43:48 +00:00
..
bindings
cmake
docs Coding Standards: Document library layering requirements & header isolation. 2018-02-01 21:03:35 +00:00
examples
include [X86] Remove and autoupgrade kand/kandn/kor/kxor/kxnor/knot intrinsics. 2018-02-03 20:18:25 +00:00
lib [X86] Add DAG combine to turn (bitcast (and/or/xor (bitcast X), Y)) -> (and/or/xor X, (bitcast Y)) when casting between GPRs and mask operations. 2018-02-04 01:43:48 +00:00
projects
resources
runtimes
test [X86] Add DAG combine to turn (bitcast (and/or/xor (bitcast X), Y)) -> (and/or/xor X, (bitcast Y)) when casting between GPRs and mask operations. 2018-02-04 01:43:48 +00:00
tools Fix typo 2018-02-02 19:20:37 +00:00
unittests [ORC] Rename NullResolver to NullLegacyResolver. 2018-02-03 16:52:48 +00:00
utils Make utils/UpdateTestChecks/common.py Python 2/3 compatible and fix print statements. 2018-02-02 16:41:07 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure
CREDITS.TXT
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.