LLVM 20.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 | LessThan (const RangeTy &L, const RangeTy &R) |
Comparison for sorting ranges. | |
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 237 of file Attributor.h.
|
inline |
Definition at line 241 of file Attributor.h.
|
default |
|
inlinestatic |
Definition at line 243 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 257 of file Attributor.h.
References assert(), Offset, Size, and Unassigned.
Referenced by operator&=().
Comparison for sorting ranges.
Returns true if the offset of L
is less than that of R
. If the two offsets are same, compare the sizes instead.
Definition at line 301 of file Attributor.h.
Referenced by llvm::AAPointerInfo::RangeList::insert(), llvm::AAPointerInfo::RangeList::push_back(), and llvm::AAPointerInfo::RangeList::set_difference().
Return true if this offset and size pair might describe an address that overlaps with Range
.
Definition at line 265 of file Attributor.h.
References Offset, offsetOrSizeAreUnknown(), Range, and Size.
|
inline |
Return true if offset and size are unknown, thus this is the default unknown object.
Definition at line 252 of file Attributor.h.
References Offset, Size, and Unknown.
Referenced by operator&=().
|
inline |
Return true if offset or size are unknown.
Definition at line 246 of file Attributor.h.
References Offset, Size, and Unknown.
Referenced by llvm::AA::getInitialValueForObj(), and mayOverlap().
Definition at line 275 of file Attributor.h.
References isUnassigned(), Offset, offsetAndSizeAreUnknown(), Size, and Unknown.
int64_t llvm::AA::RangeTy::Offset = Unassigned |
Definition at line 238 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 239 of file Attributor.h.
Referenced by isUnassigned(), mayOverlap(), offsetAndSizeAreUnknown(), offsetOrSizeAreUnknown(), and operator&=().
|
staticconstexpr |
Constants used to represent special offsets or sizes.
Definition at line 315 of file Attributor.h.
Referenced by isUnassigned().
|
staticconstexpr |
Definition at line 316 of file Attributor.h.
Referenced by getUnknown(), llvm::AAPointerInfo::OffsetInfo::isUnknown(), offsetAndSizeAreUnknown(), offsetOrSizeAreUnknown(), operator&=(), and llvm::AAPointerInfo::OffsetInfo::setUnknown().