[PATCH] D19167: [esan] EfficiencySanitizer instrumentation pass

Derek Bruening via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 15 11:06:10 PDT 2016


bruening created this revision.
bruening added a reviewer: eugenis.
bruening added subscribers: kcc, zhaoqin, llvm-commits.

Adds an instrumentation pass for the new EfficiencySanitizer ("esan")
performance tuning family of tools.  Multiple tools will be supported
within the same framework.  Preliminary support for a cache fragmentation
tool is included here.

The shared instrumentation includes:
+ Turn mem{set,cpy,move} instrinsics into library calls.
+ Slowpath instrumentation of loads and stores via callouts to
  the runtime library.
+ Fastpath instrumentation will be per-tool.
+ Which memory accesses to ignore will be per-tool.

http://reviews.llvm.org/D19167

Files:
  include/llvm/InitializePasses.h
  include/llvm/Transforms/Instrumentation.h
  lib/Transforms/Instrumentation/CMakeLists.txt
  lib/Transforms/Instrumentation/EfficiencySanitizer.cpp
  lib/Transforms/Instrumentation/Instrumentation.cpp
  test/Instrumentation/EfficiencySanitizer/cache_frag_basic.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19167.53917.patch
Type: text/x-patch
Size: 17576 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160415/3bc1211d/attachment-0001.bin>


More information about the llvm-commits mailing list