LLVM backend for 6502
Go to file
Hans Wennborg d72271cd84 SimplifyCFG: Make the switch-to-lookup table transformation store the
tables in bitmaps when they fit in a target-legal register.

This saves some space, and it also allows for building tables that would
otherwise be deemed too sparse.

One interesting case that this hits is example 7 from
http://blog.regehr.org/archives/320. We currently generate good code
for this when lowering the switch to the selection DAG: we build a
bitmask to decide whether to jump to one block or the other. My patch
will result in the same bitmask, but it removes the need for the jump,
as the return value can just be retrieved from the mask.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164684 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26 09:44:49 +00:00
autoconf Revert "Add --program-prefix support to build" 2012-09-26 00:01:00 +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 docs: Sphinxify HowToSubmitABug 2012-09-25 20:52:04 +00:00
examples
include Revert r164663 due to buildbot failure. 2012-09-26 07:43:06 +00:00
lib SimplifyCFG: Make the switch-to-lookup table transformation store the 2012-09-26 09:44:49 +00:00
projects Revert "Add --program-prefix support to build" 2012-09-26 00:01:00 +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 SimplifyCFG: Make the switch-to-lookup table transformation store the 2012-09-26 09:44:49 +00:00
tools Revert "Add --program-prefix support to build" 2012-09-26 00:01:00 +00:00
unittests Expansions for u/srem, using the udiv expansion. More unit tests for udiv and u/srem. 2012-09-26 01:55:01 +00:00
utils Rather then have a wrapper function, have tblgen instantiate the implementation. 2012-09-24 22:57:55 +00:00
.gitignore Ignore the documentation-suggested location for compile_commands.json 2012-08-21 19:23:30 +00:00
CMakeLists.txt enable cross compilation with cmake 2012-08-20 19:56:52 +00:00
CODE_OWNERS.TXT
configure Revert "Add --program-prefix support to build" 2012-09-26 00:01:00 +00:00
CREDITS.TXT Add IRC handle. 2012-09-11 07:50:40 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile Clear UNIVERSAL_SDK_PATH setting when building host tools. <rdar://12360497> 2012-09-24 22:51:19 +00:00
Makefile.common
Makefile.config.in Revert "Add --program-prefix support to build" 2012-09-26 00:01:00 +00:00
Makefile.rules Revert "Add --program-prefix support to build" 2012-09-26 00:01:00 +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.