llvm-6502/test
Bill Schmidt 5ff776bfde This patch addresses bug 15031.
The common code in the post-RA scheduler to break anti-dependencies on the
critical path contained a flaw.  In the reported case, an anti-dependency
between the overlapping registers %X4 and %R4 exists:

	%X29<def> = OR8 %X4, %X4
	%R4<def>, %X3<def,dead,tied3> = LBZU 1, %X3<kill,tied1>

The unpatched code breaks the dependency by replacing %R4 and its uses
with %R3, the first register on the available list.  However, %R3 and
%X3 overlap, so this creates two overlapping definitions on the same
instruction.

The fix is straightforward, preventing selection of a register that
overlaps any other defined register on the same instruction.

The test case is reduced from the bug report, and verifies that we no
longer produce "lbzu 3, 1(3)" when breaking this anti-dependency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173706 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-28 18:36:58 +00:00
..
Analysis Initial implementation of PPCTargetTransformInfo 2013-01-25 23:05:59 +00:00
Archive
Assembler Fast-math test case for bitcode and textual reading/writing 2012-11-27 00:45:08 +00:00
Bindings/Ocaml
Bitcode Change encoding of instruction operands in bitcode binaries to be relative 2012-10-11 20:20:40 +00:00
BugPoint Fix unexpected passes. These test do work with LTO on linux. I tested both 2012-10-26 02:19:02 +00:00
CodeGen This patch addresses bug 15031. 2013-01-28 18:36:58 +00:00
DebugInfo PR14566: Debug Info: Removing top level lexical blocks 2013-01-26 21:55:23 +00:00
ExecutionEngine Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00
Feature There was a switch fall-through in the parser for textual LLVM that caused 2013-01-07 13:32:38 +00:00
FileCheck Fix a bug in FileCheck that wouldn't let define variables as follows: 2012-12-02 16:02:41 +00:00
Instrumentation [msan] Mostly disable msan-handle-icmp-exact. 2013-01-28 11:42:28 +00:00
Integer Remove the dependent libraries feature. 2012-11-27 09:55:56 +00:00
JitListener Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
Linker [IR] Add 'Append' and 'AppendUnique' module flag behaviors. 2013-01-16 21:38:56 +00:00
MC Fix 256-bit PALIGNR comment decoding to understand that it works on independent 256-bit lanes. 2013-01-28 07:41:18 +00:00
Object [llvm-objdump] Emit addresses with the correct number of leading 0's. 2013-01-10 22:40:50 +00:00
Other XFAIL close-stderr on win32 2013-01-25 22:12:54 +00:00
Scripts Set the +x bit on two batch scripts 2013-01-25 22:12:50 +00:00
TableGen FileCheck-ify some grep tests 2013-01-25 22:11:46 +00:00
tools PR10867: Analogue of r169441 for when using external 'sh'. And actually run the test! 2012-12-05 23:15:33 +00:00
Transforms Re-revert r173342, without losing the compile time improvements, flat 2013-01-27 06:42:03 +00:00
Unit
Verifier [IR] Add 'Append' and 'AppendUnique' module flag behaviors. 2013-01-16 21:38:56 +00:00
YAMLParser
CMakeLists.txt llvm/test/CMakeLists.txt: Add a dependency to llvm-rtdyld in check-llvm. 2013-01-25 23:24:07 +00:00
lit.cfg Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00
lit.site.cfg.in Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00
Makefile Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00
Makefile.tests
TestRunner.sh