llvm-6502/test/CodeGen
Jakob Stoklund Olesen 45c5c57179 Allow overlaps between virtreg and physreg live ranges.
The RegisterCoalescer understands overlapping live ranges where one
register is defined as a copy of the other. With this change, register
allocators using LiveRegMatrix can do the same, at least for copies
between physical and virtual registers.

When a physreg is defined by a copy from a virtreg, allow those live
ranges to overlap:

  %CL<def> = COPY %vreg11:sub_8bit; GR32_ABCD:%vreg11
  %vreg13<def,tied1> = SAR32rCL %vreg13<tied0>, %CL<imp-use,kill>

We can assign %vreg11 to %ECX, overlapping the live range of %CL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163336 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-06 18:15:23 +00:00
..
ARM Improve codegen for BUILD_VECTORs on ARM. 2012-09-06 09:55:02 +00:00
CellSPU
CPP
Generic
Hexagon LLVM Bug Fix 13709: Remove needless lsr(Rp, #32) instruction access the 2012-09-05 16:01:40 +00:00
MBlaze
Mips Fix UseInitArray option for MIPS target. 2012-09-05 06:17:17 +00:00
MSP430
NVPTX
PowerPC Allow overlaps between virtreg and physreg live ranges. 2012-09-06 18:15:23 +00:00
SPARC
Thumb
Thumb2 Use predication instead of pseudo-opcodes when folding into MOVCC. 2012-09-05 23:58:02 +00:00
X86 Allow overlaps between virtreg and physreg live ranges. 2012-09-06 18:15:23 +00:00
XCore