clang 23.0.0git
clang::interp::InterpState Class Referencefinal

Interpreter context. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/InterpState.h"

Inheritance diagram for clang::interp::InterpState:
[legend]

Public Member Functions

 InterpState (const State &Parent, Program &P, InterpStack &Stk, Context &Ctx, SourceMapper *M=nullptr)
 InterpState (const State &Parent, Program &P, InterpStack &Stk, Context &Ctx, const Function *Func)
 ~InterpState ()
void cleanup ()
 InterpState (const InterpState &)=delete
InterpStateoperator= (const InterpState &)=delete
bool diagnosing () const
const FramegetCurrentFrame () override
unsigned getCallStackDepth () override
const FramegetBottomFrame () const override
bool stepsLeft () const override
bool inConstantContext () const
void deallocate (Block *B)
 Deallocates a pointer.
SourceInfo getSource (const Function *F, CodePtr PC) const override
 Delegates source mapping to the mapper.
ContextgetContext () const
void setEvalLocation (SourceLocation SL)
DynamicAllocatorgetAllocator ()
bool maybeDiagnoseDanglingAllocations ()
 Diagnose any dynamic allocations that haven't been freed yet.
StdAllocatorCaller getStdAllocatorCaller (StringRef Name) const
void * allocate (size_t Size, unsigned Align=8) const
template<typename T>
T * allocate (size_t Num=1) const
template<typename T>
allocAP (unsigned BitWidth)
Floating allocFloat (const llvm::fltSemantics &Sem)
const CXXRecordDecl ** allocMemberPointerPath (unsigned Length)
bool noteStep (CodePtr OpPC)
 Note that a step has been executed.
Public Member Functions inherited from clang::interp::State
 State (ASTContext &ASTCtx, Expr::EvalStatus &EvalStatus)
virtual ~State ()
Expr::EvalStatusgetEvalStatus () const
ASTContextgetASTContext () const
const LangOptionsgetLangOpts () const
bool noteSideEffect () const
 Note that we have had a side-effect, and determine whether we should keep evaluating.
bool keepEvaluatingAfterFailure () const
 Should we continue evaluation as much as possible after encountering a construct which can't be reduced to a value?
bool keepEvaluatingAfterSideEffect () const
 Should we continue evaluation after encountering a side-effect that we couldn't model?
bool noteUndefinedBehavior () const
 Note that we hit something that was technically undefined behavior, but that we can evaluate past it (such as signed overflow or floating-point division by zero.)
bool checkingPotentialConstantExpression () const
 Are we checking whether the expression is a potential constant expression?
bool checkingForUndefinedBehavior () const
 Are we checking an expression for overflow?
OptionalDiagnostic FFDiag (SourceLocation Loc, diag::kind DiagId=diag::note_invalid_subexpr_in_const_expr, unsigned ExtraNotes=0)
 Diagnose that the evaluation could not be folded (FF => FoldFailure)
OptionalDiagnostic FFDiag (const Expr *E, diag::kind DiagId=diag::note_invalid_subexpr_in_const_expr, unsigned ExtraNotes=0)
OptionalDiagnostic FFDiag (SourceInfo SI, diag::kind DiagId=diag::note_invalid_subexpr_in_const_expr, unsigned ExtraNotes=0)
OptionalDiagnostic CCEDiag (SourceLocation Loc, diag::kind DiagId=diag::note_invalid_subexpr_in_const_expr, unsigned ExtraNotes=0)
 Diagnose that the evaluation does not produce a C++11 core constant expression.
OptionalDiagnostic CCEDiag (const Expr *E, diag::kind DiagId=diag::note_invalid_subexpr_in_const_expr, unsigned ExtraNotes=0)
OptionalDiagnostic CCEDiag (SourceInfo SI, diag::kind DiagId=diag::note_invalid_subexpr_in_const_expr, unsigned ExtraNotes=0)
OptionalDiagnostic Note (SourceLocation Loc, diag::kind DiagId)
 Add a note to a prior diagnostic.
void addNotes (ArrayRef< PartialDiagnosticAt > Diags)
 Add a stack of notes to a prior diagnostic.
DiagnosticBuilder report (SourceLocation Loc, diag::kind DiagId)
 Directly reports a diagnostic message.
Public Member Functions inherited from clang::interp::SourceMapper
virtual ~SourceMapper ()
const ExprgetExpr (const Function *F, CodePtr PC) const
 Returns the expression if an opcode belongs to one, null otherwise.
SourceLocation getLocation (const Function *F, CodePtr PC) const
 Returns the location from which an opcode originates.
SourceRange getRange (const Function *F, CodePtr PC) const

Public Attributes

ProgramP
 Reference to the module containing all bytecode.
InterpStackStk
 Temporary stack.
ContextCtx
 Interpreter Context.
InterpFrame BottomFrame
 Bottom function frame.
InterpFrameCurrent = nullptr
 The current frame.
SourceLocation EvalLocation
 Source location of the evaluating expression.
const VarDeclEvaluatingDecl = nullptr
 Declaration we're initializing/evaluting, if any.
unsigned StepsLeft = 1
 Steps left during evaluation.
const bool InfiniteSteps = false
 Whether infinite evaluation steps have been requested.
const unsigned EvalID
 ID identifying this evaluation.
SmallVectorImpl< PartialDiagnosticAt > * PrevDiags = nullptr
 Things needed to do speculative execution.
unsigned SpeculationDepth = 0
std::optional< boolConstantContextOverride
llvm::SmallVector< std::pair< const Expr *, const LifetimeExtendedTemporaryDecl * > > SeenGlobalTemporaries
llvm::SmallVector< const Block * > InitializingBlocks
 List of blocks we're currently running either constructors or destructors for.
Public Attributes inherited from clang::interp::State
bool InConstantContext = false
 Whether or not we're in a context where the front end requires a constant value.
bool CheckingPotentialConstantExpression = false
 Whether we're checking that an expression is a potential constant expression.
bool CheckingForUndefinedBehavior = false
 Whether we're checking for an expression that has undefined behavior.
EvaluationMode EvalMode
ASTContextCtx
Expr::EvalStatusEvalStatus

Friends

class EvaluationResult
class InterpStateCCOverride

Detailed Description

Interpreter context.

Definition at line 36 of file InterpState.h.

Constructor & Destructor Documentation

◆ InterpState() [1/3]

◆ InterpState() [2/3]

◆ ~InterpState()

InterpState::~InterpState ( )

Definition at line 54 of file InterpState.cpp.

References BottomFrame, Current, Next, and P.

◆ InterpState() [3/3]

clang::interp::InterpState::InterpState ( const InterpState & )
delete

References InterpState().

Member Function Documentation

◆ allocAP()

◆ allocate() [1/2]

template<typename T>
T * clang::interp::InterpState::allocate ( size_t Num = 1) const
inline

Definition at line 98 of file InterpState.h.

References allocate(), and clang::Num.

◆ allocate() [2/2]

void * clang::interp::InterpState::allocate ( size_t Size,
unsigned Align = 8 ) const
inline

Definition at line 93 of file InterpState.h.

Referenced by allocAP(), allocate(), allocFloat(), and allocMemberPointerPath().

◆ allocFloat()

◆ allocMemberPointerPath()

const CXXRecordDecl ** clang::interp::InterpState::allocMemberPointerPath ( unsigned Length)
inline

◆ cleanup()

void InterpState::cleanup ( )

Definition at line 75 of file InterpState.cpp.

◆ deallocate()

◆ diagnosing()

◆ getAllocator()

◆ getBottomFrame()

const Frame * clang::interp::InterpState::getBottomFrame ( ) const
inlineoverridevirtual

Implements clang::interp::State.

Definition at line 57 of file InterpState.h.

References BottomFrame.

◆ getCallStackDepth()

unsigned clang::interp::InterpState::getCallStackDepth ( )
inlineoverridevirtual

Implements clang::interp::State.

Definition at line 54 of file InterpState.h.

References Current.

◆ getContext()

Context & clang::interp::InterpState::getContext ( ) const
inline

Definition at line 74 of file InterpState.h.

References Ctx.

Referenced by clang::interp::CallVirt(), clang::interp::CheckArrayInitialized(), clang::interp::compileFunction(), clang::interp::DoBitCast(), clang::interp::DoBitCastPtr(), clang::interp::DoMemcpy(), clang::interp::GetMemberPtrDecl(), clang::interp::GetTypeidPtr(), clang::interp::interp__builtin_addressof(), clang::interp::interp__builtin_carryop(), clang::interp::interp__builtin_elementwise_abs(), clang::interp::interp__builtin_elementwise_countzeroes(), clang::interp::interp__builtin_elementwise_int_binop(), clang::interp::interp__builtin_elementwise_int_unaryop(), clang::interp::interp__builtin_elementwise_maxmin(), clang::interp::interp__builtin_elementwise_triop(), clang::interp::interp__builtin_expect(), clang::interp::interp__builtin_fpclassify(), clang::interp::interp__builtin_ia32_addcarry_subborrow(), clang::interp::interp__builtin_ia32_gfni_mul(), clang::interp::interp__builtin_ia32_movmsk_op(), clang::interp::interp__builtin_ia32_multishiftqb(), clang::interp::interp__builtin_ia32_pclmulqdq(), clang::interp::interp__builtin_ia32_phminposuw(), clang::interp::interp__builtin_ia32_pmul(), clang::interp::interp__builtin_ia32_pternlog(), clang::interp::interp__builtin_ia32_shift_with_count(), clang::interp::interp__builtin_ia32_shufbitqmb_mask(), clang::interp::interp__builtin_ia32_shuffle_generic(), clang::interp::interp__builtin_ia32_test_op(), clang::interp::interp__builtin_ia32_vcvtps2ph(), clang::interp::interp__builtin_ia32_vpconflict(), clang::interp::interp__builtin_infer_alloc_token(), clang::interp::interp__builtin_memchr(), clang::interp::interp__builtin_memcmp(), clang::interp::interp__builtin_operator_new(), clang::interp::interp__builtin_overflowop(), clang::interp::interp__builtin_strcmp(), clang::interp::interp__builtin_vector_reduce(), clang::interp::interp__builtin_x86_pack(), clang::interp::interp_builtin_horizontal_int_binop(), clang::interp::interp_builtin_ia32_gfni_affine(), clang::interp::popArg(), clang::interp::popToAPSInt(), clang::interp::popToAPSInt(), clang::interp::popToUInt64(), clang::interp::pushInteger(), clang::interp::runRecordDestructor(), and clang::interp::SetThreeWayComparisonField().

◆ getCurrentFrame()

const Frame * InterpState::getCurrentFrame ( )
overridevirtual

Implements clang::interp::State.

Definition at line 82 of file InterpState.cpp.

References Current.

◆ getSource()

SourceInfo clang::interp::InterpState::getSource ( const Function * F,
CodePtr PC ) const
inlineoverridevirtual

Delegates source mapping to the mapper.

Implements clang::interp::SourceMapper.

Definition at line 66 of file InterpState.h.

References clang::interp::Function::getSource().

◆ getStdAllocatorCaller()

◆ inConstantContext()

◆ maybeDiagnoseDanglingAllocations()

bool InterpState::maybeDiagnoseDanglingAllocations ( )

Diagnose any dynamic allocations that haven't been freed yet.

Will return false if there were any allocations to diagnose, true otherwise.

Definition at line 112 of file InterpState.cpp.

References clang::interp::State::CCEDiag(), clang::interp::State::checkingPotentialConstantExpression(), and clang::interp::State::getLangOpts().

Referenced by clang::interp::CheckAllocations().

◆ noteStep()

bool InterpState::noteStep ( CodePtr OpPC)

Note that a step has been executed.

If there are no more steps remaining, diagnoses and returns false.

Definition at line 161 of file InterpState.cpp.

References Current, clang::interp::State::FFDiag(), InfiniteSteps, and StepsLeft.

Referenced by Jf(), Jmp(), and Jt().

◆ operator=()

InterpState & clang::interp::InterpState::operator= ( const InterpState & )
delete

References InterpState().

◆ setEvalLocation()

void clang::interp::InterpState::setEvalLocation ( SourceLocation SL)
inline

Definition at line 76 of file InterpState.h.

References EvalLocation.

◆ stepsLeft()

bool clang::interp::InterpState::stepsLeft ( ) const
inlineoverridevirtual

Implements clang::interp::State.

Definition at line 59 of file InterpState.h.

◆ EvaluationResult

friend class EvaluationResult
friend

Definition at line 131 of file InterpState.h.

References EvaluationResult.

Referenced by EvaluationResult.

◆ InterpStateCCOverride

friend class InterpStateCCOverride
friend

Definition at line 132 of file InterpState.h.

References InterpStateCCOverride.

Referenced by InterpStateCCOverride.

Member Data Documentation

◆ BottomFrame

InterpFrame clang::interp::InterpState::BottomFrame

Bottom function frame.

Definition at line 150 of file InterpState.h.

Referenced by getBottomFrame(), InterpState(), InterpState(), and ~InterpState().

◆ ConstantContextOverride

std::optional<bool> clang::interp::InterpState::ConstantContextOverride

Definition at line 168 of file InterpState.h.

Referenced by inConstantContext(), clang::interp::PopCC(), and clang::interp::PushCC().

◆ Ctx

◆ Current

InterpFrame* clang::interp::InterpState::Current = nullptr

The current frame.

Definition at line 152 of file InterpState.h.

Referenced by clang::interp::ActivateThisField(), clang::interp::AddSubMulHelper(), clang::interp::AllocN(), clang::interp::ArrayDecay(), clang::interp::Assume(), BCP(), clang::interp::BitCastPrim(), clang::interp::Call(), clang::interp::CallPtr(), clang::interp::CallVar(), clang::interp::CallVirt(), clang::interp::CastFloatingIntegral(), clang::interp::CheckActive(), clang::interp::CheckArray(), clang::interp::CheckArraySize(), clang::interp::CheckArraySize(), clang::interp::CheckBitCast(), clang::interp::CheckBitCast(), CheckBitcastType(), clang::interp::CheckCallable(), clang::interp::CheckCallDepth(), clang::interp::CheckConst(), clang::interp::CheckConstant(), clang::interp::checkConstructor(), clang::interp::CheckDeleteSource(), clang::interp::CheckDestructor(), clang::interp::CheckDivRem(), clang::interp::CheckDowncast(), clang::interp::CheckDummy(), clang::interp::CheckDynamicMemoryAllocation(), clang::interp::CheckFloatResult(), clang::interp::CheckFunctionDecl(), CheckGlobal(), clang::interp::CheckGlobalLoad(), clang::interp::CheckLifetime(), clang::interp::CheckLiteralType(), clang::interp::CheckLive(), clang::interp::CheckLoad(), clang::interp::CheckLocalLoad(), clang::interp::CheckMutable(), clang::interp::CheckNewDeleteForms(), clang::interp::CheckNewTypeMismatch(), clang::interp::CheckNonNullArg(), clang::interp::CheckNonNullArgs(), clang::interp::CheckNull(), clang::interp::CheckNull(), clang::interp::CheckPointerToIntegralCast(), clang::interp::CheckPseudoDtor(), clang::interp::CheckRange(), clang::interp::CheckRange(), clang::interp::CheckShift(), clang::interp::CheckSubobject(), CheckTemporary(), clang::interp::CheckThis(), clang::interp::CheckVolatile(), clang::interp::CheckWeak(), clang::interp::cleanupAfterFunctionCall(), clang::interp::CMP3(), clang::interp::CmpHelper< Pointer >(), clang::interp::CmpHelperEQ< MemberPointer >(), clang::interp::CmpHelperEQ< Pointer >(), clang::interp::CtorCheck(), clang::interp::Destroy(), clang::interp::diagnoseCallableDecl(), clang::interp::diagnoseEnumValue(), diagnoseMissingInitializer(), clang::interp::diagnoseNonConstexprBuiltin(), diagnoseNonConstVariable(), clang::interp::DiagnoseUninitialized(), diagnoseUnknownDecl(), clang::interp::DiagTypeid(), clang::interp::Divc(), clang::interp::DoBitCastPtr(), clang::interp::DoShift(), clang::interp::DoShiftAP(), clang::interp::EnableLocal(), clang::interp::FnPtrCast(), clang::interp::Free(), getCallStackDepth(), getCurrentFrame(), clang::interp::GetDynamicDecl(), clang::interp::getField(), clang::interp::GetIntPtr(), clang::interp::GetLocal(), clang::interp::GetLocalEnabled(), clang::interp::GetParam(), clang::interp::GetPtrDerivedPop(), clang::interp::GetPtrLocal(), clang::interp::GetPtrParam(), clang::interp::GetPtrThisBase(), clang::interp::GetPtrThisField(), clang::interp::GetPtrThisVirtBase(), getStdAllocatorCaller(), clang::interp::GetThisField(), clang::interp::GetTypeidPtr(), clang::interp::handleFixedPointOverflow(), clang::interp::handleOverflow(), clang::interp::IncDecHelper(), clang::interp::InitElem(), clang::interp::InitElemPop(), clang::interp::InitScope(), clang::interp::InitThisBitField(), clang::interp::InitThisBitFieldActivate(), clang::interp::InitThisField(), clang::interp::InitThisFieldActivate(), clang::interp::interp__builtin_elementwise_countzeroes(), clang::interp::interp__builtin_ia32_vcvtps2ph(), clang::interp::interp__builtin_is_constant_evaluated(), clang::interp::interp__builtin_is_within_lifetime(), clang::interp::interp__builtin_memchr(), clang::interp::interp__builtin_memcmp(), clang::interp::interp__builtin_memcpy(), clang::interp::interp__builtin_operator_delete(), clang::interp::interp__builtin_operator_new(), clang::interp::Interpret(), clang::interp::InterpretBuiltin(), InterpState(), InterpState(), clang::interp::Invalid(), clang::interp::InvalidCast(), clang::interp::InvalidDeclRef(), clang::interp::InvalidNewDeleteExpr(), clang::interp::InvalidShuffleVectorIndex(), clang::interp::InvalidStore(), clang::interp::Neg(), clang::interp::NoRet(), noteStep(), clang::interp::OffsetHelper(), clang::interp::PopMSVCCE(), clang::interp::PtrPtrCast(), clang::interp::PushMSVCCE(), clang::interp::Ret(), clang::interp::RetVoid(), clang::interp::runRecordDestructor(), clang::interp::RVOPtr(), clang::interp::SetLocal(), clang::interp::SetParam(), clang::interp::SetThisField(), clang::interp::ShiftFixedPoint(), clang::interp::SizelessVectorElementSize(), clang::interp::SubPtr(), clang::interp::This(), clang::interp::Unsupported(), and ~InterpState().

◆ EvalID

const unsigned clang::interp::InterpState::EvalID

◆ EvalLocation

SourceLocation clang::interp::InterpState::EvalLocation

Source location of the evaluating expression.

Definition at line 154 of file InterpState.h.

Referenced by setEvalLocation().

◆ EvaluatingDecl

const VarDecl* clang::interp::InterpState::EvaluatingDecl = nullptr

◆ InfiniteSteps

const bool clang::interp::InterpState::InfiniteSteps = false

Whether infinite evaluation steps have been requested.

If this is false, we use the StepsLeft value above.

Definition at line 161 of file InterpState.h.

Referenced by InterpState(), InterpState(), and noteStep().

◆ InitializingBlocks

llvm::SmallVector<const Block *> clang::interp::InterpState::InitializingBlocks

List of blocks we're currently running either constructors or destructors for.

Definition at line 176 of file InterpState.h.

Referenced by clang::interp::Call(), clang::interp::CallVirt(), clang::interp::CheckConst(), clang::interp::CheckVolatile(), and clang::interp::interp__builtin_is_within_lifetime().

◆ P

◆ PrevDiags

SmallVectorImpl<PartialDiagnosticAt>* clang::interp::InterpState::PrevDiags = nullptr

Things needed to do speculative execution.

Definition at line 166 of file InterpState.h.

Referenced by clang::interp::EndSpeculation(), and clang::interp::StartSpeculation().

◆ SeenGlobalTemporaries

llvm::SmallVector< std::pair<const Expr *, const LifetimeExtendedTemporaryDecl *> > clang::interp::InterpState::SeenGlobalTemporaries

◆ SpeculationDepth

unsigned clang::interp::InterpState::SpeculationDepth = 0

◆ StepsLeft

unsigned clang::interp::InterpState::StepsLeft = 1

Steps left during evaluation.

Definition at line 158 of file InterpState.h.

Referenced by InterpState(), InterpState(), and noteStep().

◆ Stk

InterpStack& clang::interp::InterpState::Stk

Temporary stack.

Definition at line 146 of file InterpState.h.

Referenced by clang::interp::Activate(), clang::interp::Add(), clang::interp::Addf(), clang::interp::AddOffset(), clang::interp::AddSubMulHelper(), clang::interp::Alloc(), clang::interp::AllocCN(), clang::interp::AllocN(), clang::interp::appendToMemberPointer(), clang::interp::ArrayDecay(), clang::interp::ArrayElem(), clang::interp::ArrayElemPop(), clang::interp::ArrayElemPtr(), clang::interp::ArrayElemPtrPop(), clang::interp::Assume(), BCP(), clang::interp::BitAnd(), clang::interp::BitCast(), clang::interp::BitCastPrim(), clang::interp::BitOr(), clang::interp::BitXor(), clang::interp::Call(), clang::interp::CallPtr(), clang::interp::CallVar(), clang::interp::CallVirt(), clang::interp::Cast(), clang::interp::CastAP(), clang::interp::CastAPS(), clang::interp::castBackMemberPointer(), clang::interp::CastFixedPoint(), clang::interp::CastFixedPointFloating(), clang::interp::CastFixedPointIntegral(), clang::interp::CastFloatingFixedPoint(), clang::interp::CastFloatingIntegral(), clang::interp::CastFloatingIntegralAP(), clang::interp::CastFloatingIntegralAPS(), clang::interp::CastFP(), clang::interp::CastIntegralFixedPoint(), clang::interp::CastIntegralFloating(), clang::interp::CastMemberPtrBasePop(), clang::interp::CastMemberPtrDerivedPop(), clang::interp::CastMemberPtrPtr(), clang::interp::CastPointerIntegral(), clang::interp::CastPointerIntegralAP(), clang::interp::CastPointerIntegralAPS(), clang::interp::CheckBitCast(), clang::interp::CheckDestruction(), clang::interp::CheckEnumValue(), clang::interp::CheckNewTypeMismatch(), clang::interp::CheckNewTypeMismatchArray(), clang::interp::CheckNonNullArg(), clang::interp::CheckNonNullArgs(), clang::interp::CheckNull(), clang::interp::cleanupAfterFunctionCall(), clang::interp::CMP3(), clang::interp::CmpHelper(), clang::interp::CmpHelper< Pointer >(), clang::interp::CmpHelperEQ< MemberPointer >(), clang::interp::CmpHelperEQ< Pointer >(), clang::interp::Comp(), clang::interp::Const(), clang::interp::ConstFloat(), clang::interp::CopyArray(), clang::interp::Dec(), clang::interp::DecayPtr(), clang::interp::DecBitfield(), clang::interp::Decf(), clang::interp::DecfPop(), clang::interp::DecPop(), clang::interp::DecPopBitfield(), clang::interp::DecPtr(), clang::interp::Div(), clang::interp::Divc(), clang::interp::Divf(), clang::interp::DoShift(), clang::interp::DoShiftAP(), clang::interp::Dump(), clang::interp::Dup(), clang::interp::EndLifetime(), clang::interp::EndLifetimePop(), clang::interp::ExpandPtr(), clang::interp::FinishInit(), clang::interp::FinishInitActivate(), clang::interp::FinishInitActivatePop(), clang::interp::FinishInitGlobal(), clang::interp::FinishInitPop(), clang::interp::Flip(), clang::interp::Free(), clang::interp::GetField(), clang::interp::getField(), clang::interp::GetFieldPop(), clang::interp::GetFnPtr(), clang::interp::GetGlobal(), clang::interp::GetGlobalUnchecked(), clang::interp::GetIntPtr(), clang::interp::GetLocal(), clang::interp::GetLocalEnabled(), clang::interp::GetMemberPtr(), clang::interp::GetMemberPtrBase(), clang::interp::GetMemberPtrDecl(), clang::interp::GetParam(), clang::interp::GetPtrBase(), clang::interp::GetPtrBasePop(), clang::interp::GetPtrDerivedPop(), clang::interp::GetPtrField(), clang::interp::GetPtrFieldPop(), clang::interp::GetPtrGlobal(), clang::interp::GetPtrLocal(), clang::interp::GetPtrParam(), clang::interp::GetPtrThisBase(), clang::interp::GetPtrThisField(), clang::interp::GetPtrVirtBasePop(), clang::interp::GetThisField(), clang::interp::GetTypeid(), clang::interp::GetTypeidPtr(), clang::interp::Inc(), clang::interp::IncBitfield(), clang::interp::IncDecFloatHelper(), clang::interp::IncDecHelper(), clang::interp::IncDecPtrHelper(), clang::interp::Incf(), clang::interp::IncfPop(), clang::interp::IncPop(), clang::interp::IncPopBitfield(), clang::interp::IncPtr(), clang::interp::Init(), clang::interp::InitBitField(), clang::interp::InitBitFieldActivate(), clang::interp::InitElem(), clang::interp::InitElemPop(), clang::interp::InitField(), clang::interp::InitFieldActivate(), clang::interp::InitGlobal(), clang::interp::InitGlobalTemp(), clang::interp::InitGlobalTempComp(), clang::interp::InitPop(), clang::interp::InitThisBitField(), clang::interp::InitThisBitFieldActivate(), clang::interp::InitThisField(), clang::interp::InitThisFieldActivate(), clang::interp::interp__builtin_arithmetic_fence(), clang::interp::interp__builtin_assume_aligned(), clang::interp::interp__builtin_atomic_lock_free(), clang::interp::interp__builtin_c11_atomic_is_lock_free(), clang::interp::interp__builtin_carryop(), clang::interp::interp__builtin_clz(), clang::interp::interp__builtin_complex(), clang::interp::interp__builtin_copysign(), clang::interp::interp__builtin_ctz(), clang::interp::interp__builtin_elementwise_abs(), clang::interp::interp__builtin_elementwise_countzeroes(), clang::interp::interp__builtin_elementwise_fp_binop(), clang::interp::interp__builtin_elementwise_int_binop(), clang::interp::interp__builtin_elementwise_int_unaryop(), clang::interp::interp__builtin_elementwise_maxmin(), clang::interp::interp__builtin_elementwise_triop(), clang::interp::interp__builtin_elementwise_triop_fp(), clang::interp::interp__builtin_expect(), clang::interp::interp__builtin_fabs(), clang::interp::interp__builtin_fmax(), clang::interp::interp__builtin_fmin(), clang::interp::interp__builtin_fpclassify(), clang::interp::interp__builtin_ia32_addcarry_subborrow(), clang::interp::interp__builtin_ia32_addsub(), clang::interp::interp__builtin_ia32_cmp_mask(), clang::interp::interp__builtin_ia32_cvt_mask2vec(), clang::interp::interp__builtin_ia32_cvt_vec2mask(), clang::interp::interp__builtin_ia32_cvtpd2ps(), clang::interp::interp__builtin_ia32_cvtsd2ss(), clang::interp::interp__builtin_ia32_gfni_mul(), clang::interp::interp__builtin_ia32_movmsk_op(), clang::interp::interp__builtin_ia32_multishiftqb(), clang::interp::interp__builtin_ia32_pclmulqdq(), clang::interp::interp__builtin_ia32_phminposuw(), clang::interp::interp__builtin_ia32_pmul(), clang::interp::interp__builtin_ia32_pternlog(), clang::interp::interp__builtin_ia32_shift_with_count(), clang::interp::interp__builtin_ia32_shufbitqmb_mask(), clang::interp::interp__builtin_ia32_shuffle_generic(), clang::interp::interp__builtin_ia32_test_op(), clang::interp::interp__builtin_ia32_vcvtps2ph(), clang::interp::interp__builtin_ia32_vpconflict(), clang::interp::interp__builtin_inf(), clang::interp::interp__builtin_infer_alloc_token(), clang::interp::interp__builtin_is_aligned_up_down(), clang::interp::interp__builtin_is_constant_evaluated(), clang::interp::interp__builtin_is_within_lifetime(), clang::interp::interp__builtin_isfinite(), clang::interp::interp__builtin_isfpclass(), clang::interp::interp__builtin_isinf(), clang::interp::interp__builtin_isnan(), clang::interp::interp__builtin_isnormal(), clang::interp::interp__builtin_issignaling(), clang::interp::interp__builtin_issubnormal(), clang::interp::interp__builtin_iszero(), clang::interp::interp__builtin_memchr(), clang::interp::interp__builtin_memcmp(), clang::interp::interp__builtin_memcpy(), clang::interp::interp__builtin_nan(), clang::interp::interp__builtin_object_size(), clang::interp::interp__builtin_operator_delete(), clang::interp::interp__builtin_operator_new(), clang::interp::interp__builtin_overflowop(), clang::interp::interp__builtin_popcount(), clang::interp::interp__builtin_ptrauth_string_discriminator(), clang::interp::interp__builtin_scalar_fp_round_mask_binop(), clang::interp::interp__builtin_select(), clang::interp::interp__builtin_select_scalar(), clang::interp::interp__builtin_signbit(), clang::interp::interp__builtin_strcmp(), clang::interp::interp__builtin_strlen(), clang::interp::interp__builtin_vec_ext(), clang::interp::interp__builtin_vec_set(), clang::interp::interp__builtin_vector_reduce(), clang::interp::interp__builtin_x86_extract_vector(), clang::interp::interp__builtin_x86_extract_vector_masked(), clang::interp::interp__builtin_x86_insert_subvector(), clang::interp::interp__builtin_x86_pack(), clang::interp::interp_builtin_horizontal_fp_binop(), clang::interp::interp_builtin_horizontal_int_binop(), clang::interp::interp_builtin_ia32_gfni_affine(), clang::interp::interp_floating_comparison(), InterpState(), InterpState(), clang::interp::Inv(), clang::interp::IsConstantContext(), clang::interp::IsNonNull(), Jf(), Jt(), clang::interp::Load(), clang::interp::LoadPop(), clang::interp::Memcpy(), clang::interp::Mul(), clang::interp::Mulc(), clang::interp::Mulf(), clang::interp::NarrowPtr(), clang::interp::Neg(), clang::interp::Null(), clang::interp::OffsetOf(), clang::interp::Pop(), clang::interp::popArg(), clang::interp::popToAPSInt(), clang::interp::popToAPSInt(), clang::interp::popToUInt64(), clang::interp::PreDec(), clang::interp::PreDecBitfield(), clang::interp::PreInc(), clang::interp::PreIncBitfield(), clang::interp::PtrPtrCast(), clang::interp::pushInteger(), clang::interp::Rem(), clang::interp::Ret(), clang::interp::RetVoid(), clang::interp::runRecordDestructor(), clang::interp::RVOPtr(), clang::interp::SetField(), clang::interp::SetLocal(), clang::interp::SetParam(), clang::interp::SetThisField(), clang::interp::ShiftFixedPoint(), clang::interp::Shl(), clang::interp::Shr(), clang::interp::StartLifetime(), clang::interp::Store(), clang::interp::StoreActivate(), clang::interp::StoreActivatePop(), clang::interp::StoreBitField(), clang::interp::StoreBitFieldActivate(), clang::interp::StoreBitFieldActivatePop(), clang::interp::StoreBitFieldPop(), clang::interp::StorePop(), clang::interp::Sub(), clang::interp::Subf(), clang::interp::SubOffset(), clang::interp::SubPtr(), clang::interp::This(), clang::interp::ToMemberPtr(), clang::interp::VirtBaseHelper(), clang::interp::Zero(), clang::interp::ZeroIntAP(), and clang::interp::ZeroIntAPS().


The documentation for this class was generated from the following files: