InstrProf: Make CounterMappingRegions less confusing to construct
Creating empty and expansion regions is awkward with the current API. Expose static methods to make this simpler. llvm-svn: 228075
This commit is contained in:
parent
879d18bf4e
commit
26b3142d34
|
@ -163,12 +163,35 @@ struct CounterMappingRegion {
|
|||
unsigned LineStart, ColumnStart, LineEnd, ColumnEnd;
|
||||
RegionKind Kind;
|
||||
|
||||
CounterMappingRegion(Counter Count, unsigned FileID, unsigned LineStart,
|
||||
unsigned ColumnStart, unsigned LineEnd,
|
||||
unsigned ColumnEnd, RegionKind Kind = CodeRegion)
|
||||
: Count(Count), FileID(FileID), ExpandedFileID(0), LineStart(LineStart),
|
||||
ColumnStart(ColumnStart), LineEnd(LineEnd), ColumnEnd(ColumnEnd),
|
||||
Kind(Kind) {}
|
||||
CounterMappingRegion(Counter Count, unsigned FileID, unsigned ExpandedFileID,
|
||||
unsigned LineStart, unsigned ColumnStart,
|
||||
unsigned LineEnd, unsigned ColumnEnd, RegionKind Kind)
|
||||
: Count(Count), FileID(FileID), ExpandedFileID(ExpandedFileID),
|
||||
LineStart(LineStart), ColumnStart(ColumnStart), LineEnd(LineEnd),
|
||||
ColumnEnd(ColumnEnd), Kind(Kind) {}
|
||||
|
||||
static CounterMappingRegion
|
||||
makeRegion(Counter Count, unsigned FileID, unsigned LineStart,
|
||||
unsigned ColumnStart, unsigned LineEnd, unsigned ColumnEnd) {
|
||||
return CounterMappingRegion(Count, FileID, 0, LineStart, ColumnStart,
|
||||
LineEnd, ColumnEnd, CodeRegion);
|
||||
}
|
||||
|
||||
static CounterMappingRegion
|
||||
makeExpansion(unsigned FileID, unsigned ExpandedFileID, unsigned LineStart,
|
||||
unsigned ColumnStart, unsigned LineEnd, unsigned ColumnEnd) {
|
||||
return CounterMappingRegion(Counter(), FileID, ExpandedFileID, LineStart,
|
||||
ColumnStart, LineEnd, ColumnEnd,
|
||||
ExpansionRegion);
|
||||
}
|
||||
|
||||
static CounterMappingRegion
|
||||
makeSkipped(unsigned FileID, unsigned LineStart, unsigned ColumnStart,
|
||||
unsigned LineEnd, unsigned ColumnEnd) {
|
||||
return CounterMappingRegion(Counter(), FileID, 0, LineStart, ColumnStart,
|
||||
LineEnd, ColumnEnd, SkippedRegion);
|
||||
}
|
||||
|
||||
|
||||
inline std::pair<unsigned, unsigned> startLoc() const {
|
||||
return std::pair<unsigned, unsigned>(LineStart, ColumnStart);
|
||||
|
|
|
@ -210,10 +210,9 @@ std::error_code RawCoverageMappingReader::readMappingRegionsSubArray(
|
|||
dbgs() << "\n";
|
||||
});
|
||||
|
||||
MappingRegions.push_back(
|
||||
CounterMappingRegion(C, InferredFileID, LineStart, ColumnStart,
|
||||
LineStart + NumLines, ColumnEnd, Kind));
|
||||
MappingRegions.back().ExpandedFileID = ExpandedFileID;
|
||||
MappingRegions.push_back(CounterMappingRegion(
|
||||
C, InferredFileID, ExpandedFileID, LineStart, ColumnStart,
|
||||
LineStart + NumLines, ColumnEnd, Kind));
|
||||
}
|
||||
return success();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue