1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
Go to file
Matthias Braun fcf8735ea4 AArch64CollectLOH: Rewrite as block-local analysis.
Re-apply r288561: This time with a fix where the ADDs that are part of a
3 instruction LOH would not invalidate the "LastAdrp" state. This fixes
http://llvm.org/PR31361

Previously this pass was using up to 5% compile time in some cases which
is a bit much for what it is doing. The pass featured a full blown
data-flow analysis which in the default configuration was restricted to a
single block.

This rewrites the pass under the assumption that we only ever work on a
single block. This is done in a single pass maintaining a state machine
per general purpose register to catch LOH patterns.

Differential Revision: https://reviews.llvm.org/D27329

This reverts commit 9e6cedb0a4f14364d6511597a9160305e7d34493.

llvm-svn: 291266
2017-01-06 19:22:01 +00:00
bindings Fix go bindings after r289702 (hopefully, don't really know how to build 2016-12-15 06:54:29 +00:00
cmake Disable sigaltstack on Apple platforms 2017-01-06 02:26:30 +00:00
docs [Docs] Update docs to indicate that CUDA compilation is supported on Windows. 2017-01-05 16:54:28 +00:00
examples BrainF example: fixing segfault caused by outdated code with missing MCJIT dependency 2016-12-15 19:29:42 +00:00
include [Orc][RPC] Fix an obvious locking-order bug in RawByteChannel::startSendMessage. 2017-01-06 06:22:31 +00:00
lib AArch64CollectLOH: Rewrite as block-local analysis. 2017-01-06 19:22:01 +00:00
projects
resources
runtimes [CMake] Set HAVE_${runtime} before including any subdirectories 2017-01-02 20:33:33 +00:00
test AArch64CollectLOH: Rewrite as block-local analysis. 2017-01-06 19:22:01 +00:00
tools [llvm-config] Add --cmakedir to obtain CMake module location 2017-01-06 08:23:33 +00:00
unittests Add iterator support to DWARFDie to allow child DIE iteration. 2017-01-05 23:47:37 +00:00
utils [gtest] Work around broken installs of libc++ where we don't have 2017-01-05 01:41:49 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Build KillTheDoctor with mingw-w64 2016-12-22 19:11:42 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT

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

This directory and its subdirectories contain source code for LLVM,
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 are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.