9#ifndef LLVM_DEBUGINFO_DWARF_DWARFADDRESSRANGE_H
10#define LLVM_DEBUGINFO_DWARF_DWARFADDRESSRANGE_H
72 const DWARFObject *Obj =
nullptr)
const;
77 return std::tie(
LHS.SectionIndex,
LHS.LowPC,
LHS.HighPC) < std::tie(
RHS.SectionIndex,
RHS.LowPC,
RHS.HighPC);
82 return std::tie(
LHS.SectionIndex,
LHS.LowPC,
LHS.HighPC) == std::tie(
RHS.SectionIndex,
RHS.LowPC,
RHS.HighPC);
85raw_ostream &
operator<<(raw_ostream &
OS,
const DWARFAddressRange &R);
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
bool operator<(int64_t V1, const APSInt &V2)
std::vector< DWARFAddressRange > DWARFAddressRangesVector
DWARFAddressRangesVector - represents a set of absolute address ranges.
bool operator==(const AddressRangeValuePair &LHS, const AddressRangeValuePair &RHS)
raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)
Container for dump options that control which debug information will be dumped.
bool valid() const
Returns true if LowPC is smaller or equal to HighPC.
bool intersects(const DWARFAddressRange &RHS) const
Returns true if [LowPC, HighPC) intersects with [RHS.LowPC, RHS.HighPC).
bool merge(const DWARFAddressRange &RHS)
Union two address ranges if they intersect.
DWARFAddressRange()=default
DWARFAddressRange(uint64_t LowPC, uint64_t HighPC, uint64_t SectionIndex=object::SectionedAddress::UndefSection)
Used for unit testing.
void dump(raw_ostream &OS, uint32_t AddressSize, DIDumpOptions DumpOpts={}, const DWARFObject *Obj=nullptr) const
static const uint64_t UndefSection