llvm-project/llvm
Chandler Carruth 0af6a0bb69 Begin chipping away at one of the biggest quadratic-ish behaviors in
this pass. We're leaving already merged blocks on the worklist, and
scanning them again and again only to determine each time through that
indeed they aren't viable. We can instead remove them once we're going
to have to scan the worklist. This is the easy way to implement removing
them. If this remains on the profile (as I somewhat suspect it will), we
can get a lot more clever here, as the worklist's order is essentially
irrelevant. We can use swapping and fold the two loops to reduce
overhead even when there are many blocks on the worklist but only a few
of them are removed.

llvm-svn: 144531
2011-11-14 09:46:33 +00:00
..
autoconf Add an option '--enable-libcpp' that will have the compiler pass on 2011-11-11 22:51:42 +00:00
bindings Minor fixes in Makefiles for the OCaml bindings: 2011-11-09 12:00:39 +00:00
cmake Fix CRT selection logic when using CMake NMake generator. 2011-11-06 23:37:22 +00:00
docs Add clang_complete to release notes 2011-11-14 09:09:26 +00:00
examples build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
include Under the hood, MBPI is doing a linear scan of every successor every 2011-11-14 09:12:57 +00:00
lib Begin chipping away at one of the biggest quadratic-ish behaviors in 2011-11-14 09:46:33 +00:00
projects build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
runtime PathProfiling.c: Get rid of using "inline". We may expect compiler shall optimize out "static" scope w/o "inline". 2011-11-08 12:03:14 +00:00
test Fix an overflow bug in MachineBranchProbabilityInfo. This pass relied on 2011-11-14 08:50:16 +00:00
tools llvm-config-2: Detect when we are running out of a BuildTools development tree, so that we can always provide library/include information for the real build directory. 2011-11-11 22:59:47 +00:00
unittests unittests/MultiJITTest.cpp: Tweak how to check symbol value for Win32 --enable-shared. 2011-11-09 08:30:43 +00:00
utils LLVMBuild: Add info for gtest. 2011-11-12 02:11:04 +00:00
.gitignore git: Add tools/lldb to the ignore list. 2011-11-10 22:55:50 +00:00
CMakeLists.txt Revert r144300 "llvm-config: Replace with C++ version (was llvm-config-2).", 2011-11-10 19:59:35 +00:00
CREDITS.TXT CREDITS.TXT: Add a line. (test commit) 2011-10-29 23:42:14 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
LLVMBuild.txt build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Makefile build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
Makefile.common
Makefile.config.in build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
Makefile.rules build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
README.txt test commit undo 2011-11-10 20:39:51 +00:00
configure Add an option '--enable-libcpp' that will have the compiler pass on 2011-11-11 22:51:42 +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.