Files
llvm-6502/tools/llvm-cov/SourceCoverageDataManager.h
Justin Bogner 39d5e80b44 llvm-cov: Combine two types that were nearly identical (NFC)
llvm-cov had a SourceRange type that was nearly identical to a
CountedRegion except that it shaved off a couple of fields. There
aren't likely to be enough of these for the minor memory savings to be
worth the extra complexity here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217417 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-09 05:32:18 +00:00

41 lines
1.2 KiB
C++

//===- SourceCoverageDataManager.h - Manager for source file coverage data-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This class separates and merges mapping regions for a specific source file.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_COV_SOURCECOVERAGEDATAMANAGER_H
#define LLVM_COV_SOURCECOVERAGEDATAMANAGER_H
#include "FunctionCoverageMapping.h"
#include "llvm/ProfileData/CoverageMapping.h"
#include <vector>
namespace llvm {
/// \brief Partions mapping regions by their kind and sums
/// the execution counts of the regions that start at the same location.
class SourceCoverageDataManager {
std::vector<coverage::CountedRegion> Regions;
bool Uniqued;
public:
SourceCoverageDataManager() : Uniqued(false) {}
void insert(const coverage::CountedRegion &CR);
/// \brief Return the source regions in order of first to last occurring.
ArrayRef<coverage::CountedRegion> getSourceRegions();
};
} // namespace llvm
#endif // LLVM_COV_SOURCECOVERAGEDATAMANAGER_H