LLVM backend for 6502
Go to file
Benjamin Kramer 56442dfdcf SimplifyCFG: Turn switches into sub+icmp+branch if possible.
This makes the job of the later optzn passes easier, allowing the vast amount of
icmp transforms to chew on it.

We transform 840 switches in gcc.c, leading to a 16k byte shrink of the resulting
binary on i386-linux.

The testcase from README.txt now compiles into
  decl  %edi
  cmpl  $3, %edi
  sbbl  %eax, %eax
  andl  $1, %eax
  ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124724 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-02 15:56:22 +00:00
autoconf autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into llvm.dll with --enable-shared on Cygming. 2010-12-29 03:59:14 +00:00
bindings Fix OCaml bindings crash, PR8847. 2010-12-23 15:49:26 +00:00
cmake Adds some platform checks to cmake/config-ix.cmake and fixes checking 2011-01-31 18:25:25 +00:00
docs Document the LLVM GIT mirror 2011-02-01 20:08:28 +00:00
examples Do not re-test for the existence of pthread.h. 2010-12-23 21:27:22 +00:00
include Remove NoVendor and NoOS, added in commit 123990, from Triple. While it 2011-02-02 10:08:38 +00:00
lib SimplifyCFG: Turn switches into sub+icmp+branch if possible. 2011-02-02 15:56:22 +00:00
projects Regen configure 2010-12-12 21:42:01 +00:00
runtime Implementation of path profiling. 2011-01-29 01:09:53 +00:00
test SimplifyCFG: Turn switches into sub+icmp+branch if possible. 2011-02-02 15:56:22 +00:00
tools Don't tell the linker about available_externally definitions. If we do, it will 2011-02-01 00:41:51 +00:00
unittests Remove NoVendor and NoOS, added in commit 123990, from Triple. While it 2011-02-02 10:08:38 +00:00
utils Update to match changes in lldb interface. 2011-02-01 21:47:35 +00:00
website
.gitignore Cleanup and document .gitignore. 2010-12-17 17:22:50 +00:00
build-for-llvm-top.sh
CMakeLists.txt Handles libffi on the CMake build. 2011-01-21 15:42:54 +00:00
configure autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into llvm.dll with --enable-shared on Cygming. 2010-12-29 03:59:14 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into llvm.dll with --enable-shared on Cygming. 2010-12-29 03:59:14 +00:00
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.