llvm-project/llvm
Nemanja Ivanovic 2139e99e47 [PowerPC] No CTR loop if the candidate exiting block is in a different loop
The CTR loops pass will insert the decrementing branch instruction in an exiting
block for the loop being transformed. However if that block is part of another
loop as well (whether a nested loop or with irreducible CFG), it is not valid
to use that exiting block. In fact, if the loop hass irreducible CFG, we don't
bother analyzing it and we just bail on the transformation. In practice, this
doesn't lead to a noticeable reduction in the number of loops transformed by
this pass.

Fixes https://bugs.llvm.org/show_bug.cgi?id=37229

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

llvm-svn: 331410
2018-05-02 22:56:04 +00:00
..
bindings IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
cmake Stop setting LLVM_ON_WIN32 in config.h and llvm-config.h. 2018-04-30 20:19:48 +00:00
docs Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
examples s/LLVM_ON_WIN32/_WIN32/, llvm 2018-04-29 00:45:03 +00:00
include [GCOV] Emit the writeout function as nested loops of global data. 2018-05-02 22:24:39 +00:00
lib [PowerPC] No CTR loop if the candidate exiting block is in a different loop 2018-05-02 22:56:04 +00:00
projects
resources
runtimes [CMake] Enable warnings for runtimes 2018-04-27 15:10:50 +00:00
test [PowerPC] No CTR loop if the candidate exiting block is in a different loop 2018-05-02 22:56:04 +00:00
tools [llvm-rc] Default to writing the output next to the input, if no output is specified 2018-05-02 21:15:24 +00:00
unittests Move the TestPlugin project into the Tests folder in CMake. 2018-05-02 18:57:14 +00:00
utils [GlobalISel][InstructionSelect] Making Coverage Info generation optional on per-match table basis 2018-05-02 20:15:11 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Remove LLVM_INSTALL_CCTOOLS_SYMLINKS 2018-04-24 15:41:02 +00:00
CODE_OWNERS.TXT [CODE_OWNERS] Update my email address. 2018-04-23 19:09:49 +00:00
CREDITS.TXT Update my email address and description. 2018-04-29 01:13:57 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.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.