llvm-project/llvm
Jakub Kuderski eb59ff22e4 [Dominators] Implement incremental deletions
Summary:
This patch implements incremental edge deletions.

It also makes DominatorTreeBase store a pointer to the parent function. The parent function is needed to perform full rebuilts during some deletions, but it is also used to verify that inserted and deleted edges come from the same function.

Reviewers: dberlin, davide, grosser, sanjoy, brzycki

Reviewed By: dberlin

Subscribers: llvm-commits

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

llvm-svn: 308062
2017-07-14 21:58:53 +00:00
..
bindings [NFC] Remove multiple semicolons 2017-06-28 23:15:16 +00:00
cmake [Solaris] Detect Solaris LD, use detection results to pass Solaris-ld options 2017-07-12 21:43:14 +00:00
docs [lit] add a -vv option to echo all executed commands. 2017-07-13 19:26:27 +00:00
examples fix typos in comments and error messges; NFC 2017-07-13 06:48:39 +00:00
include [Dominators] Implement incremental deletions 2017-07-14 21:58:53 +00:00
lib [Dominators] Implement incremental deletions 2017-07-14 21:58:53 +00:00
projects
resources
runtimes [CMake]Use LLVM_LIBRARY_DIR for lib path. 2017-07-14 00:35:21 +00:00
test [AArch64] Avoid selecting XZR inline ASM memory operand 2017-07-14 21:46:16 +00:00
tools [llvm-readobj] - Teach readobj to print DT_FILTER dynamic tag in human readable form. 2017-07-14 16:00:16 +00:00
unittests [Dominators] Implement incremental deletions 2017-07-14 21:58:53 +00:00
utils [TableGen][MC] Fix a few places where we didn't hide the underlying type of LaneBitmask very well. 2017-07-14 18:30:09 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt CMake: Add LLVM_UTILS_INSTALL_DIR option 2017-07-05 12:57:30 +00:00
CODE_OWNERS.TXT Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
CREDITS.TXT Another test commit 2017-07-01 03:24:06 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT [RelTest] Diana is doing both releases now 2017-07-14 08:33:52 +00:00
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.