]> granicus.if.org Git - clang/commit
[PGO] Simplify coverage mapping lowering
authorXinliang David Li <davidxl@google.com>
Thu, 7 Jan 2016 20:05:55 +0000 (20:05 +0000)
committerXinliang David Li <davidxl@google.com>
Thu, 7 Jan 2016 20:05:55 +0000 (20:05 +0000)
commit81238425d21e0dd3e1e2fe3bbbf793b900ae1836
tree58b8c96199b44f675ac97058ed2c6d9c16647f76
parentaf91d17cb39ef27391c65a33f7385e9d50f26b87
[PGO] Simplify coverage mapping lowering

Coverage mapping data may reference names of functions
that are skipped by FE (e.g, unused inline functions). Since
those functions are skipped, normal instr-prof function lowering
pass won't put those names in the right section, so special
handling is needed to walk through coverage mapping structure
and recollect the references.

With this patch, only names that are skipped are processed. This
simplifies the lowering code and it no longer needs to make
assumptions coverage mapping data layout. It should also be
more efficient.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@257092 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CodeGenPGO.cpp
lib/CodeGen/CoverageMappingGen.cpp
lib/CodeGen/CoverageMappingGen.h