LLVM backend for 6502
Go to file
Duncan Sands b2cbdc35ba Simplify binary operations where one operand is a select instruction.
The simplifications performed here never create new instructions, they
only return existing instructions (or a constant), and so are always a
win.  In theory they should transform (for example)
  %z = and i32 %x, %y
  %s = select i1 %cond, i32 %y, i32 %z
  %r = and i32 %x, %s
into
  %r = and i32 %x, y
but in practice they get into a fight with instcombine, and lose.
Unfortunately instcombine does a poor job in this case.  Nonetheless
I'm committing this transform to make it easier to discuss what to
do to make peace with instcombine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118679 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10 13:00:08 +00:00
autoconf
bindings
cmake Adding working version of assembly parser for the MBlaze backend 2010-11-08 19:40:01 +00:00
docs add (and document) the ability for alias results to have 2010-11-06 19:57:21 +00:00
examples
include There is no EndPtr anymore - reinterpret the original comment in terms 2010-11-10 07:46:36 +00:00
lib Simplify binary operations where one operand is a select instruction. 2010-11-10 13:00:08 +00:00
projects
runtime
test Add a test to the previous added clo instruction. Patch by Akira again 2010-11-10 02:22:44 +00:00
tools Fix some places where error messages were being swallowed. 2010-11-09 01:13:31 +00:00
unittests
utils Translate IntrReadArgMem to AccessesArgumentsReadonly. 2010-11-09 20:07:20 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt CMake: Build utils/KillTheDoctor only on MSVC for now. 2010-10-26 05:08:27 +00:00
configure
CREDITS.TXT Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +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 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.