llvm-6502/test/CodeGen
Jakob Stoklund Olesen c66d0f2a93 Allow a register to be redefined multiple times in a basic block.
LiveVariableAnalysis was a bit picky about a register only being redefined once,
but that really isn't necessary.

Here is an example of chained INSERT_SUBREGs that we can handle now:

68      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1028<kill>, 14
                register: %reg1040 +[70,134:0)
76      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1029<kill>, 13
                register: %reg1040 replace range with [70,78:1) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,134:0)  0@78-(134) 1@70-(78)
84      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1030<kill>, 12
                register: %reg1040 replace range with [78,86:2) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,134:0)  0@86-(134) 1@70-(78) 2@78-(86)
92      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1031<kill>, 11
                register: %reg1040 replace range with [86,94:3) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,94:3)[94,134:0)  0@94-(134) 1@70-(78) 2@78-(86) 3@86-(94)

rdar://problem/8096390

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106152 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16 21:29:40 +00:00
..
Alpha
ARM Remove the local register allocator. 2010-06-15 21:58:33 +00:00
Blackfin
CBackend
CellSPU Fix SPU to cope with vector insertelement to an undef position. 2010-06-09 09:58:17 +00:00
CPP
Generic modify so the test doesn't drop an output file in the test source directory. 2010-06-16 21:07:06 +00:00
MBlaze
Mips
MSP430
PIC16
PowerPC Remove the local register allocator. 2010-06-15 21:58:33 +00:00
SPARC
SystemZ
Thumb Remove the local register allocator. 2010-06-15 21:58:33 +00:00
Thumb2 Allow a register to be redefined multiple times in a basic block. 2010-06-16 21:29:40 +00:00
X86 Create a more targeted fix for not sinking instructions into a range where it 2010-06-15 23:46:31 +00:00
XCore