Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/
H A DInterp.h325 const T &Ret = S.Stk.pop<T>(); in Ret()
328 assert(S.Current->getFrameOffset() == S.Stk.size() && "Invalid frame"); in Ret()
336 S.Stk.push<T>(Ret); in Ret()
347 assert(S.Current->getFrameOffset() == S.Stk.size() && "Invalid frame"); in RetVoid()
377 S.Stk.push<T>(Result); in AddSubMulHelper()
381 S.Stk.push<T>(Result); in AddSubMulHelper()
403 S.Stk.pop<T>(); in AddSubMulHelper()
411 const T &RHS = S.Stk.pop<T>(); in Add()
412 const T &LHS = S.Stk.pop<T>(); in Add()
426 const Floating &RHS = S.Stk.pop<Floating>(); in Addf()
[all …]
H A DInterpBuiltin.cpp45 static void discard(InterpStack &Stk, PrimType T) { in discard() argument
46 TYPE_SWITCH(T, { Stk.discard<T>(); }); in discard()
49 static APSInt popToAPSInt(InterpStack &Stk, PrimType T) { in popToAPSInt() argument
50 INT_TYPE_SWITCH(T, return Stk.pop<T>().toAPSInt()); in popToAPSInt()
65 S.Stk.push<IntegralAP<true>>(Result); in pushInteger()
72 S.Stk.push<IntegralAP<false>>(Result); in pushInteger()
78 INT_TYPE_SWITCH(*T, { S.Stk.push<T>(T::from(V, BitWidth)); }); in pushInteger()
82 INT_TYPE_SWITCH(*T, { S.Stk.push<T>(T::from(V, BitWidth)); }); in pushInteger()
171 S.Stk.push<Boolean>(Boolean::from(S.inConstantContext())); in interp__builtin_is_constant_evaluated()
180 discard(S.Stk, *S.getContext().classify(Call->getArg(0))); in interp__builtin_assume()
[all …]
H A DContext.cpp36 assert(Stk.empty()); in isPotentialConstantExpr()
57 bool Recursing = !Stk.empty(); in evaluateAsRValue()
58 size_t StackSizeBefore = Stk.size(); in evaluateAsRValue()
59 Compiler<EvalEmitter> C(*this, *P, Parent, Stk); in evaluateAsRValue()
65 Stk.clearTo(StackSizeBefore); in evaluateAsRValue()
76 Stk.clearTo(StackSizeBefore); in evaluateAsRValue()
88 bool Recursing = !Stk.empty(); in evaluate()
89 size_t StackSizeBefore = Stk.size(); in evaluate()
90 Compiler<EvalEmitter> C(*this, *P, Parent, Stk); in evaluate()
96 Stk.clearTo(StackSizeBefore); in evaluate()
[all …]
H A DEvalEmitter.cpp19 InterpStack &Stk) in EvalEmitter() argument
20 : Ctx(Ctx), P(P), S(Parent, P, Stk, Ctx, this), EvalResult(&Ctx) {} in EvalEmitter()
121 if (S.Stk.pop<bool>()) in jumpTrue()
129 if (!S.Stk.pop<bool>()) in jumpFalse()
149 size_t StackSizeBefore = S.Stk.size(); in speculate()
152 S.Stk.clearTo(StackSizeBefore); in speculate()
161 const auto &Ptr = S.Stk.pop<Pointer>(); in speculate()
176 EvalResult.setValue(S.Stk.pop<T>().toAPValue(Ctx.getASTContext())); in emitRet()
184 const Pointer &Ptr = S.Stk.pop<Pointer>(); in emitRet()
238 const auto &Ptr = S.Stk.pop<Pointer>(); in emitRetValue()
[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), BottomFrame(*this), in InterpState()
23 InterpState::InterpState(State &Parent, Program &P, InterpStack &Stk, in InterpState() argument
25 : Parent(Parent), M(nullptr), P(P), Stk(Stk), Ctx(Ctx), in InterpState()
H A DInterp.cpp45 if (S.Stk.pop<bool>()) { in Jt()
52 if (!S.Stk.pop<bool>()) { in Jf()
66 size_t StackSizeBefore = S.Stk.size(); in BCP()
89 const auto &Ptr = S.Stk.pop<Pointer>(); in BCP()
90 assert(S.Stk.size() == StackSizeBefore); in BCP()
91 S.Stk.push<Integral<32, true>>( in BCP()
95 TYPE_SWITCH(PT, S.Stk.pop<T>();); in BCP()
96 assert(S.Stk.size() == StackSizeBefore); in BCP()
97 S.Stk.push<Integral<32, true>>(Integral<32, true>::from(1)); in BCP()
103 S.Stk.clearTo(StackSizeBefore); in BCP()
[all …]
H A DInterpState.h45 InterpState(State &Parent, Program &P, InterpStack &Stk, Context &Ctx,
47 InterpState(State &Parent, Program &P, InterpStack &Stk, Context &Ctx,
173 InterpStack &Stk; variable
H A DInterpFrame.cpp32 RetPC(RetPC), ArgSize(ArgSize), Args(static_cast<char *>(S.Stk.top())), in InterpFrame()
33 FrameOffset(S.Stk.size()), IsBottom(!Caller) { in InterpFrame()
H A DEvalEmitter.h48 EvalEmitter(Context &Ctx, Program &P, State &Parent, InterpStack &Stk);
H A DContext.h135 InterpStack Stk; variable