LLVM backend for 6502
Go to file
Duncan Sands 5057f38141 Exploit distributive laws (eg: And distributes over Or, Mul over Add, etc) in a
fairly systematic way in instcombine.  Some of these cases were already dealt
with, in which case I removed the existing code.  The case of Add has a bunch of
funky logic which covers some of this plus a few variants (considers shifts to be
a form of multiplication), which I didn't touch.  The simplification performed is:
A*B+A*C -> A*(B+C).  The improvement is to do this in cases that were not already
handled [such as A*B-A*C -> A*(B-C), which was reported on the mailing list], and
also to do it more often by not checking for "only one use" if "B+C" simplifies.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120024 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 14:23:47 +00:00
autoconf fix the autoconf script to detect "has asmprinter"ness of a target by 2010-11-14 19:10:47 +00:00
bindings
cmake Implement ELF object file writing support for the MBlaze backend. Its not perfect yet, but it works for many tests. 2010-11-21 22:06:28 +00:00
docs Fix formatting nits in the coding standards. Reviewed by clattner. 2010-11-23 05:03:07 +00:00
examples Fix missing includes of "llvm/Analysis/Passes.h" in the tutorials. Thanks 2010-11-16 17:28:22 +00:00
include Expand a little on the description of what InstructionSimplify does. 2010-11-23 10:50:08 +00:00
lib Exploit distributive laws (eg: And distributes over Or, Mul over Add, etc) in a 2010-11-23 14:23:47 +00:00
projects
runtime
test Exploit distributive laws (eg: And distributes over Or, Mul over Add, etc) in a 2010-11-23 14:23:47 +00:00
tools Add a newline. 2010-11-22 17:10:20 +00:00
unittests reimplement SwapByteOrder.h in terms of overloading instead of 2010-11-23 04:04:25 +00:00
utils lit.GoogleTest: On case-insensitive filesystem, matching should be case-insensitive when directory name is checked with test_sub_dir. 2010-11-19 03:19:26 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt Disable warning C4291 on MSVC. Caused because class AttributeList provides a non implemented operator delete without a corresponding new. 2010-11-20 15:39:03 +00:00
configure fix the autoconf script to detect "has asmprinter"ness of a target by 2010-11-14 19:10:47 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
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.