llvm-6502/lib
Chris Lattner 2926869b4a Fix a long-standing wart in the code generator: two-address instruction lowering
actually *removes* one of the operands, instead of just assigning both operands
the same register.  This make reasoning about instructions unnecessarily complex,
because you need to know if you are before or after register allocation to match
up operand #'s with the target description file.

Changing this also gets rid of a bunch of hacky code in various places.

This patch also includes changes to fold loads into cmp/test instructions in
the X86 backend, along with a significant simplification to the X86 spill
folding code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30108 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-05 02:12:02 +00:00
..
Analysis Do not rely on std::sort and std::erase to get list of unique 2006-08-29 22:29:16 +00:00
Archive For PR797: 2006-08-25 19:54:53 +00:00
AsmParser regenerate 2006-08-18 17:34:45 +00:00
Bytecode - Fixed broken Win32 build 2006-09-01 20:35:17 +00:00
CodeGen Fix a long-standing wart in the code generator: two-address instruction lowering 2006-09-05 02:12:02 +00:00
Debugger For PR797: 2006-08-25 17:43:11 +00:00
ExecutionEngine Completely rearchitect the interface between targets and the pass manager. 2006-09-04 04:14:57 +00:00
Linker Remove a redundant syscall. 2006-07-28 22:52:11 +00:00
Support Instantiate Statistic<> in one place, not in every .o file that uses it. 2006-08-30 04:17:00 +00:00
System - Fixed broken Win32 build 2006-09-01 20:35:17 +00:00
Target Fix a long-standing wart in the code generator: two-address instruction lowering 2006-09-05 02:12:02 +00:00
Transforms add setJumpBufSize() and setJumpBufAlignment() to target-lowering. 2006-09-04 06:21:35 +00:00
VMCore Add explicit doInitialization/doFinalization methods instead of making 2006-09-04 04:07:39 +00:00
Makefile Make some changes suggested by Chris: 2006-05-17 22:55:35 +00:00