9#ifndef LLVM_DEBUGINFO_DWARF_DWARFADDRESSRANGE_H
10#define LLVM_DEBUGINFO_DWARF_DWARFADDRESSRANGE_H
74 const DWARFObject *Obj =
nullptr)
const;
79 return std::tie(
LHS.SectionIndex,
LHS.LowPC,
LHS.HighPC) < std::tie(
RHS.SectionIndex,
RHS.LowPC,
RHS.HighPC);
84 return std::tie(
LHS.SectionIndex,
LHS.LowPC,
LHS.HighPC) == std::tie(
RHS.SectionIndex,
RHS.LowPC,
RHS.HighPC);
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
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)
bool operator==(const AddressRangeValuePair &LHS, const AddressRangeValuePair &RHS)
raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)
std::vector< DWARFAddressRange > DWARFAddressRangesVector
DWARFAddressRangesVector - represents a set of absolute address ranges.
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.
LLVM_ABI void dump(raw_ostream &OS, uint32_t AddressSize, DIDumpOptions DumpOpts={}, const DWARFObject *Obj=nullptr) const
static const uint64_t UndefSection