llvm-6502/test/CodeGen
Hal Finkel 9887ec31e6 Fix large count and negative constant count handling in PPCCTRLoops
This commit fixes an assert that would occur on loops with large constant counts
(like looping for ((uint32_t) -1) iterations on PPC64). The existing code did
not handle counts that it computed to be negative (asserting instead), but
these can be created with valid inputs.

This bug was discovered by bugpoint while I was attempting to isolate a
completely different problem.

Also, in writing test cases for the negative-count problem, I discovered that
the ori/lsi handling was broken (there was a typo which caused the logic that
was supposed to detect these pairs and extract the iteration count to always
fail). This has now also been corrected (and is covered by one of the new test
cases).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177295 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18 17:40:44 +00:00
..
AArch64
ARM Split out filename & directory from DIFile to start generalizing over DIScopes 2013-03-17 21:13:55 +00:00
CPP test commit: remove blank line. 2013-03-14 05:43:59 +00:00
Generic
Hexagon Hexagon: Removed asserts regarding alignment and offset. 2013-03-14 19:08:03 +00:00
Inputs Upgrading debug info test cases to be (more) compatible with the current debug info format. 2013-03-11 22:37:40 +00:00
MBlaze
Mips
MSP430
NVPTX
PowerPC Fix large count and negative constant count handling in PPCCTRLoops 2013-03-18 17:40:44 +00:00
R600 R600: Factorize code handling Const Read Port limitation 2013-03-14 15:50:45 +00:00
SI
SPARC
Thumb
Thumb2
X86 Split out filename & directory from DIFile to start generalizing over DIScopes 2013-03-17 21:13:55 +00:00
XCore