LLVM backend for 6502
Go to file
Owen Anderson bc227b65c2 Change a very hot piece of code in TableGen's register unit computations to use bit vectors rather than arrays.
For target descriptions with very large and very dense register files, TableGen
can take an extremely long time to run.  This change makes a dent in that (~15%
in my measurements) by accelerating the single hottest operation with better data
structures.

I believe there's still a lot of room to make this even faster with more global
changes that require replacing some of the existing datastructures in this area
with bit vectors, but that's a more involved change and I wanted to get this
simpler improvement in first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227562 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-30 09:05:49 +00:00
autoconf Teach the autoconf machinery about the PS4 triple. 2015-01-26 15:25:05 +00:00
bindings IR: Return unique_ptr from MDNode::getTemporary() 2015-01-19 21:30:18 +00:00
cmake Updating iOS.cmake to work with the latest Xcode and iOS 8 SDK. 2015-01-30 00:10:47 +00:00
docs Remove gc.root's performCustomLowering 2015-01-28 19:28:03 +00:00
examples Reorder. 2015-01-19 00:35:33 +00:00
include [PM] Remove two very old and dead forward declarations for the prior 2015-01-30 00:41:44 +00:00
lib [LoopVectorize] Induction variables: support arbitrary constant step. 2015-01-30 05:02:21 +00:00
projects
test Move the target specific test case arbitrary-induction-step.ll to test/Transforms/LoopVectorize/AArch64 folder. 2015-01-30 07:33:31 +00:00
tools [llvm-lto] Add a line for setting LTOCodeGenerator's CPU string from command 2015-01-30 01:14:28 +00:00
unittests Refactoring llvm command line parsing and option registration. 2015-01-28 19:00:25 +00:00
utils Change a very hot piece of code in TableGen's register unit computations to use bit vectors rather than arrays. 2015-01-30 09:05:49 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore .gitignore: add some rules for tagging programs 2015-01-10 19:11:29 +00:00
CMakeLists.txt Trunk is now 3.7.0svn 2015-01-14 17:38:03 +00:00
CODE_OWNERS.TXT Assume code ownership for the PS4 to ensure patches get reviewed, per the Developer Policy. 2015-01-28 18:33:39 +00:00
configure Trunk is now 3.7.0svn 2015-01-14 17:38:03 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt Check commit access 2015-01-16 19:23:34 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.