]> granicus.if.org Git - clang/commit
Reland the "[NewPM] Port Sancov" patch from rL365838. No functional
authorLeonard Chan <leonardchan@google.com>
Thu, 25 Jul 2019 20:53:15 +0000 (20:53 +0000)
committerLeonard Chan <leonardchan@google.com>
Thu, 25 Jul 2019 20:53:15 +0000 (20:53 +0000)
commita0ec4ff767baee488f3d85d8e63183c61ba924a3
tree1d79342ce1c362c1c3b2729001c5fbbcc8e2284a
parentfd1274fa78cb0fd32cc1fa2e6f5bb8e62d29df19
Reland the "[NewPM] Port Sancov" patch from rL365838. No functional
changes were made to the patch since then.

--------

[NewPM] Port Sancov

This patch contains a port of SanitizerCoverage to the new pass manager. This one's a bit hefty.

Changes:

- Split SanitizerCoverageModule into 2 SanitizerCoverage for passing over
  functions and ModuleSanitizerCoverage for passing over modules.
- ModuleSanitizerCoverage exists for adding 2 module level calls to initialization
  functions but only if there's a function that was instrumented by sancov.
- Added legacy and new PM wrapper classes that own instances of the 2 new classes.
- Update llvm tests and add clang tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@367053 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/BackendUtil.cpp
test/CodeGen/sancov-new-pm.c [new file with mode: 0644]