|
clang 22.0.0git
|
Classes | |
| class | ABIInfo |
| class | Address |
| class | AggValueSlot |
| An aggregate value slot. More... | |
| struct | BranchFixup |
| A branch fixup. More... | |
| struct | CallArg |
| class | CallArgList |
| struct | CatchTypeInfo |
| The MS C++ ABI needs a pointer to RTTI data plus some flags to describe the type of a catch handler, so we use this wrapper. More... | |
| struct | CGCoroData |
| struct | CIRGenBitFieldInfo |
| Record with information about how a bitfield should be accessed. More... | |
| class | CIRGenBuilderTy |
| class | CIRGenCallee |
| class | CIRGenCalleeInfo |
| Abstract information about a function or function prototype. More... | |
| class | CIRGenCXXABI |
| Implements C++ ABI-specific code generation functions. More... | |
| class | CIRGenFunction |
| class | CIRGenFunctionInfo |
| class | CIRGenModule |
| This class organizes the cross-function state that is used while generating CIR code. More... | |
| class | CIRGenRecordLayout |
| This class handles record and union layout info while lowering AST types to CIR types. More... | |
| struct | CIRGenTypeCache |
| This structure provides a set of types that are commonly used during IR emission. More... | |
| class | CIRGenTypes |
| This class organizes the cross-module state that is used while lowering AST types to CIR types. More... | |
| class | CIRGenVTables |
| class | ConstantEmitter |
| class | EHCatchScope |
| A scope which attempts to handle some, possibly all, types of exceptions. More... | |
| class | EHCleanupScope |
| A cleanup scope which generates the cleanup blocks lazily. More... | |
| struct | EHPersonality |
| The exceptions personality for a function. More... | |
| class | EHScope |
| A protected scope for zero-cost EH handling. More... | |
| class | EHScopeStack |
| A stack of scopes which respond to exceptions, including cleanups and catch blocks. More... | |
| class | FunctionArgList |
| Type for representing both the decl and type of parameters to a function. More... | |
| class | LValue |
| class | LValueBaseInfo |
| class | OpenACCRecipeBuilder |
| class | OpenACCRecipeBuilderBase |
| class | RequiredArgs |
| A class for recording the number of arguments that a function signature requires. More... | |
| class | ReturnValueSlot |
| Contains the address where the return value of a function can be stored, and whether the address is volatile or not. More... | |
| class | RValue |
| This trivial value class is used to represent the result of an expression that is evaluated. More... | |
| class | TargetCIRGenInfo |
Enumerations | |
| enum | ForDefinition_t : bool { NotForDefinition = false , ForDefinition = true } |
| enum class | AlignmentSource { Decl , AttributedType , Type } |
| The source of the alignment of an l-value; an expression of confidence in the alignment actually matching the estimate. More... | |
| enum | CleanupKind : unsigned { EHCleanup = 0x1 , NormalCleanup = 0x2 , NormalAndEHCleanup = EHCleanup | NormalCleanup , LifetimeMarker = 0x8 , NormalEHLifetimeMarker = LifetimeMarker | NormalAndEHCleanup } |
Functions | |
| CIRGenCXXABI * | CreateCIRGenItaniumCXXABI (CIRGenModule &cgm) |
| Creates and Itanium-family ABI. | |
| static bool | mayDropFunctionReturn (const ASTContext &astContext, QualType returnType) |
| static void | eraseEmptyAndUnusedBlocks (cir::FuncOp func) |
| static std::string | getVersionedTmpName (llvm::StringRef name, unsigned cnt) |
| mlir::acc::DataClauseModifier | convertOpenACCModifiers (OpenACCModifierKind modifiers) |
| static AlignmentSource | getFieldAlignmentSource (AlignmentSource source) |
| Given that the base address has the given alignment source, what's our confidence in the alignment of the field? | |
| bool | isEmptyFieldForLayout (const ASTContext &context, const FieldDecl *fd) |
| isEmptyFieldForLayout - Return true if the field is "empty", that is, either a zero-width bit-field or an isEmptyRecordForLayout. | |
| bool | isEmptyRecordForLayout (const ASTContext &context, QualType t) |
| isEmptyRecordForLayout - Return true if a structure contains only empty base classes (per isEmptyRecordForLayout) and fields (per isEmptyFieldForLayout). | |
| std::unique_ptr< TargetCIRGenInfo > | createX8664TargetCIRGenInfo (CIRGenTypes &cgt) |
|
strong |
The source of the alignment of an l-value; an expression of confidence in the alignment actually matching the estimate.
Definition at line 116 of file CIRGenValue.h.
Definition at line 53 of file EHScopeStack.h.
| Enumerator | |
|---|---|
| NotForDefinition | |
| ForDefinition | |
Definition at line 52 of file CIRGenModule.h.
|
inline |
Definition at line 18 of file CIRGenOpenACCHelpers.h.
References clang::Always, clang::AlwaysIn, clang::AlwaysOut, clang::Capture, clang::isOpenACCModifierBitSet(), clang::Readonly, and clang::Zero.
Referenced by clang::CIRGen::CIRGenModule::emitGlobalOpenACCDeclareDataOperands().
| CIRGenCXXABI * clang::CIRGen::CreateCIRGenItaniumCXXABI | ( | CIRGenModule & | cgm | ) |
Creates and Itanium-family ABI.
Definition at line 1679 of file CIRGenItaniumCXXABI.cpp.
References cir::MissingFeatures::cxxabiAppleARM64CXXABI(), clang::CIRGen::CIRGenModule::getASTContext(), and clang::ASTContext::getCXXABIKind().
Referenced by createCXXABI().
| std::unique_ptr< TargetCIRGenInfo > clang::CIRGen::createX8664TargetCIRGenInfo | ( | CIRGenTypes & | cgt | ) |
Definition at line 60 of file TargetInfo.cpp.
Referenced by clang::CIRGen::CIRGenModule::getTargetCIRGenInfo().
|
static |
Definition at line 558 of file CIRGenFunction.cpp.
Referenced by clang::CIRGen::CIRGenFunction::generateCode().
|
inlinestatic |
Given that the base address has the given alignment source, what's our confidence in the alignment of the field?
Definition at line 134 of file CIRGenValue.h.
References Decl.
Referenced by clang::CIRGen::CIRGenFunction::emitLValueForField(), and clang::CIRGen::CIRGenFunction::emitLValueForFieldInitialization().
|
static |
Definition at line 969 of file CIRGenFunction.cpp.
References clang::out.
Referenced by clang::CIRGen::CIRGenFunction::getCounterAggTmpAsString(), and clang::CIRGen::CIRGenFunction::getCounterRefTmpAsString().
| bool clang::CIRGen::isEmptyFieldForLayout | ( | const ASTContext & | context, |
| const FieldDecl * | fd ) |
isEmptyFieldForLayout - Return true if the field is "empty", that is, either a zero-width bit-field or an isEmptyRecordForLayout.
Definition at line 33 of file TargetInfo.cpp.
References clang::ValueDecl::getType(), isEmptyRecordForLayout(), clang::FieldDecl::isUnnamedBitField(), and clang::FieldDecl::isZeroLengthBitField().
Referenced by emitNullConstant(), and isEmptyRecordForLayout().
| bool clang::CIRGen::isEmptyRecordForLayout | ( | const ASTContext & | context, |
| QualType | t ) |
isEmptyRecordForLayout - Return true if a structure contains only empty base classes (per isEmptyRecordForLayout) and fields (per isEmptyFieldForLayout).
Note, C++ record fields are considered empty if the [[no_unique_address]] attribute would have made them empty.
Definition at line 10 of file TargetInfo.cpp.
References clang::Type::getAsRecordDecl(), isEmptyFieldForLayout(), and isEmptyRecordForLayout().
Referenced by emitNullConstant(), isEmptyFieldForLayout(), and isEmptyRecordForLayout().
|
static |
Definition at line 374 of file CIRGenFunction.cpp.
References clang::Type::getAsCXXRecordDecl(), and clang::QualType::isTriviallyCopyableType().