1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Go to file
Evan Cheng c0e7b19ff0 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

llvm-svn: 148168
2012-01-14 01:53:46 +00:00
autoconf revert r147542 after comments from Joerg Sonnenberger 2012-01-05 18:28:46 +00:00
bindings Update OCaml bindings for the new half float type. 2011-12-28 18:51:08 +00:00
cmake revert r147542 after comments from Joerg Sonnenberger 2012-01-05 18:28:46 +00:00
docs Try to clarify a little how exception handling works. 2012-01-13 19:59:16 +00:00
examples LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
include Add TRI::getCallPreservedMask() hook. 2012-01-14 01:45:25 +00:00
lib After r147827 and r147902, it's now possible for unallocatable registers to be 2012-01-14 01:53:46 +00:00
projects revert r147542 after comments from Joerg Sonnenberger 2012-01-05 18:28:46 +00:00
runtime LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
test After r147827 and r147902, it's now possible for unallocatable registers to be 2012-01-14 01:53:46 +00:00
tools 80 columns. 2012-01-11 21:23:35 +00:00
unittests Undo the hack in r147427 and move this unittest to a better home. This 2012-01-02 09:19:48 +00:00
utils Skip the NAME field when forming tuples. 2012-01-13 22:23:50 +00:00
.gitignore git: Add tools/lldb to the ignore list. 2011-11-10 22:55:50 +00:00
CMakeLists.txt capitalize project name, reference bugzilla 2011-12-18 18:50:16 +00:00
configure revert r147542 after comments from Joerg Sonnenberger 2012-01-05 18:28:46 +00:00
CREDITS.TXT CREDITS.TXT: Add a line. (test commit) 2011-10-29 23:42:14 +00:00
LICENSE.TXT Happy new year 2012! 2012-01-01 08:16:56 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +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 llvm-config: Replace with C++ version (was llvm-config-2). 2011-12-01 20:18:09 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in capitalize project name, reference bugzilla 2011-12-18 18:50:16 +00:00
Makefile.rules PR11642 has been fixed, enable -fvisibility-inlines-hidden everywhere. 2011-12-27 21:37:11 +00:00
README.txt Undo test commit 2011-11-22 20:05:48 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.