LLVM backend for 6502
Go to file
Chris Lattner cb2fd557ee Substantially improve code generation for address exposed locals (aka fixed
sized allocas in the entry block).  Instead of generating code like this:

entry:
  reg1024 = ESP+1234
... (much later)
  *reg1024 = 17


Generate code that looks like this:
entry:
  (no code generated)
... (much later)
  t = ESP+1234
  *t = 17

The advantage being that we DRAMATICALLY reduce the register pressure for these
silly temporaries (they were all being spilled to the stack, resulting in very
silly code).  This is actually a manual implementation of rematerialization :)

I have a patch to fold the alloca address computation into loads & stores, which
will make this much better still, but just getting this right took way too much time
and I'm sleepy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13554 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 07:40:27 +00:00
autoconf Refactor external benchmark checking stuff into one hairy 2004-04-16 17:13:33 +00:00
docs Reduce line length to about 80 chars. 2004-05-13 03:40:27 +00:00
examples/ModuleMaker Configure script for ModuleMaker. 2003-11-25 20:02:07 +00:00
include Fix a comment. 2004-05-12 21:57:23 +00:00
lib Substantially improve code generation for address exposed locals (aka fixed 2004-05-13 07:40:27 +00:00
projects Use inttypes.h, which exists on all of Linux, Solaris and Darwin. 2004-05-11 16:14:53 +00:00
runtime Share the profile info type enum with the C++ analysis libraries. 2004-05-04 16:51:48 +00:00
test Testcase for PR337, which was reduced by Reid Spencer. 2004-05-10 05:11:24 +00:00
tools Turn the block extractor on by default now that it basically works, eliminating the option. 2004-05-12 19:02:44 +00:00
utils Added `zeroinitializer' keyword. 2004-04-28 19:36:08 +00:00
.cvsignore Ok, try #2, this time I'll not be stupid 2003-08-03 18:33:24 +00:00
configure Regenerated using autoconf-2.57. 2004-04-16 17:13:44 +00:00
CREDITS.TXT Just testing the "Reid has CVS commit access" system 2004-05-06 18:06:18 +00:00
LICENSE.TXT Added obsequi. 2004-05-11 19:29:59 +00:00
llvm.spec RPM spec file for LLVM tools and libraries. 2004-02-10 03:57:51 +00:00
llvm.spec.in RPM spec file for LLVM tools and libraries. 2004-02-10 03:57:51 +00:00
Makefile Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.common Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.config.in Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.rules Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
README.txt This file has been superseded by docs/index.html . 2004-05-12 02:48:30 +00:00

This file is a placeholder; see docs/index.html for documentation.