LLVM backend for 6502
Go to file
Owen Anderson 1e56a2a85f Replace the statically generated hashtables for checking register relationships with just scanning the (typically tiny) static lists.
At the time I wrote this code (circa 2007), TargetRegisterInfo was using a std::set to perform these queries.  Switching to the static hashtables was an obvious improvement, but in reality there's no reason to do anything other than scan.
With this change, total LLC time on a whole-program 403.gcc is reduced by approximately 1.5%, almost all of which comes from a 15% reduction in LiveVariables time.  It also reduces the binary size of LLC by 86KB, thanks to eliminating a bunch of very large static tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133051 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15 06:53:50 +00:00
autoconf Happy new year. 2011-06-12 15:26:54 +00:00
bindings
cmake Fix cmake dependencies. 2011-05-24 00:58:06 +00:00
docs Add one more argument to the prefetch intrinsic to indicate whether it's a data 2011-06-14 04:58:37 +00:00
examples Modify comment. 2011-06-09 20:11:46 +00:00
include Replace the statically generated hashtables for checking register relationships with just scanning the (typically tiny) static lists. 2011-06-15 06:53:50 +00:00
lib Replace the statically generated hashtables for checking register relationships with just scanning the (typically tiny) static lists. 2011-06-15 06:53:50 +00:00
projects Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
runtime Remove the LTO stuff from the profile_rt library's Makefile. 2011-06-15 04:56:13 +00:00
test Improve the heuristic to emit the alias if the number of hard-coded registers 2011-06-15 04:31:19 +00:00
tools Revert the last two commits in the series. r132911, r132912. 2011-06-13 11:53:31 +00:00
unittests Add CreateLifetimeStart and CreateLifetimeEnd to the IRBuilder, with plans to 2011-05-21 23:14:36 +00:00
utils Replace the statically generated hashtables for checking register relationships with just scanning the (typically tiny) static lists. 2011-06-15 06:53:50 +00:00
website
.gitignore Ignore Vim swap files 2011-05-31 21:54:28 +00:00
build-for-llvm-top.sh
CMakeLists.txt Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
configure Happy new year. 2011-06-12 15:26:54 +00:00
CREDITS.TXT
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
Makefile Install libprofile_rt.dylib where it's more available for gcov support. 2011-06-10 21:47:14 +00:00
Makefile.common
Makefile.config.in
Makefile.rules Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
ModuleInfo.txt
README.txt reverting test commit 2011-05-12 17:38:08 +00:00

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.