llvm-project/llvm/lib/ProfileData
Vedant Kumar 381e9d2386 [Coverage] Ignore 'unused' functions with non-zero execution counts
Frontends emit 'unused' coverage mapping records for functions which are
provably unused in a TU. These unused records contain a single counter
with CounterKind::Zero. However, a function may be unused in one TU and
used in another. When this happens, prefer the records with a full set
of counters instead of arbitrarily picking the first loaded record.

There is no impact on the single-TU case. In the multiple-TU case, this
resolves issues causing a function to appear unused when it's not.

Testing: check-{llvm,clang,compiler-rt}

rdar://42981322

llvm-svn: 339194
2018-08-07 22:25:36 +00:00
..
Coverage [Coverage] Ignore 'unused' functions with non-zero execution counts 2018-08-07 22:25:36 +00:00
CMakeLists.txt GCOV: Move GCOV from IR & Support into ProfileData to fix layering 2017-11-03 20:57:10 +00:00
GCOV.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
InstrProf.cpp [InstrProf] Use comdats on COFF for available_externally functions 2018-07-26 22:59:17 +00:00
InstrProfReader.cpp [ADT] Replace std::isprint by llvm::isPrint. 2018-07-26 15:31:41 +00:00
InstrProfWriter.cpp Support: Simplify endian stream interface. NFCI. 2018-05-18 19:46:24 +00:00
LLVMBuild.txt
ProfileSummaryBuilder.cpp [ProfileData] Change std::sort to llvm::sort in response to r327219 2018-04-13 19:46:36 +00:00
SampleProf.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SampleProfReader.cpp Fix a warning issued by clang. 2018-06-11 23:09:04 +00:00
SampleProfWriter.cpp [NFC] Change sample profile format enum name SPF_Raw_Binary to SPF_Binary. 2018-06-12 05:53:49 +00:00