llvm-6502/lib/Transforms/Instrumentation
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
..
AddressSanitizer.cpp [asan] Optimize accesses to global arrays with constant index 2013-10-16 14:06:14 +00:00
BoundsChecking.cpp BoundsChecking: Fix refacto. 2013-09-30 15:52:50 +00:00
CMakeLists.txt Remove lib/Transforms/Instrumentation/ProfilingUtils.* 2013-10-14 16:46:46 +00:00
DataFlowSanitizer.cpp 80 cols 2013-08-28 11:25:12 +00:00
DebugIR.cpp Use right pointer type in DebugIR 2013-09-27 22:26:25 +00:00
DebugIR.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
GCOVProfiling.cpp Remove lib/Transforms/Instrumentation/ProfilingUtils.* 2013-10-14 16:46:46 +00:00
Instrumentation.cpp Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
LLVMBuild.txt
Makefile
MaximumSpanningTree.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MemorySanitizer.cpp [msan] Instrument x86.*_cvt* intrinsics. 2013-10-14 15:16:25 +00:00
ThreadSanitizer.cpp TBAA: add isTBAAVtableAccess to MDNode so clients can call the function 2013-09-06 22:47:05 +00:00