| /freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/ |
| H A D | Interp.h | 325 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 D | InterpBuiltin.cpp | 45 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 D | Context.cpp | 36 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 D | EvalEmitter.cpp | 19 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 D | InterpState.cpp | 18 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 D | Interp.cpp | 45 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 D | InterpState.h | 45 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 D | InterpFrame.cpp | 32 RetPC(RetPC), ArgSize(ArgSize), Args(static_cast<char *>(S.Stk.top())), in InterpFrame() 33 FrameOffset(S.Stk.size()), IsBottom(!Caller) { in InterpFrame()
|
| H A D | EvalEmitter.h | 48 EvalEmitter(Context &Ctx, Program &P, State &Parent, InterpStack &Stk);
|
| H A D | Context.h | 135 InterpStack Stk; variable
|