LLVM backend for 6502
Go to file
Chris Lattner 0fd77a579b Rewrite all the 'PromoteLocallyUsedAlloca[s]' logic. With the power of
LargeBlockInfo, we can now dramatically simplify their implementation
and speed them up at the same time.  Now the code has time proportional
to the number of uses of the alloca, not the size of the block.

This also eliminates code that tried to batch up different allocas which
are used in the same blocks, and eliminates the 'retry list' logic which
was baroque and no unneccesary.  In addition to being a speedup for crazy
cases, this is also a nice cleanup:

PromoteMemoryToRegister.cpp |  270 +++++++++++++++-----------------------------
 1 file changed, 96 insertions(+), 174 deletions(-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58229 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27 07:05:53 +00:00
autoconf [PR2886] Don't look for ocaml's .opt executables; something in the autoconf/test machinery doesn't handle the period properly. 2008-10-22 12:40:40 +00:00
bindings PR2731: C and Ocaml bindings for setTailCall and isTailCall. 2008-08-30 16:34:54 +00:00
cmake CMake: Support for LLVM_USED_LIBS variable, which is the cmake 2008-10-26 00:51:05 +00:00
docs mention getresult -> extractvalue (PR2935) 2008-10-27 04:39:23 +00:00
examples CMake: use add_llvm_example for HowToUseJIT. 2008-10-22 02:52:59 +00:00
include Return something (i.e. NULL) from an unimplemented virtual function. 2008-10-26 04:26:33 +00:00
lib Rewrite all the 'PromoteLocallyUsedAlloca[s]' logic. With the power of 2008-10-27 07:05:53 +00:00
projects Add "sample" documentation to sample project. 2008-09-15 05:31:29 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test no need to print output 2008-10-27 06:56:35 +00:00
tools Remove -check-exit-code from bugpoint. This is subsumed by -append-exit-code. 2008-10-26 23:59:36 +00:00
utils Add a default constructor to AsmWriterOperand to make VS2008sp1 happy. (AsmWriterOperand is used in a std::pair, and VS need to generate the default constructor of this pair). 2008-10-26 15:40:44 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Add a file to VC++ proj. 2008-10-24 10:38:57 +00:00
Xcode Remove Stacker.html from Xcode project. 2008-10-14 23:23:59 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
CMakeLists.txt CMake: Removed unnecessary macro definitions. They are defined in 2008-10-26 00:50:03 +00:00
configure Regenerate. 2008-10-22 12:40:55 +00:00
CREDITS.TXT Updated email address. 2008-10-21 19:50:00 +00:00
LICENSE.TXT llvmc doesn't exist anymore, and llvmc2 doesn't have a special license file. 2008-06-20 20:05:57 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Add support for Canadian Cross builds where the host executables are not 2008-10-02 22:56:44 +00:00
Makefile.common remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.config.in Use spaces rather than tab. 2008-10-22 09:42:14 +00:00
Makefile.rules Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt Remove extra lines 2008-07-28 20:50:25 +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.