LLVM backend for 6502
Go to file
Adam Nemet 77d21e8550 [X86] Refactor peepholes for masked shift amount into a multiclass
The peephole (shift x, (and y, 31)) -> (shift x, y) is repeated for each
integer type and each shift variant.

To improve this a new multiclass is added that covers all integer types.  The
shift patterns are now instantiated from this.  I am planning to add new
instances for rotates as well.

No functional change intended:

  * test/CodeGen/X86/shift-and.ll provides coverage

  * Compared the expanded tablegen output and matched up the defs for these
    Pat<>s before and after

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203685 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-12 18:02:33 +00:00
autoconf Add a --enable-clang-plugin-support option to configure. 2014-03-10 16:58:35 +00:00
bindings
cmake
docs IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
examples
include Try harder to evaluate expressions when printing assembly. 2014-03-12 16:55:59 +00:00
lib [X86] Refactor peepholes for masked shift amount into a multiclass 2014-03-12 18:02:33 +00:00
projects "Mac OS/X" -> "Mac OS X" spelling fixes for llvm. 2014-03-07 18:08:54 +00:00
test Turn on hashing by default for split dwarf compile units. 2014-03-12 17:14:43 +00:00
tools Move duplicated code into a helper function (exposed through overload). 2014-03-12 16:12:36 +00:00
unittests unittests: Fix -Werror build 2014-03-12 17:00:52 +00:00
utils [lit] Fix non-function style print statement. 2014-03-11 14:05:49 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt move WITH_POLLY option before add_subdirectory(tools) 2014-03-11 22:42:07 +00:00
CODE_OWNERS.TXT
configure Add a --enable-clang-plugin-support option to configure. 2014-03-10 16:58:35 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Add a --enable-clang-plugin-support option to configure. 2014-03-10 16:58:35 +00:00
Makefile.rules "Mac OS/X" -> "Mac OS X" spelling fixes for llvm. 2014-03-07 18:08:54 +00:00
README.txt

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

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.