llvm-project/llvm
Anna Zaks 8ed1d8196b [asan] Skip promotable allocas to improve performance at -O0
Currently, the ASan executables built with -O0 are unnecessarily slow.
The main reason is that ASan instrumentation pass inserts redundant
checks around promotable allocas. These allocas do not get instrumented
under -O1 because they get converted to virtual registered by mem2reg.
With this patch, ASan instrumentation pass will only instrument non
promotable allocas, giving us a speedup of 39% on a collection of
benchmarks with -O0. (There is no measurable speedup at -O1.)

llvm-svn: 230724
2015-02-27 03:12:36 +00:00
..
autoconf Support bitrig in autoconf build system. 2015-02-26 19:46:32 +00:00
bindings [PM] Remove the old 'PassManager.h' header file at the top level of 2015-02-13 10:01:29 +00:00
cmake [CMake] Fix the clang-cl self host build. 2015-02-25 20:42:19 +00:00
docs Try to fix a docs link. 2015-02-26 19:48:43 +00:00
examples [Orc][Kaleidoscope] More tutorial cleanup, a little extra debugging output. 2015-02-26 23:52:42 +00:00
include Fix a use-iterator-after-invalidate error 2015-02-27 02:19:11 +00:00
lib [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
projects
test [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
tools llvm-vtabledump: Dump catch/throw exception structures for MS ABI 2015-02-27 00:43:58 +00:00
unittests Silence some Win64 clang-cl warnings about unused stuff due to ifdefs 2015-02-26 21:08:21 +00:00
utils Re-instate the pragma optimize hack for MSVC, but not clang-cl 2015-02-26 21:34:11 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Add one more vim swap file pattern 2015-01-30 21:59:28 +00:00
CMakeLists.txt [CMake] Set policy CMP0051 to OLD globally. 2015-02-24 23:32:47 +00:00
CODE_OWNERS.TXT Assume code ownership for the PS4 to ensure patches get reviewed, per the Developer Policy. 2015-01-28 18:33:39 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt Revert test commit 2015-02-04 18:46:00 +00:00
configure Support bitrig in autoconf build system. 2015-02-26 19:46:32 +00:00
llvm.spec.in

README.txt

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

This directory and its subdirectories contain source code for LLVM,
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.