|
clang 24.0.0git
|
Type storage for CIR struct/class types. More...
#include "clang/CIR/Dialect/IR/CIRTypesDetails.h"
Classes | |
| struct | KeyTy |
Public Member Functions | |
| StructTypeStorage (llvm::ArrayRef< mlir::Type > members, mlir::StringAttr name, bool incomplete, bool packed, llvm::ArrayRef< RecordMemberKind > member_kinds, bool is_class) | |
| KeyTy | getAsKey () const |
| bool | operator== (const KeyTy &key) const |
| llvm::LogicalResult | mutate (mlir::TypeStorageAllocator &allocator, llvm::ArrayRef< mlir::Type > members, bool packed, llvm::ArrayRef< RecordMemberKind > memberKinds) |
| Mutates the members and attributes of an identified struct/class. | |
Static Public Member Functions | |
| static llvm::hash_code | hashKey (const KeyTy &key) |
| static StructTypeStorage * | construct (mlir::TypeStorageAllocator &allocator, const KeyTy &key) |
Public Attributes | |
| llvm::ArrayRef< mlir::Type > | members |
| mlir::StringAttr | name |
| bool | incomplete |
| bool | packed |
| llvm::ArrayRef< RecordMemberKind > | member_kinds |
| bool | is_class |
Type storage for CIR struct/class types.
Definition at line 30 of file CIRTypesDetails.h.
|
inline |
Definition at line 53 of file CIRTypesDetails.h.
References incomplete, is_class, member_kinds, members, name, and packed.
Referenced by construct().
|
inlinestatic |
Definition at line 84 of file CIRTypesDetails.h.
References cir::detail::StructTypeStorage::KeyTy::incomplete, cir::detail::StructTypeStorage::KeyTy::is_class, cir::detail::StructTypeStorage::KeyTy::member_kinds, cir::detail::StructTypeStorage::KeyTy::members, cir::detail::StructTypeStorage::KeyTy::name, cir::detail::StructTypeStorage::KeyTy::packed, and StructTypeStorage().
|
inline |
Definition at line 64 of file CIRTypesDetails.h.
References incomplete, is_class, member_kinds, members, name, and packed.
|
inlinestatic |
Definition at line 77 of file CIRTypesDetails.h.
References cir::detail::StructTypeStorage::KeyTy::incomplete, cir::detail::StructTypeStorage::KeyTy::is_class, cir::detail::StructTypeStorage::KeyTy::member_kinds, cir::detail::StructTypeStorage::KeyTy::members, cir::detail::StructTypeStorage::KeyTy::name, and cir::detail::StructTypeStorage::KeyTy::packed.
|
inline |
Mutates the members and attributes of an identified struct/class.
Definition at line 92 of file CIRTypesDetails.h.
References incomplete, members, name, and packed.
Definition at line 68 of file CIRTypesDetails.h.
References incomplete, cir::detail::StructTypeStorage::KeyTy::incomplete, is_class, cir::detail::StructTypeStorage::KeyTy::is_class, cir::detail::StructTypeStorage::KeyTy::member_kinds, member_kinds, cir::detail::StructTypeStorage::KeyTy::members, members, cir::detail::StructTypeStorage::KeyTy::name, name, cir::detail::StructTypeStorage::KeyTy::packed, and packed.
| bool cir::detail::StructTypeStorage::incomplete |
Definition at line 48 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().
| bool cir::detail::StructTypeStorage::is_class |
Definition at line 51 of file CIRTypesDetails.h.
Referenced by getAsKey(), operator==(), and StructTypeStorage().
| llvm::ArrayRef<RecordMemberKind> cir::detail::StructTypeStorage::member_kinds |
Definition at line 50 of file CIRTypesDetails.h.
Referenced by getAsKey(), operator==(), and StructTypeStorage().
| llvm::ArrayRef<mlir::Type> cir::detail::StructTypeStorage::members |
Definition at line 46 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().
| mlir::StringAttr cir::detail::StructTypeStorage::name |
Definition at line 47 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().
| bool cir::detail::StructTypeStorage::packed |
Definition at line 49 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().