llvm-project/llvm
Chandler Carruth 9d96100ff0 Now that mem2reg understands how to cope with a slightly wider set of
uses of an alloca, we can pre-compute promotability while analyzing an
alloca for splitting in SROA. That lets us short-circuit the common case
of a bunch of trivially promotable allocas. This cuts 20% to 30% off the
run time of SROA for typical frontend-generated IR sequneces I'm seeing.
It gets the new SROA to within 20% of ScalarRepl for such code. My
current benchmark for these numbers is PR15412, but it fits the general
pattern of IR emitted by Clang so it should be widely applicable.

llvm-svn: 187323
2013-07-28 08:27:12 +00:00
..
autoconf Remove dead or useless header checks from cmake and autoconf 2013-07-26 16:54:23 +00:00
bindings We're in 3.4 land now. 2013-05-07 20:31:28 +00:00
cmake Re-enabling some more MSVC warnings; all of these compile cleanly with no further changes required. 2013-07-27 20:20:28 +00:00
docs Use pipefail when available. 2013-07-26 22:32:58 +00:00
examples Adding example source to support MCJIT/Kaleidoscope blog posts. 2013-07-22 18:47:24 +00:00
include Thread DataLayout through the callers and into mem2reg. This will be 2013-07-28 06:43:11 +00:00
lib Now that mem2reg understands how to cope with a slightly wider set of 2013-07-28 08:27:12 +00:00
projects [PowerPC] Support powerpc64le as a syntax-checking target. 2013-07-26 01:35:43 +00:00
runtime Remove dead code from the makefile build system. 2013-07-25 20:25:31 +00:00
test DwarfDebug: MD5 is always little endian, bswap on big endian platforms. 2013-07-27 14:14:43 +00:00
tools SimplifyCFG: Use parallel-and and parallel-or mode to consolidate branch conditions 2013-07-27 00:01:07 +00:00
unittests [APFloat] Make all arithmetic operations with NaN produce positive NaNs. 2013-07-27 21:49:25 +00:00
utils Move the default back to pipefail. I accidentally reverted it before. 2013-07-26 23:22:43 +00:00
.arcconfig
.gitignore
CMakeLists.txt Remove the mblaze backend from llvm. 2013-07-25 18:55:05 +00:00
CODE_OWNERS.TXT Add more owners to CODE_OWNERS.TXT (Kostya Serebryany: AddressSanitizer and ThreadSanitizer; Evgeniy Stepanov: MemorySanitizer) 2013-06-27 08:47:12 +00:00
CREDITS.TXT Identify me on IRC. 2013-06-18 22:09:36 +00:00
LICENSE.TXT Be more specific and capitalize filenames. 2013-05-21 21:22:34 +00:00
LLVMBuild.txt
Makefile Fix regular expression used by 'make update' to only look for 'I' and '?' at the start of svn info results and to check for spaces after 'I' instead of just after '?'. 2013-07-03 14:48:37 +00:00
Makefile.common
Makefile.config.in Add an autoconf option for turning on -gsplit-dwarf by default 2013-06-25 01:12:25 +00:00
Makefile.rules Remove dead code from the makefile build system. 2013-07-25 20:25:31 +00:00
README.txt test 2013-04-17 05:34:03 +00:00
configure Regenerate. 2013-07-26 17:13:47 +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.