Home
last modified time | relevance | path

Searched refs:CharUnits (Results 1 – 25 of 138) sorted by relevance

123456

/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DCharUnits.h38 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 DRecordLayout.h43 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 DOSLog.h74 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 DVTableBuilder.h55 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 DBaseSubobject.h35 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 DSwiftCallingConv.h45 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 DCodeGenABITypes.h139 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 DRecordLayout.cpp30 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 DRecordLayoutBuilder.cpp73 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 DVTableBuilder.cpp48 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 DCodeGenTypeCache.h84 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 DSwiftCallingConv.cpp57 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 DCGRecordLayoutBuilder.cpp78 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 DCGNonTrivialStruct.cpp40 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 DCGBlocks.h140 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 DAddress.h45 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 DCGBuilder.h82 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 DCGExprConstant.cpp50 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 DCGExprCXX.cpp362 /*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 DPaddingChecker.cpp94 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 DCastSizeChecker.cpp50 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 DLoongArch.cpp31 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 DRISCV.cpp31 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 DPPC.cpp17 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 DLayoutOverrideSource.h34 SmallVector<CharUnits, 8> BaseOffsets;
37 SmallVector<CharUnits, 8> VBaseOffsets;
59 llvm::DenseMap<const CXXRecordDecl *, CharUnits> &BaseOffsets,
61 CharUnits> &VirtualBaseOffsets) override;

123456