clang 22.0.0git
|
If an IntegralAP is constructed from Memory, it DOES NOT OWN THAT MEMORY. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/IntegralAP.h"
Public Types | |
using | AsUnsigned = IntegralAP<false> |
Public Member Functions | |
APInt | getValue () const |
void | take (uint64_t *NewMemory) |
void | copy (const APInt &V) |
IntegralAP ()=default | |
IntegralAP (unsigned BitWidth) | |
Zeroed, single-word IntegralAP of the given bitwidth. | |
IntegralAP (uint64_t *Memory, unsigned BitWidth) | |
IntegralAP (const APInt &V) | |
IntegralAP | operator- () const |
bool | operator> (const IntegralAP &RHS) const |
bool | operator>= (unsigned RHS) const |
bool | operator< (IntegralAP RHS) const |
template<typename Ty, typename = std::enable_if_t<std::is_integral_v<Ty>>> | |
operator Ty () const | |
constexpr uint32_t | bitWidth () const |
constexpr unsigned | numWords () const |
constexpr bool | singleWord () const |
APSInt | toAPSInt (unsigned Bits=0) const |
APValue | toAPValue (const ASTContext &) const |
bool | isZero () const |
bool | isPositive () const |
bool | isNegative () const |
bool | isMin () const |
bool | isMax () const |
bool | isMinusOne () const |
unsigned | countLeadingZeros () const |
void | print (llvm::raw_ostream &OS) const |
std::string | toDiagnosticString (const ASTContext &Ctx) const |
IntegralAP | truncate (unsigned BitWidth) const |
IntegralAP< false > | toUnsigned () const |
void | bitcastToMemory (std::byte *Dest) const |
ComparisonCategoryResult | compare (const IntegralAP &RHS) const |
size_t | bytesToSerialize () const |
void | serialize (std::byte *Buff) const |
Public Attributes | |
union { | |
uint64_t * Memory = nullptr | |
uint64_t Val | |
}; | |
uint32_t | BitWidth = 0 |
friend | IntegralAP<!Signed > |
If an IntegralAP is constructed from Memory, it DOES NOT OWN THAT MEMORY.
It will NOT copy the memory (unless, of course, copy() is called) and it won't alllocate anything. The allocation should happen via InterpState or Program.
Definition at line 36 of file IntegralAP.h.
using clang::interp::IntegralAP< Signed >::AsUnsigned = IntegralAP<false> |
Definition at line 70 of file IntegralAP.h.
|
default |
|
inline |
Zeroed, single-word IntegralAP of the given bitwidth.
Definition at line 95 of file IntegralAP.h.
|
inline |
Definition at line 98 of file IntegralAP.h.
|
inline |
Definition at line 100 of file IntegralAP.h.
|
inlinestatic |
Definition at line 244 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::increment().
|
inlinestatic |
Definition at line 272 of file IntegralAP.h.
|
inlinestatic |
Definition at line 206 of file IntegralAP.h.
Referenced by clang::interp::DoBitCastPtr().
|
inline |
Definition at line 202 of file IntegralAP.h.
|
inlinestatic |
Definition at line 278 of file IntegralAP.h.
|
inlineconstexpr |
Definition at line 139 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::bitcastToMemory(), clang::interp::IntegralAP< false >::compare(), clang::interp::IntegralAP< false >::decrement(), clang::interp::IntegralAP< false >::increment(), clang::interp::IntegralAP< false >::toAPSInt(), and clang::interp::IntegralAP< false >::truncate().
|
inlinestatic |
Definition at line 284 of file IntegralAP.h.
|
inline |
Definition at line 317 of file IntegralAP.h.
|
inlinestatic |
Definition at line 297 of file IntegralAP.h.
|
inline |
Definition at line 213 of file IntegralAP.h.
|
inline |
Definition at line 78 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::bitAnd(), clang::interp::IntegralAP< false >::bitOr(), clang::interp::IntegralAP< false >::bitXor(), clang::interp::CastFloatingIntegralAP(), clang::interp::CastFloatingIntegralAPS(), clang::interp::IntegralAP< false >::comp(), clang::interp::IntegralAP< false >::div(), clang::interp::IntegralAP< false >::neg(), clang::interp::IntegralAP< false >::rem(), and clang::interp::IntegralAP< false >::shiftRight().
|
inline |
Definition at line 179 of file IntegralAP.h.
|
inlinestatic |
Definition at line 239 of file IntegralAP.h.
|
inlinestatic |
Definition at line 336 of file IntegralAP.h.
|
inlinestatic |
Definition at line 332 of file IntegralAP.h.
|
inlinestatic |
Definition at line 264 of file IntegralAP.h.
|
inlinestatic |
Definition at line 130 of file IntegralAP.h.
|
inline |
Definition at line 62 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::bitAnd(), clang::interp::IntegralAP< false >::bitcastToMemory(), clang::interp::IntegralAP< false >::bitOr(), clang::interp::IntegralAP< false >::bitXor(), clang::interp::IntegralAP< false >::comp(), clang::interp::IntegralAP< false >::compare(), clang::interp::IntegralAP< false >::countLeadingZeros(), clang::interp::IntegralAP< false >::div(), clang::interp::IntegralAP< false >::isMax(), clang::interp::IntegralAP< false >::isMin(), clang::interp::IntegralAP< false >::isMinusOne(), clang::interp::IntegralAP< false >::isNegative(), clang::interp::IntegralAP< false >::isPositive(), clang::interp::IntegralAP< false >::isZero(), clang::interp::IntegralAP< false >::neg(), clang::interp::IntegralAP< false >::operator Ty(), clang::interp::IntegralAP< false >::operator-(), clang::interp::IntegralAP< false >::operator<(), clang::interp::IntegralAP< false >::operator>(), clang::interp::IntegralAP< false >::operator>=(), clang::interp::IntegralAP< false >::print(), clang::interp::IntegralAP< false >::rem(), clang::interp::IntegralAP< false >::shiftLeft(), clang::interp::IntegralAP< false >::shiftRight(), clang::interp::IntegralAP< false >::toAPSInt(), and clang::interp::IntegralAP< false >::truncate().
|
inlinestatic |
Definition at line 234 of file IntegralAP.h.
|
inline |
Definition at line 171 of file IntegralAP.h.
|
inline |
Definition at line 166 of file IntegralAP.h.
|
inline |
Definition at line 177 of file IntegralAP.h.
|
inline |
Definition at line 161 of file IntegralAP.h.
|
inline |
Definition at line 156 of file IntegralAP.h.
|
inlinestaticconstexpr |
Definition at line 176 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::compare().
|
inline |
Definition at line 155 of file IntegralAP.h.
|
inlinestatic |
Definition at line 252 of file IntegralAP.h.
|
inlinestatic |
Definition at line 290 of file IntegralAP.h.
|
inlineconstexpr |
Definition at line 140 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::bytesToSerialize(), clang::interp::IntegralAP< false >::copy(), clang::interp::IntegralAP< false >::serialize(), clang::interp::IntegralAP< false >::singleWord(), and clang::interp::IntegralAP< false >::take().
|
inlineexplicit |
Definition at line 126 of file IntegralAP.h.
|
inline |
Definition at line 108 of file IntegralAP.h.
|
inline |
Definition at line 119 of file IntegralAP.h.
|
inline |
Definition at line 109 of file IntegralAP.h.
|
inline |
Definition at line 114 of file IntegralAP.h.
|
inline |
Definition at line 181 of file IntegralAP.h.
Referenced by clang::interp::operator<<(), and clang::interp::IntegralAP< false >::toDiagnosticString().
|
inlinestatic |
Definition at line 256 of file IntegralAP.h.
|
inline |
Definition at line 322 of file IntegralAP.h.
|
inlinestatic |
Definition at line 302 of file IntegralAP.h.
|
inlinestatic |
Definition at line 307 of file IntegralAP.h.
|
inlineconstexpr |
Definition at line 141 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::getValue(), clang::interp::IntegralAP< false >::IntegralAP(), clang::interp::IntegralAP< false >::serialize(), and clang::interp::IntegralAP< false >::take().
|
inlinestatic |
Definition at line 248 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::decrement().
|
inline |
Definition at line 72 of file IntegralAP.h.
|
inline |
Definition at line 143 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::toAPValue().
|
inline |
Definition at line 153 of file IntegralAP.h.
|
inline |
Definition at line 182 of file IntegralAP.h.
|
inline |
Definition at line 198 of file IntegralAP.h.
|
inline |
Definition at line 189 of file IntegralAP.h.
|
inlinestatic |
Definition at line 46 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::operator Ty().
union { ... } clang::interp::IntegralAP< Signed > |
uint32_t clang::interp::IntegralAP< Signed >::BitWidth = 0 |
Definition at line 42 of file IntegralAP.h.
friend clang::interp::IntegralAP< Signed >::IntegralAP<!Signed > |
Definition at line 43 of file IntegralAP.h.
uint64_t* clang::interp::IntegralAP< Signed >::Memory = nullptr |
Definition at line 39 of file IntegralAP.h.
uint64_t clang::interp::IntegralAP< Signed >::Val |
Definition at line 40 of file IntegralAP.h.