/freebsd/contrib/llvm-project/clang/include/clang/AST/ |
H A D | CharUnits.h | 38 class CharUnits { 45 explicit CharUnits(QuantityType C) : Quantity(C) {} in CharUnits() function 50 CharUnits() = default; 53 static CharUnits Zero() { in Zero() 54 return CharUnits(0); in Zero() 58 static CharUnits One() { in One() 59 return CharUnits(1); in One() 63 static CharUnits fromQuantity(QuantityType Quantity) { in fromQuantity() 64 return CharUnits(Quantity); in fromQuantity() 69 static CharUnits fromQuantity(llvm::Align Quantity) { in fromQuantity() [all …]
|
H A D | RecordLayout.h | 43 CharUnits VBaseOffset; 53 VBaseInfo(CharUnits VBaseOffset, bool hasVtorDisp) in VBaseInfo() 65 CharUnits Size; 68 CharUnits DataSize; 71 CharUnits Alignment; 76 CharUnits PreferredAlignment; 80 CharUnits UnadjustedAlignment; 84 CharUnits RequiredAlignment; 93 CharUnits NonVirtualSize; 97 CharUnits NonVirtualAlignment; [all …]
|
H A D | OSLog.h | 74 CharUnits ConstValue; 75 CharUnits Size; // size of the data, not including the header bytes 80 OSLogBufferItem(Kind kind, const Expr *expr, CharUnits size, unsigned flags, 89 OSLogBufferItem(ASTContext &Ctx, CharUnits value, unsigned flags) in OSLogBufferItem() 105 CharUnits getConstValue() const { return ConstValue; } in getConstValue() 106 CharUnits size() const { return Size; } in size() 117 CharUnits size() const { in size() 118 CharUnits result; in size() 119 result += CharUnits::fromQuantity(2); // summary byte, num-args byte in size() 122 result += item.size() + CharUnits::fromQuantity(2); in size()
|
H A D | VTableBuilder.h | 55 static VTableComponent MakeVCallOffset(CharUnits Offset) { in MakeVCallOffset() 59 static VTableComponent MakeVBaseOffset(CharUnits Offset) { in MakeVBaseOffset() 63 static VTableComponent MakeOffsetToTop(CharUnits Offset) { in MakeOffsetToTop() 101 CharUnits getVCallOffset() const { in getVCallOffset() 107 CharUnits getVBaseOffset() const { in getVBaseOffset() 113 CharUnits getOffsetToTop() const { in getOffsetToTop() 192 VTableComponent(Kind ComponentKind, CharUnits Offset) { in VTableComponent() 211 CharUnits getOffset() const { in getOffset() 215 return CharUnits::fromQuantity(Value >> 3); in getOffset() 387 typedef llvm::DenseMap<ClassPairTy, CharUnits> [all …]
|
H A D | BaseSubobject.h | 35 CharUnits BaseOffset; 39 BaseSubobject(const CXXRecordDecl *Base, CharUnits BaseOffset) in BaseSubobject() 46 CharUnits getBaseOffset() const { return BaseOffset; } in getBaseOffset() 61 clang::CharUnits::fromQuantity(DenseMapInfo<int64_t>::getEmptyKey())); 67 clang::CharUnits::fromQuantity(DenseMapInfo<int64_t>::getTombstoneKey())); 71 using PairTy = std::pair<const clang::CXXRecordDecl *, clang::CharUnits>;
|
/freebsd/contrib/llvm-project/clang/include/clang/CodeGen/ |
H A D | SwiftCallingConv.h | 45 CharUnits Begin; 46 CharUnits End; 49 CharUnits getWidth() const { in getWidth() 59 void addOpaqueData(CharUnits begin, CharUnits end) { in addOpaqueData() 63 void addTypedData(QualType type, CharUnits begin); 64 void addTypedData(const RecordDecl *record, CharUnits begin); 65 void addTypedData(const RecordDecl *record, CharUnits begin, 67 void addTypedData(llvm::Type *type, CharUnits begin); 68 void addTypedData(llvm::Type *type, CharUnits begin, CharUnits end); 92 llvm::function_ref<void(CharUnits offset, CharUnits end, llvm::Type *type)>; [all …]
|
H A D | CodeGenABITypes.h | 139 CharUnits DstAlignment, 148 CharUnits DstAlignment, 149 CharUnits SrcAlignment, 158 CharUnits DstAlignment, 159 CharUnits SrcAlignment, 168 CodeGenModule &CGM, CharUnits DstAlignment, CharUnits SrcAlignment, 176 CodeGenModule &CGM, CharUnits DstAlignment, CharUnits SrcAlignment, 184 CharUnits DstAlignment,
|
/freebsd/contrib/llvm-project/clang/lib/AST/ |
H A D | RecordLayout.cpp | 30 ASTRecordLayout::ASTRecordLayout(const ASTContext &Ctx, CharUnits size, in ASTRecordLayout() 31 CharUnits alignment, in ASTRecordLayout() 32 CharUnits preferredAlignment, in ASTRecordLayout() 33 CharUnits unadjustedAlignment, in ASTRecordLayout() 34 CharUnits requiredAlignment, in ASTRecordLayout() 35 CharUnits datasize, in ASTRecordLayout() 46 const ASTContext &Ctx, CharUnits size, CharUnits alignment, in ASTRecordLayout() 47 CharUnits preferredAlignment, CharUnits unadjustedAlignment, in ASTRecordLayout() 48 CharUnits requiredAlignment, bool hasOwnVFPtr, bool hasExtendableVFPtr, in ASTRecordLayout() 49 CharUnits vbptroffset, CharUnits datasize, ArrayRef<uint64_t> fieldoffsets, in ASTRecordLayout() [all …]
|
H A D | RecordLayoutBuilder.cpp | 73 llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsets; 76 llvm::DenseMap<const CXXRecordDecl *, CharUnits> VirtualBaseOffsets; 86 bool getExternalNVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalNVBaseOffset() 94 bool getExternalVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalVBaseOffset() 114 typedef llvm::DenseMap<CharUnits, ClassVectorTy> EmptyClassOffsetsMapTy; 119 CharUnits MaxEmptyClassOffset; 125 void AddSubobjectAtOffset(const CXXRecordDecl *RD, CharUnits Offset); 128 CharUnits Offset, bool PlacingEmptyBase); 131 const CXXRecordDecl *Class, CharUnits Offset, 133 void UpdateEmptyFieldSubobjects(const FieldDecl *FD, CharUnits Offset, [all …]
|
H A D | VTableBuilder.cpp | 48 CharUnits NonVirtualOffset; 51 NonVirtualOffset(CharUnits::Zero()) { } in BaseOffset() 53 const CXXRecordDecl *VirtualBase, CharUnits NonVirtualOffset) in BaseOffset() 74 CharUnits Offset; 77 Offset(CharUnits::Zero()) { } in OverriderInfo() 88 const CharUnits MostDerivedClassOffset; 102 typedef std::pair<const CXXMethodDecl *, CharUnits> MethodBaseOffsetPairTy; 115 CharUnits> SubobjectOffsetMapTy; 122 CharUnits OffsetInLayoutClass, 136 CharUnits MostDerivedClassOffset, [all …]
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CodeGenTypeCache.h | 84 CharUnits getIntSize() const { in getIntSize() 85 return CharUnits::fromQuantity(IntSizeInBytes); in getIntSize() 87 CharUnits getIntAlign() const { in getIntAlign() 88 return CharUnits::fromQuantity(IntAlignInBytes); in getIntAlign() 108 CharUnits getSizeSize() const { in getSizeSize() 109 return CharUnits::fromQuantity(SizeSizeInBytes); in getSizeSize() 111 CharUnits getSizeAlign() const { in getSizeAlign() 112 return CharUnits::fromQuantity(SizeAlignInBytes); in getSizeAlign() 114 CharUnits getPointerSize() const { in getPointerSize() 115 return CharUnits::fromQuantity(PointerSizeInBytes); in getPointerSize() [all …]
|
H A D | SwiftCallingConv.cpp | 57 static CharUnits getTypeStoreSize(CodeGenModule &CGM, llvm::Type *type) { in getTypeStoreSize() 58 return CharUnits::fromQuantity(CGM.getDataLayout().getTypeStoreSize(type)); in getTypeStoreSize() 61 static CharUnits getTypeAllocSize(CodeGenModule &CGM, llvm::Type *type) { in getTypeAllocSize() 62 return CharUnits::fromQuantity(CGM.getDataLayout().getTypeAllocSize(type)); in getTypeAllocSize() 65 void SwiftAggLowering::addTypedData(QualType type, CharUnits begin) { in addTypedData() 108 if (atomicPadding > CharUnits::Zero()) in addTypedData() 120 void SwiftAggLowering::addTypedData(const RecordDecl *record, CharUnits begin) { in addTypedData() 124 void SwiftAggLowering::addTypedData(const RecordDecl *record, CharUnits begin, in addTypedData() 186 CharUnits recordBegin, in addBitFieldData() 196 CharUnits bitfieldByteBegin = ctx.toCharUnitsFromBits(bitfieldBitBegin); in addBitFieldData() [all …]
|
H A D | CGRecordLayoutBuilder.cpp | 78 CharUnits Offset; 85 MemberInfo(CharUnits Offset, InfoKind Kind, llvm::Type *Data, in MemberInfo() 88 MemberInfo(CharUnits Offset, InfoKind Kind, llvm::Type *Data, in MemberInfo() 98 static MemberInfo StorageInfo(CharUnits Offset, llvm::Type *Data) { in StorageInfo() 139 llvm::Type *getByteArrayType(CharUnits NumChars) const { in getByteArrayType() 142 return NumChars == CharUnits::One() ? Type : in getByteArrayType() 158 CharUnits bitsToCharUnits(uint64_t BitOffset) const { in bitsToCharUnits() 161 CharUnits getSize(llvm::Type *Type) const { in getSize() 162 return CharUnits::fromQuantity(DataLayout.getTypeAllocSize(Type)); in getSize() 164 CharUnits getAlignment(llvm::Type *Type) const { in getAlignment() [all …]
|
H A D | CGNonTrivialStruct.cpp | 40 void visitStructFields(QualType QT, CharUnits CurStructOffset, Ts... Args) { in visitStructFields() 67 CharUnits getFieldOffset(const FieldDecl *FD) { in getFieldOffset() 87 const FieldDecl *FD, CharUnits CurStructOffset, Ts &&... Args) { in preVisit() 94 const FieldDecl *FD, CharUnits CurStructOffset, in visitWithKind() 107 void visitTrivial(QualType FT, const FieldDecl *FD, CharUnits CurStructOffset, in visitTrivial() 127 CharUnits Start = CharUnits::Zero(), End = CharUnits::Zero(); 151 std::string getVolatileOffsetStr(bool IsVolatile, CharUnits Offset) { in getVolatileOffsetStr() 160 CharUnits CurStructOffset) { in visitARCStrong() 164 CharUnits FieldOffset = CurStructOffset + asDerived().getFieldOffset(FD); in visitARCStrong() 169 CharUnits CurStructOffset) { in visitARCWeak() [all …]
|
H A D | CGBlocks.h | 140 CharUnits ByrefAlignment; 141 CharUnits FieldOffset; 167 CharUnits::QuantityType Offset; 182 CharUnits getOffset() const { in getOffset() 184 return CharUnits::fromQuantity(Offset); in getOffset() 205 makeIndex(unsigned index, CharUnits offset, QualType FieldType, in makeIndex() 279 CharUnits BlockSize; 280 CharUnits BlockAlign; 281 CharUnits CXXThisOffset; 286 CharUnits BlockHeaderForcedGapOffset; [all …]
|
H A D | Address.h | 45 CharUnits Alignment; 51 RawAddress(llvm::Value *Pointer, llvm::Type *ElementType, CharUnits Alignment, 93 CharUnits getAlignment() const { in getAlignment() 139 CharUnits Alignment; 154 Address(llvm::Value *pointer, llvm::Type *elementType, CharUnits alignment, 163 Address(llvm::Value *BasePtr, llvm::Type *ElementType, CharUnits Alignment, 174 : CharUnits::Zero()) {} in Address() 189 CharUnits getAlignment() const { return Alignment; } in getAlignment() 191 void setAlignment(CharUnits Value) { Alignment = Value; } in setAlignment() 267 Address withAlignment(CharUnits NewAlignment) const { in withAlignment() [all …]
|
H A D | CGBuilder.h | 82 CharUnits::fromQuantity(Offset.getSExtValue())), in createConstGEP2_32() 98 llvm::ConstantInt *getSize(CharUnits N) { in getSize() 128 CharUnits Align, 143 CharUnits Align, 159 return CreateAlignedLoad(getInt1Ty(), Addr, CharUnits::One(), Name); 164 return CreateAlignedStore(getInt1(Value), Addr, CharUnits::One()); in CreateFlagStore() 223 auto Offset = CharUnits::fromQuantity(Layout->getElementOffset(Index)); 244 CharUnits EltSize = 245 CharUnits::fromQuantity(DL.getTypeAllocSize(ElTy->getElementType())); 249 {getSize(CharUnits::Zero()), getSize(Index)}, Name), [all …]
|
H A D | CGExprConstant.cpp | 50 CharUnits getAlignment(const llvm::Constant *C) const { in getAlignment() 51 return CharUnits::fromQuantity( in getAlignment() 55 CharUnits getSize(llvm::Type *Ty) const { in getSize() 56 return CharUnits::fromQuantity(CGM.getDataLayout().getTypeAllocSize(Ty)); in getSize() 59 CharUnits getSize(const llvm::Constant *C) const { in getSize() 63 llvm::Constant *getPadding(CharUnits PadSize) const { in getPadding() 65 if (PadSize > CharUnits::One()) in getPadding() 70 llvm::Constant *getZeroes(CharUnits ZeroSize) const { in getZeroes() 88 llvm::SmallVector<CharUnits, 32> Offsets; 93 CharUnits Size = CharUnits::Zero(); [all …]
|
H A D | CGExprCXX.cpp | 362 /*Alignment=*/CharUnits::Zero(), SkippedChecks); in EmitCXXMemberOrOperatorMemberCallExpr() 516 CharUnits NVSize = Layout.getNonVirtualSize(); in EmitNullBaseClassInitialization() 521 SmallVector<std::pair<CharUnits, CharUnits>, 1> Stores; in EmitNullBaseClassInitialization() 522 Stores.emplace_back(CharUnits::Zero(), NVSize); in EmitNullBaseClassInitialization() 525 CharUnits VBPtrWidth = CGF.getPointerSize(); in EmitNullBaseClassInitialization() 526 std::vector<CharUnits> VBPtrOffsets = in EmitNullBaseClassInitialization() 528 for (CharUnits VBPtrOffset : VBPtrOffsets) { in EmitNullBaseClassInitialization() 532 std::pair<CharUnits, CharUnits> LastStore = Stores.pop_back_val(); in EmitNullBaseClassInitialization() 533 CharUnits LastStoreOffset = LastStore.first; in EmitNullBaseClassInitialization() 534 CharUnits LastStoreSize = LastStore.second; in EmitNullBaseClassInitialization() [all …]
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A D | PaddingChecker.cpp | 94 CharUnits BaselinePad = calculateBaselinePad(RD, ASTContext, RL); in visitRecord() 98 CharUnits OptimalPad; in visitRecord() 103 CharUnits DiffPad = PadMultiplier * (BaselinePad - OptimalPad); in visitRecord() 190 static CharUnits calculateBaselinePad(const RecordDecl *RD, in calculateBaselinePad() 193 CharUnits PaddingSum; in calculateBaselinePad() 194 CharUnits Offset = ASTContext.toCharUnitsFromBits(RL.getFieldOffset(0)); in calculateBaselinePad() 205 CharUnits FieldSize = ASTContext.getTypeSizeInChars(FD->getType()); in calculateBaselinePad() 207 CharUnits FieldOffset = ASTContext.toCharUnitsFromBits(FieldOffsetBits); in calculateBaselinePad() 231 static std::pair<CharUnits, SmallVector<const FieldDecl *, 20>> 235 CharUnits Align; in calculateOptimalPad() [all …]
|
H A D | CastSizeChecker.cpp | 50 static bool evenFlexibleArraySize(ASTContext &Ctx, CharUnits RegionSize, in evenFlexibleArraySize() 51 CharUnits TypeSize, QualType ToPointeeTy) { in evenFlexibleArraySize() 65 CharUnits FlexSize; in evenFlexibleArraySize() 82 CharUnits Left = RegionSize - TypeSize; in evenFlexibleArraySize() 120 CharUnits regionSize = CharUnits::fromQuantity(SizeInt->getZExtValue()); in checkPreStmt() 121 CharUnits typeSize = C.getASTContext().getTypeSizeInChars(ToPointeeTy); in checkPreStmt()
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/Targets/ |
H A D | LoongArch.cpp | 31 bool detectFARsEligibleStructHelper(QualType Ty, CharUnits CurOff, 33 CharUnits &Field1Off, 35 CharUnits &Field2Off) const; 53 CharUnits &Field1Off, llvm::Type *&Field2Ty, 54 CharUnits &Field2Off, int &NeededArgGPRs, 57 CharUnits Field1Off, 59 CharUnits Field2Off) const; 104 QualType Ty, CharUnits CurOff, llvm::Type *&Field1Ty, CharUnits &Field1Off, in detectFARsEligibleStructHelper() 105 llvm::Type *&Field2Ty, CharUnits &Field2Off) const { in detectFARsEligibleStructHelper() 158 CharUnits EltSize = getContext().getTypeSizeInChars(EltTy); in detectFARsEligibleStructHelper() [all …]
|
H A D | RISCV.cpp | 31 bool detectFPCCEligibleStructHelper(QualType Ty, CharUnits CurOff, 33 CharUnits &Field1Off, 35 CharUnits &Field2Off) const; 57 CharUnits &Field1Off, llvm::Type *&Field2Ty, 58 CharUnits &Field2Off, int &NeededArgGPRs, 61 CharUnits Field1Off, 63 CharUnits Field2Off) const; 108 bool RISCVABIInfo::detectFPCCEligibleStructHelper(QualType Ty, CharUnits CurOff, in detectFPCCEligibleStructHelper() 110 CharUnits &Field1Off, in detectFPCCEligibleStructHelper() 112 CharUnits &Field2Off) const { in detectFPCCEligibleStructHelper() [all …]
|
H A D | PPC.cpp | 17 QualType Ty, CharUnits SlotSize, in complexTempStructure() 18 CharUnits EltSize, const ComplexType *CTy) { in complexTempStructure() 110 CharUnits getParamTypeAlignment(QualType Ty) const; 213 CharUnits CCAlign = getParamTypeAlignment(Ty); in classifyArgumentType() 214 CharUnits TyAlign = getContext().getTypeAlignInChars(Ty); in classifyArgumentType() 224 CharUnits AIXABIInfo::getParamTypeAlignment(QualType Ty) const { in getParamTypeAlignment() 230 return CharUnits::fromQuantity(16); in getParamTypeAlignment() 234 return CharUnits::fromQuantity(16); in getParamTypeAlignment() 236 return CharUnits::fromQuantity(PtrByteSize); in getParamTypeAlignment() 245 CharUnits SlotSize = CharUnits::fromQuantity(PtrByteSize); in EmitVAArg() [all …]
|
/freebsd/contrib/llvm-project/clang/include/clang/Frontend/ |
H A D | LayoutOverrideSource.h | 34 SmallVector<CharUnits, 8> BaseOffsets; 37 SmallVector<CharUnits, 8> VBaseOffsets; 59 llvm::DenseMap<const CXXRecordDecl *, CharUnits> &BaseOffsets, 61 CharUnits> &VirtualBaseOffsets) override;
|