| /freebsd/contrib/llvm-project/clang/lib/AST/Interp/ |
| H A D | Compiler.cpp | 186 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 D | Interp.h | 274 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 D | InterpBuiltin.cpp | 38 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 D | Descriptor.h | 26 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 D | Compiler.h | 237 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 D | Function.h | 30 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 D | PrimType.h | 33 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 D | Context.h | 32 enum PrimType : unsigned; 74 std::optional<PrimType> classify(QualType T) const; 77 std::optional<PrimType> classify(const Expr *E) const { in classify()
|
| H A D | Program.cpp | 40 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 D | Descriptor.cpp | 236 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 D | Pointer.cpp | 401 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 D | EvalEmitter.cpp | 140 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 D | PrimType.cpp | 23 size_t primSize(PrimType Type) { in primSize()
|
| H A D | InterpStack.h | 151 std::vector<PrimType> ItemTypes; 153 template <typename T> static constexpr PrimType toPrimType() { in toPrimType()
|
| H A D | ByteCodeEmitter.cpp | 71 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 D | Function.cpp | 20 llvm::SmallVectorImpl<PrimType> &&ParamTypes, in Function()
|
| H A D | InterpFrame.cpp | 93 for (PrimType Ty : Func->args_reverse()) in popArgs() 184 PrimType PrimTy = S.Ctx.classify(Ty).value_or(PT_Ptr); in describe()
|
| H A D | DynamicAllocator.h | 63 Block *allocate(const Expr *Source, PrimType T, size_t NumElements,
|
| H A D | DynamicAllocator.cpp | 42 Block *DynamicAllocator::allocate(const Expr *Source, PrimType T, in allocate()
|
| H A D | InterpBlock.h | 30 enum PrimType : unsigned;
|
| H A D | Program.h | 118 Descriptor *createDescriptor(const DeclTy &D, PrimType Type,
|
| H A D | Context.cpp | 127 std::optional<PrimType> Context::classify(QualType T) const { in classify()
|
| H A D | Disasm.cpp | 97 static const char *primTypeToString(PrimType T) { in primTypeToString()
|
| H A D | Pointer.h | 31 enum PrimType : unsigned;
|
| H A D | Opcodes.td | 68 def ArgPrimType : ArgType { let Name = "PrimType"; }
|