HomePhabricator

[esan] EfficiencySanitizer instrumentation pass

Description

[esan] EfficiencySanitizer instrumentation pass

Summary:
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.

Reviewers: eugenis, vitalybuka, aizatsky, filcab

Subscribers: filcab, vkalintiris, pcc, silvas, llvm-commits, zhaoqin, kcc

Differential Revision: http://reviews.llvm.org/D19167

Details

Committed
brueningApr 21 2016, 2:30 PM
Differential Revision
D19167: [esan] EfficiencySanitizer instrumentation pass
Parents
rL267057: Add utility function to manipulate attributes on CallSite. NFC
Branches
Unknown
Tags
Unknown