llvm/lib
Evan Cheng bfe8afaaec After r147827 and r147902, it's now possible for unallocatable registers to be
live across BBs before register allocation. This miscompiled 197.parser
when a cmp + b are optimized to a cbnz instruction even though the CPSR def
is live-in a successor.
        cbnz    r6, LBB89_12
...
LBB89_12:
        ble     LBB89_1

The fix consists of two parts. 1) Teach LiveVariables that some unallocatable
registers might be liveouts so don't mark their last use as kill if they are.
2) ARM constantpool island pass shouldn't form cbz / cbnz if the conditional
branch does not kill CPSR.

rdar://10676853


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148168 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-14 01:53:46 +00:00
..
Analysis A DenseMap of a std::map isn't a very good idea because the "grow()" method will 2012-01-12 01:41:03 +00:00
Archive Support/FileSystem: Add file_magic and move a vew clients over to it. 2011-12-13 23:17:12 +00:00
AsmParser Add 'llvm_unreachable' to passify GCC's understanding of the constraints 2012-01-10 18:08:01 +00:00
Bitcode Add 'llvm_unreachable' to passify GCC's understanding of the constraints 2012-01-10 18:08:01 +00:00
CodeGen After r147827 and r147902, it's now possible for unallocatable registers to be 2012-01-14 01:53:46 +00:00
DebugInfo Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
ExecutionEngine Fix typo in string 2012-01-06 07:49:17 +00:00
Linker Link symbols with different visibilities according to the rules in the 2012-01-05 23:02:01 +00:00
MC The error check for using -g with a .s file already containing dwarf .file 2012-01-11 18:04:47 +00:00
Object Remove unused variables. 2011-12-25 01:20:19 +00:00
Support Disable the crash reporter when running lit tests. 2012-01-11 20:53:25 +00:00
TableGen Delete CodeInit and CodeRecTy from TableGen. 2012-01-13 03:38:34 +00:00
Target After r147827 and r147902, it's now possible for unallocatable registers to be 2012-01-14 01:53:46 +00:00
Transforms Fix an unused variable warning that Chad noticed. 2012-01-14 00:47:44 +00:00
VMCore Added MVT::v2f16 2012-01-12 23:14:13 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00