Lines Matching defs:CGRecordLowering

74 struct CGRecordLowering {  struct
78 struct MemberInfo {
99 MemberInfo StorageInfo(CharUnits Offset, llvm::Type *Data) { in StorageInfo()
108 bool isDiscreteBitFieldABI() { in isDiscreteBitFieldABI()
117 bool isOverlappingVBaseABI() { in isOverlappingVBaseABI()
122 llvm::Type *getIntNType(uint64_t NumBits) { in getIntNType()
127 llvm::Type *getByteArrayType(CharUnits NumBytes) { in getByteArrayType()
135 llvm::Type *getStorageType(const FieldDecl *FD) { in getStorageType()
143 llvm::Type *getStorageType(const CXXRecordDecl *RD) { in getStorageType()
146 CharUnits bitsToCharUnits(uint64_t BitOffset) { in bitsToCharUnits()
149 CharUnits getSize(llvm::Type *Type) { in getSize()
152 CharUnits getAlignment(llvm::Type *Type) { in getAlignment()
155 bool isZeroInitializable(const FieldDecl *FD) { in isZeroInitializable()
158 bool isZeroInitializable(const RecordDecl *RD) { in isZeroInitializable()
161 void appendPaddingBytes(CharUnits Size) { in appendPaddingBytes()
165 uint64_t getFieldBitOffset(const FieldDecl *FD) { in getFieldBitOffset()
194 CodeGenTypes &Types;
195 const ASTContext &Context;
196 const RecordDecl *D;
197 const CXXRecordDecl *RD;
198 const ASTRecordLayout &Layout;
199 const llvm::DataLayout &DataLayout;
201 std::vector<MemberInfo> Members;
203 SmallVector<llvm::Type *, 16> FieldTypes;
204 llvm::DenseMap<const FieldDecl *, unsigned> Fields;
205 llvm::DenseMap<const FieldDecl *, CGBitFieldInfo> BitFields;
206 llvm::DenseMap<const CXXRecordDecl *, unsigned> NonVirtualBases;
207 llvm::DenseMap<const CXXRecordDecl *, unsigned> VirtualBases;
208 bool IsZeroInitializable : 1;
209 bool IsZeroInitializableAsBase : 1;
210 bool Packed : 1;
217 CGRecordLowering::CGRecordLowering(CodeGenTypes &Types, const RecordDecl *D, … in CGRecordLowering() function in CGRecordLowering