hanchenye-llvm-project/llvm
Chandler Carruth 2e6ef0e80f [LCG] During the incremental re-build of an SCC after removing an edge,
remove the nodes in the SCC from the SCC map entirely prior to the DFS
walk. This allows the SCC map to represent both the state of
not-yet-re-added-to-an-SCC and added-back-to-this-SCC independently. The
first is being missing from the SCC map, the second is mapping back to
'this'. In a subsequent commit, I'm going to use this property to
simplify the new node list for this SCC.

In theory, I think this also makes the contract for orphaning a node
from the graph slightly less confusing. Now it is also orphaned from the
SCC graph. Still, this isn't quite right either, and so I'm not adding
test cases here. I'll add test cases for the behavior of orphaning nodes
when the code *actually* supports it. The change here is mostly
incidental, my goal is simplifying the algorithm.

llvm-svn: 207213
2014-04-25 09:08:10 +00:00
..
autoconf
bindings [python] Fix getting section contents. 2014-04-25 06:25:15 +00:00
cmake Added Sphinx documentation generation to CMake build system. 2014-04-18 21:45:25 +00:00
docs Add 'musttail' marker to call instructions 2014-04-24 20:14:34 +00:00
examples
include [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
lib [LCG] During the incremental re-build of an SCC after removing an edge, 2014-04-25 09:08:10 +00:00
projects
test blockfreq: Only one mass distribution per node 2014-04-25 04:38:43 +00:00
tools [C++] Use 'nullptr'. Tools edition. 2014-04-25 04:24:47 +00:00
unittests [ADT] Generalize pointee_iterator to smart pointers by using decltype. 2014-04-24 21:10:35 +00:00
utils llvm-build: Get rid of 'import *' 2014-04-23 19:17:42 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Added Sphinx documentation generation to CMake build system. 2014-04-18 21:45:25 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt
configure
llvm.spec.in

README.txt

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

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.