|
clang 23.0.0git
|
If an IntegralAP is constructed from Memory, it DOES NOT OWN THAT MEMORY. More...
#include "/work/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 245 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::increment().
|
inlinestatic |
Definition at line 273 of file IntegralAP.h.
|
inlinestatic |
Definition at line 207 of file IntegralAP.h.
Referenced by clang::interp::DoBitCastPtr().
|
inline |
Definition at line 203 of file IntegralAP.h.
|
inlinestatic |
Definition at line 279 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 285 of file IntegralAP.h.
|
inline |
Definition at line 318 of file IntegralAP.h.
|
inlinestatic |
Definition at line 298 of file IntegralAP.h.
|
inline |
Definition at line 214 of file IntegralAP.h.
|
inline |
Definition at line 78 of file IntegralAP.h.
Referenced by clang::interp::CastFloatingIntegralAP(), and clang::interp::CastFloatingIntegralAPS().
|
inline |
Definition at line 180 of file IntegralAP.h.
|
inlinestatic |
Definition at line 240 of file IntegralAP.h.
|
inlinestatic |
Definition at line 337 of file IntegralAP.h.
|
inlinestatic |
Definition at line 333 of file IntegralAP.h.
|
inlinestatic |
Definition at line 265 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 235 of file IntegralAP.h.
|
inline |
Definition at line 172 of file IntegralAP.h.
|
inline |
Definition at line 167 of file IntegralAP.h.
|
inline |
Definition at line 178 of file IntegralAP.h.
|
inline |
Definition at line 162 of file IntegralAP.h.
|
inlinestaticconstexpr |
Definition at line 142 of file IntegralAP.h.
|
inline |
Definition at line 157 of file IntegralAP.h.
|
inlinestaticconstexpr |
Definition at line 177 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::compare().
|
inline |
Definition at line 156 of file IntegralAP.h.
|
inlinestatic |
Definition at line 253 of file IntegralAP.h.
|
inlinestatic |
Definition at line 291 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 182 of file IntegralAP.h.
Referenced by clang::interp::operator<<(), and clang::interp::IntegralAP< false >::toDiagnosticString().
|
inlinestatic |
Definition at line 257 of file IntegralAP.h.
|
inline |
Definition at line 323 of file IntegralAP.h.
|
inlinestatic |
Definition at line 303 of file IntegralAP.h.
|
inlinestatic |
Definition at line 308 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 249 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::decrement().
|
inline |
Definition at line 72 of file IntegralAP.h.
|
inline |
Definition at line 144 of file IntegralAP.h.
Referenced by clang::interp::IntegralAP< false >::toAPValue().
|
inline |
Definition at line 154 of file IntegralAP.h.
|
inline |
Definition at line 183 of file IntegralAP.h.
|
inline |
Definition at line 199 of file IntegralAP.h.
|
inline |
Definition at line 190 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.