1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Go to file
Juergen Ributzka fe3cb34d8e [AArch64] Don't optimize all compare instructions.
"optimizeCompareInstr" converts compares (cmp/cmn) into plain sub/add
instructions when the flags are not used anymore. This conversion is valid for
most instructions, but not all. Some instructions that don't set the flags
(e.g. sub with immediate) can set the SP, whereas the flag setting version uses
the same encoding for the "zero" register.

Update the code to also check for the return register before performing the
optimization to make sure that a cmp doesn't suddenly turn into a sub that sets
the stack pointer.

I don't have a test case for this, because it isn't easy to trigger.

llvm-svn: 222255
2014-11-18 21:02:40 +00:00
autoconf Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
bindings [OCaml] Fix mismatched CAMLparam/CAMLreturn. 2014-11-03 11:47:14 +00:00
cmake CMake: Use the new USES_TERMINAL option for test suite targets when available. 2014-11-17 22:16:15 +00:00
docs docs: Modernize some examples in WritingAnLLVMPass 2014-11-18 05:22:39 +00:00
examples [CMake] llvm/examples: Update libdeps for unoptimized builds. 2014-10-31 15:27:16 +00:00
include IR: Sink MDNode::Hash down to GenericMDNode::Hash 2014-11-18 02:20:29 +00:00
lib [AArch64] Don't optimize all compare instructions. 2014-11-18 21:02:40 +00:00
projects [cmake] Use the external project machinery for libcxxabi so that it can 2014-07-25 10:27:40 +00:00
test R600/SI: Make sure resource descriptors are always stored in SGPRs 2014-11-18 20:39:39 +00:00
tools llvm-readobj: Don't print the Characteristics field as the Subsystem 2014-11-18 02:45:28 +00:00
unittests CallGraphTest.cpp: Remove invalid tests. ++S might step over F if S == F. 2014-11-18 12:23:19 +00:00
utils Revert "Improve memory ownership/management in TableGen by unique_ptrifying TreePattern's Tree member." 2014-11-17 22:55:41 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format Test commit. 2014-03-02 13:08:46 +00:00
.clang-tidy Enable display of compiler diagnostics in clang-tidy by default. 2014-10-29 17:29:38 +00:00
.gitignore Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
CMakeLists.txt CMake: Use the new USES_TERMINAL option for test suite targets when available. 2014-11-17 22:16:15 +00:00
CODE_OWNERS.TXT Add Tom Stellard's role as 3.5 release manager. 2014-09-12 08:07:31 +00:00
configure Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
CREDITS.TXT Rise from the dead and update personal info 2014-08-25 17:51:04 +00:00
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +00:00
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile [configure/make] Propagate names of build host tools when making BuildTools 2014-03-25 21:45:41 +00:00
Makefile.common
Makefile.config.in Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
Makefile.rules Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
README.txt Trivial test commit. 2014-04-26 19:05:45 +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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

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