LLVM backend for 6502
Go to file
Evan Cheng 9568e5c3c3 Teach dag combine to match halfword byteswap patterns.
1. (((x) & 0xFF00) >> 8) | (((x) & 0x00FF) << 8)
   => (bswap x) >> 16
2. ((x&0xff)<<8)|((x&0xff00)>>8)|((x&0xff000000)>>8)|((x&0x00ff0000)<<8))
   => (rotl (bswap x) 16)

This allows us to eliminate most of the def : Pat patterns for ARM rev16
revsh instructions. It catches many more cases for ARM and x86.

rdar://9609108


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133503 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-21 06:01:08 +00:00
autoconf build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
bindings
cmake Added LLVM_BUILD_MODE to cmake so that lit supports tests with REQUIRES: {buildmode}. 2011-06-16 22:19:20 +00:00
docs Document nonlazybind. 2011-06-16 16:03:13 +00:00
examples Modify comment. 2011-06-09 20:11:46 +00:00
include Revert r133435 and r133449 to appease buildbots. 2011-06-21 02:09:03 +00:00
lib Teach dag combine to match halfword byteswap patterns. 2011-06-21 06:01:08 +00:00
projects
runtime Remove the LTO stuff from the profile_rt library's Makefile. 2011-06-15 04:56:13 +00:00
test Teach dag combine to match halfword byteswap patterns. 2011-06-21 06:01:08 +00:00
tools Revamp the "ConstantStruct::get" methods. Previously, these were scattered 2011-06-20 04:01:31 +00:00
unittests Revamp the "ConstantStruct::get" methods. Previously, these were scattered 2011-06-20 04:01:31 +00:00
utils Skip fields that don't exist in the Register class. 2011-06-20 20:56:05 +00:00
website
.gitignore
build-for-llvm-top.sh
CMakeLists.txt
configure Regenerate configure. 2011-06-16 22:30:41 +00:00
CREDITS.TXT
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
Makefile Install libprofile_rt.dylib where it's more available for gcov support. 2011-06-10 21:47:14 +00:00
Makefile.common
Makefile.config.in build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
Makefile.rules Don't force remove config.cache on reconfiguration. 2011-06-17 11:08:09 +00:00
ModuleInfo.txt
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 HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.