Home
last modified time | relevance | path

Searched refs:Stk (Results 1 – 10 of 10) sorted by relevance

/freebsd/contrib/llvm-project/clang/lib/AST/Interp/
H A DInterp.h276 const T &Ret = S.Stk.pop<T>(); in Ret()
291 assert(S.Current->getFrameOffset() == S.Stk.size() && "Invalid frame"); in Ret()
299 S.Stk.push<T>(Ret); in Ret()
310 assert(S.Current->getFrameOffset() == S.Stk.size() && "Invalid frame"); in RetVoid()
337 S.Stk.push<T>(Result); in AddSubMulHelper()
342 S.Stk.push<T>(Result); in AddSubMulHelper()
363 S.Stk.pop<T>(); in AddSubMulHelper()
372 const T &RHS = S.Stk.pop<T>(); in Add()
373 const T &LHS = S.Stk.pop<T>(); in Add()
379 const Floating &RHS = S.Stk.pop<Floating>(); in Addf()
[all …]
H A DContext.cpp29 assert(Stk.empty()); in isPotentialConstantExpr()
46 bool Recursing = !Stk.empty(); in evaluateAsRValue()
47 Compiler<EvalEmitter> C(*this, *P, Parent, Stk); in evaluateAsRValue()
53 Stk.clear(); in evaluateAsRValue()
58 assert(Stk.empty()); in evaluateAsRValue()
62 Stk.clear(); in evaluateAsRValue()
73 bool Recursing = !Stk.empty(); in evaluate()
74 Compiler<EvalEmitter> C(*this, *P, Parent, Stk); in evaluate()
79 Stk.clear(); in evaluate()
84 assert(Stk.empty()); in evaluate()
[all …]
H A DInterpBuiltin.cpp63 static APSInt peekToAPSInt(InterpStack &Stk, PrimType T, size_t Offset = 0) { in peekToAPSInt() argument
68 INT_TYPE_SWITCH(T, R = Stk.peek<T>(Offset).toAPSInt()); in peekToAPSInt()
82 INT_TYPE_SWITCH(*T, { S.Stk.push<T>(T::from(V)); }); in pushInteger()
86 INT_TYPE_SWITCH(*T, { S.Stk.push<T>(T::from(V)); }); in pushInteger()
160 S.Stk.push<Boolean>(Boolean::from(S.inConstantContext())); in interp__builtin_is_constant_evaluated()
297 S.Stk.push<Floating>(Result); in interp__builtin_nan()
306 S.Stk.push<Floating>(Floating::getInf(TargetSemantics)); in interp__builtin_inf()
318 S.Stk.push<Floating>(Floating(Copy)); in interp__builtin_copysign()
338 S.Stk.push<Floating>(Result); in interp__builtin_fmin()
358 S.Stk.push<Floating>(Result); in interp__builtin_fmax()
[all …]
H A DEvalEmitter.cpp20 InterpStack &Stk) in EvalEmitter() argument
21 : Ctx(Ctx), P(P), S(Parent, P, Stk, Ctx, this), EvalResult(&Ctx) { in EvalEmitter()
109 if (S.Stk.pop<bool>()) in jumpTrue()
117 if (!S.Stk.pop<bool>()) in jumpFalse()
148 EvalResult.setValue(S.Stk.pop<T>().toAPValue(Ctx.getASTContext())); in emitRet()
156 const Pointer &Ptr = S.Stk.pop<Pointer>(); in emitRet()
196 EvalResult.setFunctionPointer(S.Stk.pop<FunctionPointer>()); in emitRet()
208 const auto &Ptr = S.Stk.pop<Pointer>(); in emitRetValue()
233 S.Stk.push<Pointer>(B, sizeof(InlineDescriptor)); in emitGetPtrLocal()
245 S.Stk.push<T>(*reinterpret_cast<T *>(B->data())); in emitGetLocal()
[all …]
H A DInterpState.cpp18 InterpState::InterpState(State &Parent, Program &P, InterpStack &Stk, in InterpState() argument
20 : Parent(Parent), M(M), P(P), Stk(Stk), Ctx(Ctx), Current(nullptr) {} in InterpState()
H A DContext.h65 InterpStack &getStack() { return Stk; } in getStack()
121 InterpStack Stk; variable
H A DInterpState.h38 InterpState(State &Parent, Program &P, InterpStack &Stk, Context &Ctx,
128 InterpStack &Stk; variable
H A DInterpFrame.cpp28 RetPC(RetPC), ArgSize(ArgSize), Args(static_cast<char *>(S.Stk.top())), in InterpFrame()
29 FrameOffset(S.Stk.size()) { in InterpFrame()
94 TYPE_SWITCH(Ty, S.Stk.discard<T>()); in popArgs()
H A DEvalEmitter.h47 EvalEmitter(Context &Ctx, Program &P, State &Parent, InterpStack &Stk);
H A DInterp.cpp48 if (S.Stk.pop<bool>()) { in Jt()
55 if (!S.Stk.pop<bool>()) { in Jf()
195 TYPE_SWITCH(Ty, S.Stk.discard<T>()); in popArg()
814 const Pointer &ArgPtr = S.Stk.peek<Pointer>(ArgSize - Offset); in CheckNonNullArgs()
864 S.Stk.push<Pointer>(BasePtr); in runRecordDestructor()