|
clang 23.0.0git
|
Type storage for CIR record types. More...
#include "clang/CIR/Dialect/IR/CIRTypesDetails.h"
Classes | |
| struct | KeyTy |
Public Member Functions | |
| RecordTypeStorage (llvm::ArrayRef< mlir::Type > members, mlir::StringAttr name, bool incomplete, bool packed, bool padded, RecordType::RecordKind kind) | |
| KeyTy | getAsKey () const |
| bool | operator== (const KeyTy &key) const |
| llvm::LogicalResult | mutate (mlir::TypeStorageAllocator &allocator, llvm::ArrayRef< mlir::Type > members, bool packed, bool padded) |
| Mutates the members and attributes an identified record. | |
Static Public Member Functions | |
| static llvm::hash_code | hashKey (const KeyTy &key) |
| static RecordTypeStorage * | construct (mlir::TypeStorageAllocator &allocator, const KeyTy &key) |
Public Attributes | |
| llvm::ArrayRef< mlir::Type > | members |
| mlir::StringAttr | name |
| bool | incomplete |
| bool | packed |
| bool | padded |
| RecordType::RecordKind | kind |
Type storage for CIR record types.
Definition at line 29 of file CIRTypesDetails.h.
|
inline |
Definition at line 52 of file CIRTypesDetails.h.
References incomplete, kind, members, name, packed, and padded.
Referenced by construct().
|
inlinestatic |
Definition at line 79 of file CIRTypesDetails.h.
References cir::detail::RecordTypeStorage::KeyTy::incomplete, cir::detail::RecordTypeStorage::KeyTy::kind, cir::detail::RecordTypeStorage::KeyTy::members, cir::detail::RecordTypeStorage::KeyTy::name, cir::detail::RecordTypeStorage::KeyTy::packed, cir::detail::RecordTypeStorage::KeyTy::padded, and RecordTypeStorage().
|
inline |
Definition at line 60 of file CIRTypesDetails.h.
References incomplete, kind, members, name, packed, and padded.
|
inlinestatic |
Definition at line 72 of file CIRTypesDetails.h.
References cir::detail::RecordTypeStorage::KeyTy::incomplete, cir::detail::RecordTypeStorage::KeyTy::kind, cir::detail::RecordTypeStorage::KeyTy::members, cir::detail::RecordTypeStorage::KeyTy::name, cir::detail::RecordTypeStorage::KeyTy::packed, and cir::detail::RecordTypeStorage::KeyTy::padded.
|
inline |
Mutates the members and attributes an identified record.
Once a record is mutated, it is marked as complete, preventing further mutations. Anonymous records are always complete and cannot be mutated. This method does not fail if a mutation of a complete record does not change the record.
Definition at line 92 of file CIRTypesDetails.h.
References incomplete, members, name, packed, and padded.
Definition at line 64 of file CIRTypesDetails.h.
References incomplete, cir::detail::RecordTypeStorage::KeyTy::incomplete, cir::detail::RecordTypeStorage::KeyTy::kind, kind, cir::detail::RecordTypeStorage::KeyTy::members, members, cir::detail::RecordTypeStorage::KeyTy::name, name, cir::detail::RecordTypeStorage::KeyTy::packed, packed, cir::detail::RecordTypeStorage::KeyTy::padded, and padded.
| bool cir::detail::RecordTypeStorage::incomplete |
Definition at line 47 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and RecordTypeStorage().
| RecordType::RecordKind cir::detail::RecordTypeStorage::kind |
Definition at line 50 of file CIRTypesDetails.h.
Referenced by getAsKey(), operator==(), and RecordTypeStorage().
| llvm::ArrayRef<mlir::Type> cir::detail::RecordTypeStorage::members |
Definition at line 45 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and RecordTypeStorage().
| mlir::StringAttr cir::detail::RecordTypeStorage::name |
Definition at line 46 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and RecordTypeStorage().
| bool cir::detail::RecordTypeStorage::packed |
Definition at line 48 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and RecordTypeStorage().
| bool cir::detail::RecordTypeStorage::padded |
Definition at line 49 of file CIRTypesDetails.h.
Referenced by getAsKey(), mutate(), operator==(), and RecordTypeStorage().