llvm-6502/lib
Chris Lattner 593c95878b Fix a nasty problem on two-address machines in the following situation:
store EAX -> [ss#0]
[ss#0] += 1
...
use(EAX)

In this case, it is not valid to rewrite this as:


store EAX -> [ss#0]
EAX += 1
store EAX -> [ss#0]  ;;; this would also delete the store above
...
use(EAX)

... because EAX is not a dead at that point.  Keep track of which registers
we are allowed to clobber, and which ones we aren't, and don't clobber the
ones we're not supposed to.  :)

This should resolve the issues on X86 last night.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25948 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-03 23:28:46 +00:00
..
Analysis Add explicit iostream #includes 2006-01-22 23:19:18 +00:00
Archive more C++ daintiness 2005-12-26 14:31:26 +00:00
AsmParser regenerate 2006-01-25 22:27:16 +00:00
Bytecode Fix auto-upgrade of intrinsics to work properly with both assembly and 2006-01-27 11:49:27 +00:00
CodeGen Fix a nasty problem on two-address machines in the following situation: 2006-02-03 23:28:46 +00:00
Debugger dum de dum 2005-12-26 10:24:15 +00:00
ExecutionEngine Allow the specification of explicit alignments for constant pool entries. 2006-01-31 22:23:14 +00:00
Linker Rename method 2006-01-24 04:14:29 +00:00
Support dynamically allocate plugin space as needed 2006-01-26 19:38:58 +00:00
System Add AddSymbol() method to DynamicLibrary to work around Windows limitation 2006-01-30 04:33:51 +00:00
Target add a note 2006-02-03 22:06:45 +00:00
Transforms Improve compatibility with VC2005, patch by Morten Ofstad! 2006-01-26 20:41:32 +00:00
VMCore validate matching constraints and remember when we see them. 2006-02-02 00:23:53 +00:00
Makefile