llvm/test/Instrumentation/AddressSanitizer
Kostya Serebryany 3386d25257 [asan] Optimize accesses to global arrays with constant index
Summary:
Given a global array G[N], which is declared in this CU and has static initializer
avoid instrumenting accesses like G[i], where 'i' is a constant and 0<=i<N.
Also add a bit of stats.

This eliminates ~1% of instrumentations on SPEC2006
and also partially helps when asan is being run together with coverage.

Reviewers: samsonov

Reviewed By: samsonov

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1947

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192794 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-16 14:06:14 +00:00
..
X86 TBAA: handle scalar TBAA format and struct-path aware TBAA format. 2013-09-27 18:34:27 +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 [asan] Optimize accesses to global arrays with constant index 2013-10-16 14:06:14 +00:00
basic.ll [asan] workaround for PR16277: don't instrument AllocaInstr with alignment more than the redzone size 2013-06-26 09:49:52 +00:00
debug_info.ll Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
different_scale_and_offset.ll Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00
do-not-instrument-internal-globals.ll Change the linkage of these global values to 'internal'. 2013-08-06 22:52:42 +00:00
do-not-touch-odr-global.ll fall back to explicit list of allowed linkages when instrumenting globals in asan; add a test check that asan does not touch linkonce_odr 2011-11-17 23:14:59 +00:00
do-not-touch-threadlocal.ll [asan] do not instrument threadlocal globals, this is buggy 2011-11-23 02:10:54 +00:00
instrument_global.ll [asan] Optimize accesses to global arrays with constant index 2013-10-16 14:06:14 +00:00
instrument_initializer_metadata.ll [ASan] emit instrumentation for initialization order checking by default 2013-03-14 12:38:58 +00:00
instrument_load_then_store.ll Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00
instrument-no-return.ll Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00
keep-instrumented_functions.ll [asan] add option -asan-keep-uninstrumented-functions 2013-06-26 09:18:17 +00:00
lifetime.ll Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00
test64.ll Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00