llvm-project/llvm/test/Instrumentation/AddressSanitizer
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
..
X86 IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
adaptive_global_redzones.ll
asan-vs-gvn.ll [ASan] Add -asan-module to the ASan .ll tests. 2014-03-20 11:16:34 +00:00
basic.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
debug_info.ll [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
do-not-instrument-cstring.ll Recommit of r223513 and r223514. 2014-12-05 22:19:18 +00:00
do-not-instrument-internal-globals.ll [ASan] Add -asan-module to the ASan .ll tests. 2014-03-20 11:16:34 +00:00
do-not-instrument-llvm-metadata.ll IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
do-not-instrument-promotable-allocas.ll [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
do-not-touch-comdat-global.ll Change the .ll syntax for comdats and add a syntactic sugar. 2015-01-06 22:55:16 +00:00
do-not-touch-odr-global.ll [ASan] Add -asan-module to the ASan .ll tests. 2014-03-20 11:16:34 +00:00
do-not-touch-threadlocal.ll [ASan] Add -asan-module to the ASan .ll tests. 2014-03-20 11:16:34 +00:00
freebsd.ll [ASan] Add -asan-module to the ASan .ll tests. 2014-03-20 11:16:34 +00:00
global_metadata.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
instrument-dynamic-allocas.ll [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
instrument-no-return.ll [ASan] Add -asan-module to the ASan .ll tests. 2014-03-20 11:16:34 +00:00
instrument_global.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
instrument_initializer_metadata.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
instrument_load_then_store.ll [ASan] Add -asan-module to the ASan .ll tests. 2014-03-20 11:16:34 +00:00
instrumentation-with-call-threshold.ll [asan] properly instrument memory accesses that have small alignment (smaller than min(8,size)) by making two checks instead of one. This may slowdown some cases, e.g. long long on 32-bit or wide loads produced after loop unrolling. The benefit is higher sencitivity. 2014-05-23 11:52:07 +00:00
lifetime-uar.ll [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
lifetime.ll [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
stack-poisoning.ll Remove top-level Clang -fsanitize= flags for optional ASan features. 2014-06-13 17:53:44 +00:00
stack_dynamic_alloca.ll [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
stack_layout.ll [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
test64.ll [asan] properly instrument memory accesses that have small alignment (smaller than min(8,size)) by making two checks instead of one. This may slowdown some cases, e.g. long long on 32-bit or wide loads produced after loop unrolling. The benefit is higher sencitivity. 2014-05-23 11:52:07 +00:00
ubsan.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
undecidable-dynamic-alloca-1.ll [asan] Change dynamic alloca instrumentation to only consider allocas that are dominating all exits from function. 2014-12-01 08:47:58 +00:00