llvm-6502/lib
Chris Lattner 47eb6567e2 This patch fixes the nasty bug that caused 175.vpr to fail for X86 last night.
The problem occurred when trying to reload this instruction:

MOV32mr %reg2326, 8, %reg2297, 4, %reg2295

The value of reg2326 was available in EBX, so it was reused from there, instead
of reloading it into EDX.

The value of reg2297 was available in EDX, so it was reused from there, instead
of reloading it into EDI.

The value of reg2295 was not available, so we tried reloading it into EBX, its
assigned register.  However, we checked and saw that we already reloaded
something into EBX, so we chose what reg2326 was assigned to (EDX) and reloaded
into that register instead.

Unfortunately EDX had already been used by reg2297, so reloading into EDX
clobbered the value used by the reg2326 operand, breaking the program.

The fix for this is to check that the newly picked register is ok.  In this
case we now find that EDX is already used and try using EDI, which succeeds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17006 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-15 03:19:31 +00:00
..
Analysis Do not use the same variable name for two different variables in the 2004-10-14 14:59:16 +00:00
Archive Changes For Bug 352 2004-09-01 22:55:40 +00:00
AsmParser Update to reflect changes in Makefile rules. 2004-10-13 11:46:52 +00:00
Bytecode Today is not my day. Fix broken # 2004-10-14 02:31:35 +00:00
CodeGen This patch fixes the nasty bug that caused 175.vpr to fail for X86 last night. 2004-10-15 03:19:31 +00:00
Debugger Update to reflect changes in Makefile rules. 2004-10-13 11:46:52 +00:00
ExecutionEngine Update to reflect changes in Makefile rules. 2004-10-13 11:46:52 +00:00
Linker Make sure the const bit gets inherited correctly when linking declarations 2004-10-05 02:28:11 +00:00
Support Update to reflect changes in Makefile rules. 2004-10-13 11:46:52 +00:00
System Allow this file to compile on Darwin. 2004-10-14 03:33:25 +00:00
Target Better codegen of binary integer ops with 32 bit immediate operands. 2004-10-15 00:50:19 +00:00
Transforms Fix a bug John tracked down in libstdc++ where we were incorrectly deleting 2004-10-14 19:53:50 +00:00
VMCore Make sure any client of Dominators.h links in Dominators.cpp 2004-10-14 15:47:16 +00:00
Makefile Wrap long line 2004-09-15 01:34:42 +00:00
Makefile.am Update to reflect changes in Makefile rules. 2004-10-13 11:46:52 +00:00