llvm/test/Instrumentation/AddressSanitizer
Dmitry Vyukov 826cbaf934 asan: do not instrument direct inbounds accesses to stack variables
Do not instrument direct accesses to stack variables that can be
proven to be inbounds, e.g. accesses to fields of structs on stack.

But it eliminates 33% of instrumentation on webrtc/modules_unittests
(number of memory accesses goes down from 290152 to 193998) and
reduces binary size by 15% (from 74M to 64M) and improved compilation time by 6-12%.

The optimization is guarded by asan-opt-stack flag that is off by default.

http://reviews.llvm.org/D7583



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231241 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-04 13:27:53 +00:00
..
X86 [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
adaptive_global_redzones.ll [asan] adaptive redzones for globals (the larger the global the larger is the redzone) 2013-01-24 10:35:40 +00:00
asan-vs-gvn.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
basic.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
debug_info.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +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 [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +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 [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
global_metadata.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
instrument_global.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +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 [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
instrument-dynamic-allocas.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
instrument-no-return.ll [ASan] Add -asan-module to the ASan .ll tests. 2014-03-20 11:16:34 +00:00
instrument-stack.ll asan: do not instrument direct inbounds accesses to stack variables 2015-03-04 13:27:53 +00:00
instrumentation-with-call-threshold.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +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_dynamic_alloca.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
stack_layout.ll [asan] Skip promotable allocas to improve performance at -O0 2015-02-27 03:12:36 +00:00
stack-poisoning.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
test64.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
ubsan.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +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