llvm-6502/lib
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
..
Analysis Fine grainify namespacification 2004-05-09 06:22:29 +00:00
Archive Use the true, decoded name of the archive member in getObjectType. 2004-03-31 19:51:00 +00:00
AsmParser Fix a memory leak. We leaked the vector holding the entries in switch tables. 2004-04-17 23:49:15 +00:00
Bytecode Squelch compile-time warning (profile build). 2004-04-28 15:32:09 +00:00
CodeGen Fix a really nasty bug from my changes on Monday to PHIElim. These changes 2004-05-12 21:47:57 +00:00
Debugger
ExecutionEngine Generalize the strlen size_t hack, for the benefit of the other external 2004-05-01 06:42:15 +00:00
Linker Don't use invalid HTML in a doxygen comment. 2004-04-15 15:23:45 +00:00
Support Implement the new cl::PositionalEatsArgs flag, refactor code a bit 2004-05-06 22:04:31 +00:00
Target Substantially improve code generation for address exposed locals (aka fixed 2004-05-13 07:40:27 +00:00
Transforms Do not pass in the same argument to the extracted function more than once, and 2004-05-12 16:26:18 +00:00
VMCore Implement the AddPrototypes method 2004-05-09 04:29:57 +00:00
Makefile