hanchenye-llvm-project/llvm
Stepan Dyatkovskiy f4af855930 MergeFunctions Pass, FnSet has been replaced with FnTree.
Patch activates new implementation.
So from now, merging process should take time O(N*log(N)).
Where N size of module (we are free to measure it in
functions or in instructions). Internally FnTree represents
binary tree. So every lookup operation takes O(log(N)) time.

It is still not the last patch in series, we also have to
clean-up pass from old code, and update pass comments.

This patch belongs to patch series that improves MergeFunctions
performance time from O(N*N) to O(N*log(N)).

llvm-svn: 211445
2014-06-21 20:54:36 +00:00
..
autoconf Remove path_tclsh.m4. 2014-06-02 12:54:32 +00:00
bindings [OCaml] Unbreak Llvm_target.TargetMachine.set_verbose_asm 2014-06-09 17:34:34 +00:00
cmake Remove clang-specific libxml2 check from CMake 2014-06-06 05:08:42 +00:00
docs Emit the ARM build attributes ABI_PCS_wchar_t and ABI_enum_size. 2014-06-20 10:08:11 +00:00
examples
include Support: ScaledNumber: Fix inconsistent test names 2014-06-20 22:36:09 +00:00
lib MergeFunctions Pass, FnSet has been replaced with FnTree. 2014-06-21 20:54:36 +00:00
projects
test LoopUnrollRuntime: Check for overflow in the trip count calculation. 2014-06-21 13:46:25 +00:00
tools Fix some double printing of filenames for archives in llvm-nm when 2014-06-20 21:29:27 +00:00
unittests Support: ScaledNumber: Fix inconsistent test names 2014-06-20 22:36:09 +00:00
utils Remove bogus configure check 2014-06-19 19:31:11 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Delete trailing whitespace. 2014-06-12 21:27:03 +00:00
CODE_OWNERS.TXT
CREDITS.TXT Update Credits. 2014-05-29 19:59:58 +00:00
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules [Make] Fix dependencies for td.expanded 2014-06-20 19:00:41 +00:00
README.txt
configure Touch configure to force clang's config.h.in reconfiguration on the build servers 2014-06-06 10:36:38 +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 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.