[SanitizerCoverage] sancov/inline-bool-flag instrumentation.
authorPratyai Mazumder <feynmanthecurious@gmail.com>
Thu, 9 Apr 2020 05:02:41 +0000 (22:02 -0700)
committerVitaly Buka <vitalybuka@google.com>
Thu, 9 Apr 2020 05:43:52 +0000 (22:43 -0700)
commite8d1c6529b951131fe9c2636d672ed8073919820
tree800c3cf7c757f7a9fc4eff9e588a469cde1ba5ec
parent8b1a6c0a57640bc19028eecb34e8a2e9dcaa2caf
[SanitizerCoverage] sancov/inline-bool-flag instrumentation.

Summary:
New SanitizerCoverage feature `inline-bool-flag` which inserts an
atomic store of `1` to a boolean (which is an 8bit integer in
practice) flag on every instrumented edge.

Implementation-wise it's very similar to `inline-8bit-counters`
features. So, much of wiring and test just follows the same pattern.

Reviewers: kcc, vitalybuka

Reviewed By: vitalybuka

Subscribers: llvm-commits, hiraditya, jfb, cfe-commits, #sanitizers

Tags: #clang, #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D77244
llvm/include/llvm/Transforms/Instrumentation.h
llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
llvm/test/Instrumentation/SanitizerCoverage/coff-pc-table-inline-bool-flag.ll [new file with mode: 0644]
llvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll [new file with mode: 0644]
llvm/test/Instrumentation/SanitizerCoverage/pc-table.ll
llvm/test/Instrumentation/SanitizerCoverage/trace-pc-guard-inline-bool-flag.ll [new file with mode: 0644]