Lines Matching refs:Pointer
28 class Pointer; variable
33 class Pointer; variable
34 inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Pointer &P);
79 class Pointer {
85 Pointer() { in Pointer() function
90 Pointer(Block *B);
91 Pointer(Block *B, uint64_t BaseAndOffset);
92 Pointer(const Pointer &P);
93 Pointer(Pointer &&P);
94 Pointer(uint64_t Address, const Descriptor *Desc, uint64_t Offset = 0)
99 ~Pointer();
101 void operator=(const Pointer &P);
102 void operator=(Pointer &&P);
105 bool operator==(const Pointer &P) const {
118 bool operator!=(const Pointer &P) const { return !(P == *this); }
137 [[nodiscard]] Pointer atIndex(uint64_t Idx) const { in atIndex()
139 return Pointer(asIntPointer().Value, asIntPointer().Desc, Idx); in atIndex()
142 return Pointer(asBlockPointer().Pointee, RootPtrMark, in atIndex()
149 return Pointer(asBlockPointer().Pointee, asBlockPointer().Base, in atIndex()
154 [[nodiscard]] Pointer atField(unsigned Off) const { in atField()
157 return Pointer(asIntPointer().Value + Field, asIntPointer().Desc); in atField()
158 return Pointer(asBlockPointer().Pointee, Field, Field); in atField()
163 [[nodiscard]] Pointer atFieldSub(unsigned Off) const { in atFieldSub()
166 return Pointer(asBlockPointer().Pointee, O, O); in atFieldSub()
170 [[nodiscard]] Pointer narrow() const { in narrow()
180 return Pointer(asBlockPointer().Pointee, sizeof(InlineDescriptor), in narrow()
185 return Pointer(asBlockPointer().Pointee, asBlockPointer().Base, in narrow()
195 return Pointer(asBlockPointer().Pointee, asBlockPointer().Base, in narrow()
201 return Pointer(asBlockPointer().Pointee, Offset, Offset); in narrow()
208 return Pointer(asBlockPointer().Pointee, NewBase, NewBase); in narrow()
212 [[nodiscard]] Pointer expand() const { in expand()
223 return Pointer(Pointee, asBlockPointer().Base, in expand()
233 return Pointer(Pointee, RootPtrMark, 0); in expand()
243 return Pointer(Pointee, Next, Offset); in expand()
288 [[nodiscard]] Pointer getBase() const { in getBase()
291 return Pointer(asBlockPointer().Pointee, asBlockPointer().Base, 0); in getBase()
294 return Pointer(asBlockPointer().Pointee, NewBase, NewBase); in getBase()
297 [[nodiscard]] Pointer getArray() const { in getArray()
300 return Pointer(asBlockPointer().Pointee, asBlockPointer().Base, 0); in getArray()
303 return Pointer(asBlockPointer().Pointee, asBlockPointer().Base, in getArray()
332 [[nodiscard]] Pointer getDeclPtr() const { in getDeclPtr()
333 return Pointer(asBlockPointer().Pointee); in getDeclPtr()
629 ComparisonCategoryResult compare(const Pointer &Other) const { in compare()
642 static bool hasSameBase(const Pointer &A, const Pointer &B);
644 static bool hasSameArray(const Pointer &A, const Pointer &B);
657 Pointer(Block *Pointee, unsigned Base, uint64_t Offset);
688 Pointer *Prev = nullptr;
690 Pointer *Next = nullptr;
699 inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Pointer &P) {