llvm-6502/test/CodeGen
Jakob Stoklund Olesen 320db3f805 Avoid rematerializing a redef immediately after the old def.
PR14098 contains an example where we would rematerialize a MOV8ri
immediately after the original instruction:

  %vreg7:sub_8bit<def> = MOV8ri 9; GR32_ABCD:%vreg7
  %vreg22:sub_8bit<def> = MOV8ri 9; GR32_ABCD:%vreg7

Besides being pointless, it is also wrong since the original instruction
only redefines part of the register, and the value read by the new
instruction is wrong.

The problem was the LiveRangeEdit::allUsesAvailableAt() didn't
special-case OrigIdx == UseIdx and found the wrong SSA value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166068 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-16 22:51:58 +00:00
..
ARM Revert r166046 "Switch back to the old coalescer for now to fix the 32 bit bit" 2012-10-16 22:51:55 +00:00
CellSPU
CPP
Generic
Hexagon
MBlaze
Mips
MSP430
NVPTX
PowerPC This patch addresses PR13949. 2012-10-16 13:30:53 +00:00
SPARC
Thumb
Thumb2
X86 Avoid rematerializing a redef immediately after the old def. 2012-10-16 22:51:58 +00:00
XCore