LLVM 17.0.0git
|
Helper to represent an access offset and size, with logic to deal with uncertainty and check for overlapping accesses. More...
#include "llvm/Transforms/IPO/Attributor.h"
Public Member Functions | |
RangeTy (int64_t Offset, int64_t Size) | |
RangeTy ()=default | |
bool | offsetOrSizeAreUnknown () const |
Return true if offset or size are unknown. | |
bool | offsetAndSizeAreUnknown () const |
Return true if offset and size are unknown, thus this is the default unknown object. | |
bool | isUnassigned () const |
Return true if the offset and size are unassigned. | |
bool | mayOverlap (const RangeTy &Range) const |
Return true if this offset and size pair might describe an address that overlaps with Range . | |
RangeTy & | operator&= (const RangeTy &R) |
Static Public Member Functions | |
static RangeTy | getUnknown () |
static bool | OffsetLessThan (const RangeTy &L, const RangeTy &R) |
Comparison for sorting ranges by offset. | |
Public Attributes | |
int64_t | Offset = Unassigned |
int64_t | Size = Unassigned |
Static Public Attributes | |
static constexpr int64_t | Unassigned = std::numeric_limits<int32_t>::min() |
Constants used to represent special offsets or sizes. | |
static constexpr int64_t | Unknown = std::numeric_limits<int32_t>::max() |
Helper to represent an access offset and size, with logic to deal with uncertainty and check for overlapping accesses.
Definition at line 230 of file Attributor.h.
|
inline |
Definition at line 234 of file Attributor.h.
|
default |
|
inlinestatic |
Definition at line 236 of file Attributor.h.
References Unknown.
Referenced by llvm::AAPointerInfo::RangeList::setUnknown().
|
inline |
Return true if the offset and size are unassigned.
Definition at line 250 of file Attributor.h.
References assert(), Offset, Size, and Unassigned.
Return true if this offset and size pair might describe an address that overlaps with Range
.
Definition at line 258 of file Attributor.h.
References Offset, offsetOrSizeAreUnknown(), and Size.
|
inline |
Return true if offset and size are unknown, thus this is the default unknown object.
Definition at line 245 of file Attributor.h.
Comparison for sorting ranges by offset.
Returns true if the offset L
is less than that of R
.
Definition at line 287 of file Attributor.h.
Referenced by llvm::AAPointerInfo::RangeList::insert(), llvm::AAPointerInfo::RangeList::push_back(), and llvm::AAPointerInfo::RangeList::set_difference().
|
inline |
Return true if offset or size are unknown.
Definition at line 239 of file Attributor.h.
References Offset, Size, and Unknown.
Referenced by llvm::AA::getInitialValueForObj(), and mayOverlap().
Definition at line 268 of file Attributor.h.
References Offset, Size, Unassigned, and Unknown.
int64_t llvm::AA::RangeTy::Offset = Unassigned |
Definition at line 231 of file Attributor.h.
Referenced by llvm::AA::getInitialValueForObj(), isUnassigned(), mayOverlap(), offsetAndSizeAreUnknown(), offsetOrSizeAreUnknown(), and operator&=().
int64_t llvm::AA::RangeTy::Size = Unassigned |
Definition at line 232 of file Attributor.h.
Referenced by isUnassigned(), mayOverlap(), offsetAndSizeAreUnknown(), offsetOrSizeAreUnknown(), and operator&=().
|
staticconstexpr |
Constants used to represent special offsets or sizes.
Definition at line 297 of file Attributor.h.
Referenced by isUnassigned(), and operator&=().
|
staticconstexpr |
Definition at line 298 of file Attributor.h.
Referenced by getUnknown(), offsetAndSizeAreUnknown(), offsetOrSizeAreUnknown(), and operator&=().