llvm-6502/test/CodeGen
Evan Cheng 79a796c2b1 Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g.
8   %reg1024<def> = IMPLICIT_DEF
12  %reg1024<def> = INSERT_SUBREG %reg1024<kill>, %reg1025, 2

The live range [12, 14) are not part of the r1024 live interval since it's defined by an implicit def. It will not conflicts with live interval of r1025. Now suppose both registers are spilled, you can easily see a situation where both registers are reloaded before the INSERT_SUBREG and both target registers that would overlap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53503 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-12 01:56:02 +00:00
..
Alpha Don't try to compile tests for the ev56 alpha subtarget, which hasn't been 2008-06-12 13:44:26 +00:00
ARM sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
CBackend Remove invalid test 2008-06-08 16:59:10 +00:00
CellSPU Add necessary 64-bit support so that gcc frontend compiles (mostly). Current 2008-06-02 22:18:03 +00:00
CPP Put CPPBackend tests into their own directory and run them only if they're 2008-07-10 22:35:32 +00:00
Generic Implement split and scalarize for SELECT_CC, fixing PR2504 2008-06-30 02:43:01 +00:00
IA64 sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
PowerPC Fix an altivec constant miscompilation that Duncan found through 2008-07-10 16:33:38 +00:00
SPARC sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
X86 Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g. 2008-07-12 01:56:02 +00:00