llvm-project/llvm
Mikael Holmen 2ca16899ec Require DominatorTree when requiring/preserving LoopInfo in the old pass manager
Summary:
Require DominatorTree when requiring/preserving LoopInfo in the old pass manager

BreakCriticalEdges tries to keep LoopInfo and DominatorTree updated if they
exist. However, since commit r321653 and r321805, to update LoopInfo we
must have a DominatorTree, or we will hit an assert.

To fix this we now make a couple of passes that only required/preserved
LoopInfo also require DominatorTree.

This solves PR37334.

Reviewers: eli.friedman, efriedma

Reviewed By: efriedma

Subscribers: efriedma, llvm-commits

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

llvm-svn: 332583
2018-05-17 09:05:40 +00:00
..
bindings [LLVM-C] Consolidate llgo's DIBuilder Bindings 2018-05-10 21:10:06 +00:00
cmake [CMake] Use CMAKE_OBJCOPY and CMAKE_STRIP to externalize debug info 2018-05-09 00:07:42 +00:00
docs [AMDGPU] Change llvm.debugtrap to be a debug breakpoint that can resume execution. 2018-05-16 16:19:34 +00:00
examples [ORC] Rewrite the VSO symbol table yet again. Update related utilities. 2018-05-16 22:24:30 +00:00
include [STLExtras] Add size() for ranges, and remove distance() 2018-05-16 23:20:42 +00:00
lib Require DominatorTree when requiring/preserving LoopInfo in the old pass manager 2018-05-17 09:05:40 +00:00
projects
resources
runtimes [CMake] Enable warnings for runtimes 2018-04-27 15:10:50 +00:00
test Require DominatorTree when requiring/preserving LoopInfo in the old pass manager 2018-05-17 09:05:40 +00:00
tools Revert r332579 "[llvm-exegesis] Update to cover latency through another opcode." 2018-05-17 08:12:29 +00:00
unittests Revert r332579 "[llvm-exegesis] Update to cover latency through another opcode." 2018-05-17 08:12:29 +00:00
utils Mark test with "REQUIRES: shell" since it directly invokes "sh" and was failing on Windows. 2018-05-17 01:36:25 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
.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.