mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
7cb2c316a5
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 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CoverageMapping.cpp | ||
CoverageMappingReader.cpp | ||
CoverageMappingWriter.cpp | ||
InstrProf.cpp | ||
InstrProfIndexed.h | ||
InstrProfReader.cpp | ||
InstrProfWriter.cpp | ||
LLVMBuild.txt | ||
Makefile | ||
SampleProfReader.cpp |