hanchenye-llvm-project/llvm
Rafael Espindola 9a16735e22 Assert that dominates is not given a multiple edge. Finding out if we have
multiple edges between two blocks is linear. If the caller is iterating all
edges leaving a BB that would be a square time algorithm. It is more efficient
to have the callers handle that case.

Currently the only callers are:
* GVN: already avoids the multiple edge case.
* Verifier: could only hit this assert when looking at an invalid invoke. Since
it already rejects the invoke, just avoid computing the dominance for it.

llvm-svn: 162113
2012-08-17 18:21:28 +00:00
..
autoconf [configure] Add a --enable-keep-symbols configure flag. 2012-08-14 18:14:20 +00:00
bindings Remove tabs. 2012-07-19 00:23:13 +00:00
cmake revert my previous patch 2012-08-08 18:04:45 +00:00
docs Remove references to compression in llvm-ar. It has been a long time since we 2012-08-10 01:57:52 +00:00
examples Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
include Insertion of NoFolder functions to avoid ambiguous overload warnings or errors about whether to convert Idx to ArrayRef<Constant *> or ArrayRef<Value *> like ConstantFolder and TargetFolder. 2012-08-17 08:54:57 +00:00
lib Assert that dominates is not given a multiple edge. Finding out if we have 2012-08-17 18:21:28 +00:00
projects Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
runtime Free the allocated filename. Found by clang static analyzer. 2012-06-15 09:11:47 +00:00
test Assert that dominates is not given a multiple edge. Finding out if we have 2012-08-17 18:21:28 +00:00
tools Remove references to compression in llvm-ar. It has been a long time since we 2012-08-10 01:57:52 +00:00
unittests Flatten the aligned-char-array utility template to be a directly 2012-08-17 01:47:25 +00:00
utils Declare some for loop indices inside the for loop statement. 2012-08-17 05:42:16 +00:00
.gitignore Add tools/lld to .gitignore. 2012-05-02 21:25:32 +00:00
CMakeLists.txt bug in experimental targets 2012-08-15 22:35:36 +00:00
CODE_OWNERS.TXT Add the list of code owners to the top level of the LLVM source tree to 2012-07-26 08:04:09 +00:00
CREDITS.TXT Alphabetize. 2012-06-19 23:47:58 +00:00
LICENSE.TXT Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
LLVMBuild.txt
Makefile Fix the make update target to work even when sub repo repositories are ignored. 2012-08-14 18:33:50 +00:00
Makefile.common [docs] Remove unsupported references to ExtraSource variable. 2012-05-15 21:32:27 +00:00
Makefile.config.in [configure] Add a --enable-keep-symbols configure flag. 2012-08-14 18:14:20 +00:00
Makefile.rules Add a configure flag for enabling -Werror on the command line 2012-08-03 19:58:20 +00:00
README.txt test commit 2012-07-11 17:34:12 +00:00
configure Update configure. 2012-08-14 18:14:22 +00:00
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 HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.