hanchenye-llvm-project/llvm
Artur Pilipenko 4d063e7bb1 [BPI] Apply invoke heuristic before loop branch heuristic
Currently the loop branch heuristic is applied before the invoke heuristic which makes us overestimate the probability of the unwind destination of invokes inside loops. This in turn makes us grossly underestimate the frequencies of loops with invokes.

Reviewed By: skatkov, vsk

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

llvm-svn: 334285
2018-06-08 13:03:21 +00:00
..
bindings [LLVM-C] [OCaml] Remove LLVMAddBBVectorizePass 2018-05-28 16:58:10 +00:00
cmake [CMake] Pass additional CMake tools to external projects 2018-06-06 21:43:37 +00:00
docs [docs] add various sanitisers support for FreeBSD/OpenBSD 2018-06-07 16:33:48 +00:00
examples [ORC] Update JITCompileCallbackManager to support multi-threaded code. 2018-05-30 01:57:45 +00:00
include [ADT] Add `StringRef::rsplit(StringRef Separator)`. 2018-06-08 12:42:12 +00:00
lib [BPI] Apply invoke heuristic before loop branch heuristic 2018-06-08 13:03:21 +00:00
projects
resources
runtimes [CMake] Pass additional CMake tools to external projects 2018-06-06 21:43:37 +00:00
test [BPI] Apply invoke heuristic before loop branch heuristic 2018-06-08 13:03:21 +00:00
tools Try to fix build. 2018-06-07 20:37:22 +00:00
unittests [ADT] Add `StringRef::rsplit(StringRef Separator)`. 2018-06-08 12:42:12 +00:00
utils [TableGen] Make DAGInstruction own Pattern to avoid leaking it. 2018-06-08 09:54:04 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt Update the project name in README.txt 2018-06-06 11:15:54 +00:00
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

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.