9 #ifndef LLVM_DEBUGINFO_GSYM_RANGE_H 10 #define LLVM_DEBUGINFO_GSYM_RANGE_H 18 #define HEX8(v) llvm::format_hex(v, 4) 19 #define HEX16(v) llvm::format_hex(v, 6) 20 #define HEX32(v) llvm::format_hex(v, 10) 21 #define HEX64(v) llvm::format_hex(v, 18) 41 return Start < R.End && R.Start <
End;
45 return Start == R.Start &&
End == R.End;
51 return std::make_pair(
Start,
End) < std::make_pair(R.Start, R.End);
103 Collection::const_iterator
begin()
const {
return Ranges.begin(); }
104 Collection::const_iterator
end()
const {
return Ranges.end(); }
130 #endif // #ifndef LLVM_DEBUGINFO_GSYM_RANGE_H Collection::const_iterator end() const
AddressRange(uint64_t S, uint64_t E)
static uint64_t skip(DataExtractor &Data, uint64_t &Offset)
Skip an address range object in the specified data a the specified offset.
This class represents lattice values for constants.
void encode(FileWriter &O, uint64_t BaseAddr) const
bool contains(uint64_t Addr) const
bool contains(uint64_t Addr) const
bool operator!=(const AddressRange &R) const
void decode(DataExtractor &Data, uint64_t BaseAddr, uint64_t &Offset)
AddressRange objects are encoded and decoded to be relative to a base address.
The AddressRanges class helps normalize address range collections.
bool operator==(const AddressRange &R) const
Optional< AddressRange > getRangeThatContains(uint64_t Addr) const
bool operator<(const AddressRange &R) const
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
A simplified binary data writer class that doesn't require targets, target definitions,...
A class that represents an address range.
void insert(AddressRange Range)
const AddressRange & operator[](size_t i) const
void encode(FileWriter &O, uint64_t BaseAddr) const
void decode(DataExtractor &Data, uint64_t BaseAddr, uint64_t &Offset)
Address ranges are decoded and encoded to be relative to a base address.
std::vector< AddressRange > Collection
bool intersects(const AddressRange &R) const
bool operator==(const AddressRanges &RHS) const
static void skip(DataExtractor &Data, uint64_t &Offset)
Skip an address range object in the specified data a the specified offset.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This class implements an extremely fast bulk output stream that can only output to a stream.
Collection::const_iterator begin() const
raw_ostream & operator<<(raw_ostream &OS, const FunctionInfo &R)