llvm-6502/lib/Transforms
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
..
Hello
InstCombine Remove x86_sse42_crc32_64_8 intrinsic. It has no functional difference from x86_sse42_crc32_32_8 and was not mapped to a clang builtin. I'm not even sure why this form of the instruction is even called out explicitly in the docs. Also add AutoUpgrade support to convert it into the other intrinsic with appropriate trunc and zext. 2013-10-15 05:20:47 +00:00
Instrumentation [asan] Optimize accesses to global arrays with constant index 2013-10-16 14:06:14 +00:00
IPO Fix a bug in Dead Argument Elimination. 2013-10-09 17:21:44 +00:00
ObjCARC
Scalar
Utils Basic blocks typically have few predecessors. Use a SmallDenseMap to 2013-10-14 16:05:55 +00:00
Vectorize LoopVectorize: Properly reflect PODness in comments. 2013-10-15 16:19:54 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile