1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib/ProfileData
Justin Bogner 7cb2c316a5 InstrProf: Don't keep a large sparse list around just to zero it
The Terms vector here represented a polynomial of of all possible
counters, and is used to simplify expressions when generating coverage
mapping. There are a few problems with this:

1. Keeping the vector as a member is wasteful, since we clear it every
   time we use it.
2. Most expressions refer to a subset of the counters, so we end up
   iterating over a large number of zeros doing nothing a lot of the
   time.

This updates the user of the vector to store the terms locally, and
uses a sort and combine approach so that we only operate on counters
that are actually used in a given expression. For small cases this
makes very little difference, but in cases with a very large number of
counted regions this is a significant performance fix.

llvm-svn: 218879
2014-10-02 16:04:03 +00:00
..
CMakeLists.txt Re-factor sample profile reader into lib/ProfileData. 2014-09-09 12:40:50 +00:00
CoverageMapping.cpp InstrProf: Don't keep a large sparse list around just to zero it 2014-10-02 16:04:03 +00:00
CoverageMappingReader.cpp llvm-cov: Move some reader debug output out of the tool. 2014-09-20 15:31:51 +00:00
CoverageMappingWriter.cpp InstrProf: Simplify counting a file's regions when writing coverage (NFC) 2014-10-02 00:31:00 +00:00
InstrProf.cpp Converting InstrProf's error_category to a ManagedStatic to avoid static constructors and destructors. 2014-09-19 23:19:24 +00:00
InstrProfIndexed.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
InstrProfReader.cpp llvm-profdata: Avoid undefined behaviour when reading raw profiles 2014-09-12 21:22:55 +00:00
InstrProfWriter.cpp InstrProf: Allow multiple functions with the same name 2014-08-01 22:50:07 +00:00
LLVMBuild.txt LLVMProfileData: Update LLVMBuild.txt corresponding to r217437. 2014-09-09 15:00:13 +00:00
Makefile
SampleProfReader.cpp LineIterator: Provide a variant that keeps blank lines 2014-09-17 15:43:01 +00:00