LLVM backend for 6502
Go to file
Hans Wennborg 93ba133906 CodeGenPrep: turn lookup tables into switches for some targets.
This is a follow-up from r163302, which added a transformation to
SimplifyCFG that turns some switches into loads from lookup tables.

It was pointed out that some targets, such as GPUs and deeply embedded
targets, might not find this appropriate, but SimplifyCFG doesn't have
enough information about the target to decide this.

This patch adds the reverse transformation to CodeGenPrep: it turns
loads from lookup tables back into switches for targets where we do not
build jump tables (assuming these are also the targets where lookup
tables are inappropriate).

Hopefully we will eventually get to have target information in
SimplifyCFG, and then this CodeGenPrep transformation can be removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164206 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-19 07:48:16 +00:00
autoconf Temporarily revert this to bring back the bots. 2012-08-28 01:17:46 +00:00
bindings add support for ocaml 3.12 2012-09-02 14:42:56 +00:00
cmake CMake toolchain file for Android NDK. 2012-09-11 11:54:27 +00:00
docs Test commit 2012-09-18 22:21:43 +00:00
examples
include Refactor Record* by-ID comparator to Record.h 2012-09-19 01:47:00 +00:00
lib CodeGenPrep: turn lookup tables into switches for some targets. 2012-09-19 07:48:16 +00:00
projects Enable recursing into the compiler-rt projcet with the CMake build. 2012-08-29 00:38:02 +00:00
runtime libprofile: [CMake] Let libprofile_rt be not loadable_module but shared library. Autoconf's one does so. 2012-08-29 00:37:51 +00:00
test CodeGenPrep: turn lookup tables into switches for some targets. 2012-09-19 07:48:16 +00:00
tools Silence -Wnon-virtual-dtor in llvm-stress. 2012-09-19 05:08:30 +00:00
unittests Fix includes of llvm files that used angle brackets. 2012-09-15 18:45:38 +00:00
utils Remove code for setting the VEX L-bit as a function of operand size from the code emitters and the disassembler table builder. Fix a couple instructions that were still missing VEX_L. 2012-09-19 06:37:45 +00:00
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure Temporarily revert this to bring back the bots. 2012-08-28 01:17:46 +00:00
CREDITS.TXT Add IRC handle. 2012-09-11 07:50:40 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile darwin/cross-build: Unset SDKROOT when building BuildTools. 2012-08-22 22:01:01 +00:00
Makefile.common
Makefile.config.in Temporarily revert this to bring back the bots. 2012-08-28 01:17:46 +00:00
Makefile.rules Temporarily revert this to bring back the bots. 2012-08-28 01:17:46 +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.