mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-22 23:24:59 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228075 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -163,12 +163,35 @@ struct CounterMappingRegion {
|
|||||||
unsigned LineStart, ColumnStart, LineEnd, ColumnEnd;
|
unsigned LineStart, ColumnStart, LineEnd, ColumnEnd;
|
||||||
RegionKind Kind;
|
RegionKind Kind;
|
||||||
|
|
||||||
CounterMappingRegion(Counter Count, unsigned FileID, unsigned LineStart,
|
CounterMappingRegion(Counter Count, unsigned FileID, unsigned ExpandedFileID,
|
||||||
unsigned ColumnStart, unsigned LineEnd,
|
unsigned LineStart, unsigned ColumnStart,
|
||||||
unsigned ColumnEnd, RegionKind Kind = CodeRegion)
|
unsigned LineEnd, unsigned ColumnEnd, RegionKind Kind)
|
||||||
: Count(Count), FileID(FileID), ExpandedFileID(0), LineStart(LineStart),
|
: Count(Count), FileID(FileID), ExpandedFileID(ExpandedFileID),
|
||||||
ColumnStart(ColumnStart), LineEnd(LineEnd), ColumnEnd(ColumnEnd),
|
LineStart(LineStart), ColumnStart(ColumnStart), LineEnd(LineEnd),
|
||||||
Kind(Kind) {}
|
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 {
|
inline std::pair<unsigned, unsigned> startLoc() const {
|
||||||
return std::pair<unsigned, unsigned>(LineStart, ColumnStart);
|
return std::pair<unsigned, unsigned>(LineStart, ColumnStart);
|
||||||
|
@@ -210,10 +210,9 @@ std::error_code RawCoverageMappingReader::readMappingRegionsSubArray(
|
|||||||
dbgs() << "\n";
|
dbgs() << "\n";
|
||||||
});
|
});
|
||||||
|
|
||||||
MappingRegions.push_back(
|
MappingRegions.push_back(CounterMappingRegion(
|
||||||
CounterMappingRegion(C, InferredFileID, LineStart, ColumnStart,
|
C, InferredFileID, ExpandedFileID, LineStart, ColumnStart,
|
||||||
LineStart + NumLines, ColumnEnd, Kind));
|
LineStart + NumLines, ColumnEnd, Kind));
|
||||||
MappingRegions.back().ExpandedFileID = ExpandedFileID;
|
|
||||||
}
|
}
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user