LLVM backend for 6502
Go to file
Benjamin Kramer 4fc719e607 instcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & x) ^ z which is one instruction shorter. (PR6773)
before:
  %and = and i32 %y, %x
  %neg = xor i32 %x, -1
  %and4 = and i32 %z, %neg
  %xor = xor i32 %and4, %and

after:
  %xor1 = xor i32 %z, %y
  %and2 = and i32 %xor1, %x
  %xor = xor i32 %and2, %z


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108136 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-12 11:54:45 +00:00
autoconf Pull in the libCrashReporterClient.a information with a warning comment. 2010-06-28 18:25:51 +00:00
bindings Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
cmake
docs Remove TargetInstrInfo::copyRegToReg entirely. 2010-07-11 17:01:17 +00:00
examples Convert some tab stops into spaces. 2010-07-12 08:16:59 +00:00
include Convert some tab stops into spaces. 2010-07-12 08:16:59 +00:00
lib instcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & x) ^ z which is one instruction shorter. (PR6773) 2010-07-12 11:54:45 +00:00
projects
runtime
test instcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & x) ^ z which is one instruction shorter. (PR6773) 2010-07-12 11:54:45 +00:00
tools Convert some tab stops into spaces. 2010-07-12 08:16:59 +00:00
unittests Use non-bool values for .count. 2010-07-10 18:56:35 +00:00
utils Convert some tab stops into spaces. 2010-07-12 08:16:59 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt Fix LLVM CMake PACKAGE_VERSION variable. 2010-06-25 16:29:14 +00:00
configure Pull in the libCrashReporterClient.a information with a warning comment. 2010-06-28 18:25:51 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile Issue the warning about being slow whenever optimization is disabled, 2010-07-07 16:48:16 +00:00
Makefile.common
Makefile.config.in typo in comment, regeneration not necessary 2010-07-07 13:58:46 +00:00
Makefile.rules Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts" 2010-07-07 07:48:00 +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.