Home
last modified time | relevance | path

Searched refs:PrimType (Results 1 – 25 of 27) sorted by relevance

12

/freebsd/contrib/llvm-project/clang/lib/AST/Interp/
H A DCompiler.cpp186 std::optional<PrimType> SubExprT = classify(SubExpr->getType()); in VisitCastExpr()
293 std::optional<PrimType> FromT = classify(SubExpr->getType()); in VisitCastExpr()
310 std::optional<PrimType> ToT = classify(CE->getType()); in VisitCastExpr()
336 if (std::optional<PrimType> T = classify(PointeeType)) in VisitCastExpr()
350 if (PrimType FromT = classifyPrim(SubExpr->getType()); FromT != PT_Ptr) { in VisitCastExpr()
356 PrimType T = classifyPrim(CE->getType()); in VisitCastExpr()
383 PrimType T = classifyPrim(IntType); in VisitCastExpr()
391 if (std::optional<PrimType> T = classify(PtrType->getPointeeType())) in VisitCastExpr()
403 PrimType DestPtrT = classifyPrim(PtrType); in VisitCastExpr()
432 std::optional<PrimType> FromT = classify(SubExprTy); in VisitCastExpr()
[all …]
H A DInterp.h274 template <PrimType Name, class T = typename PrimConv<Name>::T>
370 template <PrimType Name, class T = typename PrimConv<Name>::T>
388 template <PrimType Name, class T = typename PrimConv<Name>::T>
406 template <PrimType Name, class T = typename PrimConv<Name>::T>
424 template <PrimType Name, class T = typename PrimConv<Name>::T>
479 template <PrimType Name, class T = typename PrimConv<Name>::T>
554 template <PrimType Name, class T = typename PrimConv<Name>::T>
571 template <PrimType Name, class T = typename PrimConv<Name>::T>
588 template <PrimType Name, class T = typename PrimConv<Name>::T>
605 template <PrimType Name, class T = typename PrimConv<Name>::T>
[all …]
H A DInterpBuiltin.cpp38 PrimType getIntPrimType(const InterpState &S) { in getIntPrimType()
49 PrimType getLongPrimType(const InterpState &S) { in getLongPrimType()
63 static APSInt peekToAPSInt(InterpStack &Stk, PrimType T, size_t Offset = 0) { in peekToAPSInt()
77 std::optional<PrimType> T = S.getContext().classify(QT); in pushInteger()
102 static void assignInteger(Pointer &Dest, PrimType ValueT, const APSInt &Value) { in assignInteger()
108 std::optional<PrimType> &T) { in retPrimValue()
440 PrimType FPClassArgT = *S.getContext().classify(Call->getArg(1)->getType()); in interp__builtin_isfpclass()
504 PrimType ArgT = *S.getContext().classify(Call->getArg(0)->getType()); in interp__builtin_popcount()
513 PrimType ArgT = *S.getContext().classify(Call->getArg(0)->getType()); in interp__builtin_parity()
522 PrimType ArgT = *S.getContext().classify(Call->getArg(0)->getType()); in interp__builtin_clrsb()
[all …]
H A DDescriptor.h26 enum PrimType : unsigned;
143 const std::optional<PrimType> PrimT = std::nullopt;
161 Descriptor(const DeclTy &D, PrimType Type, MetadataSize MD, bool IsConst,
165 Descriptor(const DeclTy &D, PrimType Type, MetadataSize MD, size_t NumElems,
169 Descriptor(const DeclTy &D, PrimType Type, MetadataSize MDSize,
220 PrimType getPrimType() const { in getPrimType()
H A DCompiler.h237 std::optional<PrimType> classify(const Expr *E) const { in classify()
240 std::optional<PrimType> classify(QualType Ty) const { in classify()
245 PrimType classifyPrim(QualType Ty) const { in classifyPrim()
252 PrimType classifyPrim(const Expr *E) const { in classifyPrim()
276 bool visitAPValue(const APValue &Val, PrimType ValType, const Expr *E);
289 unsigned allocateLocalPrimitive(DeclTy &&Decl, PrimType Ty, bool IsConst,
313 bool visitZeroInitializer(PrimType T, QualType QT, const Expr *E);
317 bool emitConst(const llvm::APSInt &Value, PrimType Ty, const Expr *E);
324 template <typename T> bool emitConst(T Value, PrimType Ty, const Expr *E);
336 bool emitPrimCast(PrimType FromT, PrimType ToT, QualType ToQT, const Expr *E);
[all …]
H A DFunction.h30 enum PrimType : uint32_t;
79 using ParamDescriptor = std::pair<PrimType, Descriptor *>;
122 SmallVectorImpl<PrimType>::const_reverse_iterator;
212 llvm::SmallVectorImpl<PrimType> &&ParamTypes,
253 llvm::SmallVector<PrimType, 8> ParamTypes;
H A DPrimType.h33 enum PrimType : unsigned { enum
51 inline constexpr bool isPtrType(PrimType T) { in isPtrType()
72 constexpr bool isIntegralType(PrimType T) { return T <= PT_Bool; } in isIntegralType()
75 template <PrimType T> struct PrimConv;
101 size_t primSize(PrimType Type);
H A DContext.h32 enum PrimType : unsigned;
74 std::optional<PrimType> classify(QualType T) const;
77 std::optional<PrimType> classify(const Expr *E) const { in classify()
H A DProgram.cpp40 PrimType CharType; in createGlobalString()
157 if (std::optional<PrimType> T = Ctx.classify(QT)) in getOrCreateDummy()
222 if (std::optional<PrimType> T = Ctx.classify(Ty)) in createGlobal()
344 if (std::optional<PrimType> T = Ctx.classify(FT)) { in getOrCreateRecord()
381 if (std::optional<PrimType> T = Ctx.classify(ElemTy)) { in createDescriptor()
409 if (std::optional<PrimType> T = Ctx.classify(ElemTy)) { in createDescriptor()
432 PrimType ElemTy = *Ctx.classify(CT->getElementType()); in createDescriptor()
439 PrimType ElemTy = *Ctx.classify(VT->getElementType()); in createDescriptor()
H A DDescriptor.cpp236 static BlockCtorFn getCtorPrim(PrimType Type) { in getCtorPrim()
251 static BlockDtorFn getDtorPrim(PrimType Type) { in getDtorPrim()
266 static BlockMoveFn getMovePrim(PrimType Type) { in getMovePrim()
270 static BlockCtorFn getCtorArrayPrim(PrimType Type) { in getCtorArrayPrim()
275 static BlockDtorFn getDtorArrayPrim(PrimType Type) { in getDtorArrayPrim()
280 static BlockMoveFn getMoveArrayPrim(PrimType Type) { in getMoveArrayPrim()
286 Descriptor::Descriptor(const DeclTy &D, PrimType Type, MetadataSize MD, in Descriptor()
298 Descriptor::Descriptor(const DeclTy &D, PrimType Type, MetadataSize MD, in Descriptor()
312 Descriptor::Descriptor(const DeclTy &D, PrimType Type, MetadataSize MD, in Descriptor()
H A DPointer.cpp401 if (std::optional<PrimType> T = Ctx.classify(Ty)) { in toRValue()
418 if (std::optional<PrimType> T = Ctx.classify(FieldTy)) { in toRValue()
441 if (std::optional<PrimType> T = Ctx.classify(FieldTy)) { in toRValue()
479 if (std::optional<PrimType> T = Ctx.classify(ElemTy)) { in toRValue()
493 std::optional<PrimType> ElemT = Ctx.classify(ElemTy); in toRValue()
513 PrimType ElemT = *Ctx.classify(ElemTy); in toRValue()
540 if (std::optional<PrimType> T = Ctx.classify(ResultType)) { in toRValue()
H A DEvalEmitter.cpp140 template <PrimType OpType> bool EvalEmitter::emitRet(const SourceInfo &Info) { in emitRet()
237 template <PrimType OpType>
249 template <PrimType OpType>
287 if (std::optional<PrimType> T = Ctx.classify(E->getType())) { in updateGlobalTemporaries()
H A DPrimType.cpp23 size_t primSize(PrimType Type) { in primSize()
H A DInterpStack.h151 std::vector<PrimType> ItemTypes;
153 template <typename T> static constexpr PrimType toPrimType() { in toPrimType()
H A DByteCodeEmitter.cpp71 SmallVector<PrimType, 8> ParamTypes; in compileFunc()
136 std::optional<PrimType> T = Ctx.classify(PD->getType()); in compileFunc()
137 PrimType PT = T.value_or(PT_Ptr); in compileFunc()
H A DFunction.cpp20 llvm::SmallVectorImpl<PrimType> &&ParamTypes, in Function()
H A DInterpFrame.cpp93 for (PrimType Ty : Func->args_reverse()) in popArgs()
184 PrimType PrimTy = S.Ctx.classify(Ty).value_or(PT_Ptr); in describe()
H A DDynamicAllocator.h63 Block *allocate(const Expr *Source, PrimType T, size_t NumElements,
H A DDynamicAllocator.cpp42 Block *DynamicAllocator::allocate(const Expr *Source, PrimType T, in allocate()
H A DInterpBlock.h30 enum PrimType : unsigned;
H A DProgram.h118 Descriptor *createDescriptor(const DeclTy &D, PrimType Type,
H A DContext.cpp127 std::optional<PrimType> Context::classify(QualType T) const { in classify()
H A DDisasm.cpp97 static const char *primTypeToString(PrimType T) { in primTypeToString()
H A DPointer.h31 enum PrimType : unsigned;
H A DOpcodes.td68 def ArgPrimType : ArgType { let Name = "PrimType"; }

12