clang 17.0.0git
|
Namespaces | |
namespace | swiftcall |
Classes | |
class | ABIArgInfo |
ABIArgInfo - Helper class to encapsulate information about how a specific C type should be passed to or returned from a function. More... | |
class | ABIInfo |
ABIInfo - Target specific hooks for defining how a type should be passed or returned from functions. More... | |
class | Address |
An aligned address. More... | |
class | AggValueSlot |
An aggregate value slot. More... | |
class | ApplyDebugLocation |
A scoped helper to set the current debug location to the specified location or preferred location of the specified Expr. More... | |
class | ApplyInlineDebugLocation |
A scoped helper to set the current debug location to an inlined location. More... | |
class | BlockByrefHelpers |
A pair of helper functions for a __block variable. More... | |
class | BlockByrefInfo |
Information about the layout of a __block variable. More... | |
class | BlockFieldFlags |
class | BlockFlags |
struct | BranchFixup |
A branch fixup. More... | |
struct | CallArg |
class | CallArgList |
CallArgList - Type for representing both the value and type of arguments in a call. More... | |
struct | CatchRetScope |
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 | CGBitFieldInfo |
Structure with information about how a bitfield should be accessed. More... | |
class | CGBlockInfo |
CGBlockInfo - Information to generate a block literal. More... | |
class | CGBuilderInserter |
This is an IRBuilder insertion helper that forwards to CodeGenFunction::InsertHelper, which adds necessary metadata to instructions. More... | |
class | CGBuilderTy |
class | CGCallee |
All available information about a concrete callee. More... | |
class | CGCalleeInfo |
Abstract information about a function or function prototype. More... | |
struct | CGCoroData |
class | CGCUDARuntime |
class | CGCXXABI |
Implements C++ ABI-specific code generation functions. More... | |
class | CGDebugInfo |
This class gathers all debug information during compilation and is responsible for emitting to llvm globals or pass directly to the backend. More... | |
class | CGFunctionInfo |
CGFunctionInfo - Class to encapsulate the information about a function definition. More... | |
struct | CGFunctionInfoArgInfo |
class | CGHLSLRuntime |
class | CGObjCRuntime |
Implements runtime-specific code generation functions. More... | |
class | CGOpenCLRuntime |
class | CGOpenMPRuntime |
class | CGOpenMPRuntimeGPU |
class | CGOpenMPSIMDRuntime |
Class supports emissionof SIMD-only code. More... | |
class | CGRecordLayout |
CGRecordLayout - This class handles struct and union layout info while lowering AST types to LLVM types. More... | |
class | CodeGenFunction |
CodeGenFunction - This class organizes the per-function state that is used while generating LLVM code. More... | |
class | CodeGenModule |
This class organizes the cross-function state that is used while generating LLVM code. More... | |
class | CodeGenPGO |
Per-function PGO state. More... | |
class | CodeGenTBAA |
CodeGenTBAA - This class organizes the cross-module state that is used while lowering AST types to LLVM types. More... | |
struct | CodeGenTypeCache |
This structure provides a set of types that are commonly used during IR emission. More... | |
class | CodeGenTypes |
This class organizes the cross-module state that is used while lowering AST types to LLVM types. More... | |
class | CodeGenVTables |
class | ConstantAddress |
A specialization of Address that requires the address to be an LLVM Constant. More... | |
class | ConstantAggregateBuilderBase |
A concrete base class for struct and array aggregate initializer builders. More... | |
class | ConstantAggregateBuilderTemplateBase |
class | ConstantArrayBuilder |
A helper class of ConstantInitBuilder, used for building constant array initializers. More... | |
class | ConstantArrayBuilderTemplateBase |
class | ConstantEmitter |
class | ConstantInitBuilder |
The standard implementation of ConstantInitBuilder used in Clang. More... | |
class | ConstantInitBuilderBase |
A convenience builder class for complex constant initializers, especially for anonymous global structures used by various language runtimes. More... | |
class | ConstantInitBuilderTemplateBase |
A template class designed to allow other frontends to easily customize the builder classes used by ConstantInitBuilder, and thus to extend the API to work with the abstractions they prefer. More... | |
struct | ConstantInitBuilderTraits |
class | ConstantInitFuture |
A "future" for a completed constant initializer, which can be passed around independently of any sub-builders (but not the original parent). More... | |
class | ConstantStructBuilder |
A helper class of ConstantInitBuilder, used for building constant struct initializers. More... | |
class | ConstantStructBuilderTemplateBase |
A template class designed to allow other frontends to easily customize the builder classes used by ConstantInitBuilder, and thus to extend the API to work with the abstractions they prefer. More... | |
class | CoverageMappingGen |
Organizes the per-function state that is used while generating code coverage mapping data. More... | |
class | CoverageMappingModuleGen |
Organizes the cross-function state that is used while generating code coverage mapping data. More... | |
struct | DominatingLLVMValue |
Helper class with most of the code for saving a value for a conditional expression cleanup. More... | |
struct | DominatingPointer |
struct | DominatingPointer< T, false > |
struct | DominatingPointer< T, true > |
A partial specialization of DominatingValue for llvm::Values that might be llvm::Instructions. More... | |
struct | DominatingValue |
A metaprogramming class for ensuring that a value will dominate an arbitrary position in a function. More... | |
struct | DominatingValue< Address > |
A specialization of DominatingValue for Address. More... | |
struct | DominatingValue< RValue > |
A specialization of DominatingValue for RValue. More... | |
struct | DominatingValue< T * > |
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... | |
class | EHFilterScope |
An exceptions scope which filters exceptions thrown through it. 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 | EHTerminateScope |
An exceptions scope which calls std::terminate if any exception reaches it. More... | |
class | FunctionArgList |
FunctionArgList - Type for representing both the decl and type of parameters to a function. More... | |
struct | ImplicitCXXConstructorArgs |
Additional implicit arguments to add to a constructor argument list. More... | |
class | InstrProfStats |
This class records statistics on instrumentation based profiling. More... | |
struct | InvariantValue |
struct | LoopAttributes |
Attributes that may be specified on loops. More... | |
class | LoopInfo |
Information used when generating a structured loop. More... | |
class | LoopInfoStack |
A stack of loop information corresponding to loop nesting levels. More... | |
class | LValue |
LValue - This represents an lvalue references. More... | |
class | LValueBaseInfo |
struct | ObjCEntrypoints |
struct | OMPTaskDataTy |
struct | OrderGlobalInitsOrStermFinalizers |
class | PrePostActionTy |
A basic class for pre|post-action for advanced codegen sequence for OpenMP region. More... | |
class | ReductionCodeGen |
Class intended to support codegen of all kind of the reduction clauses. More... | |
class | RegionCodeGenTy |
Class provides a way to call simple version of codegen for OpenMP region, or an advanced with possible pre|post-actions in codegen. More... | |
class | RequiredArgs |
A class for recording the number of arguments that a function signature requires. More... | |
class | ReturnValueSlot |
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 |
RValue - This trivial value class is used to represent the result of an expression that is evaluated. More... | |
class | SanitizerMetadata |
class | SwiftABIInfo |
Target specific hooks for defining how a type should be passed or returned from functions with one of the Swift calling conventions. More... | |
class | TargetCodeGenInfo |
TargetCodeGenInfo - This class organizes various target-specific codegeneration issues, like target-specific attributes, builtins and so on. More... | |
struct | TBAAAccessInfo |
class | VarBypassDetector |
The class detects jumps which bypass local variables declaration: goto L; int a; L: More... | |
Typedefs | |
typedef CGBuilderInserter | CGBuilderInserterTy |
typedef llvm::IRBuilder< llvm::ConstantFolder, CGBuilderInserterTy > | CGBuilderBaseTy |
Functions | |
const CGFunctionInfo & | arrangeObjCMessageSendSignature (CodeGenModule &CGM, const ObjCMethodDecl *MD, QualType receiverType) |
const CGFunctionInfo & | arrangeFreeFunctionType (CodeGenModule &CGM, CanQual< FunctionProtoType > Ty) |
const CGFunctionInfo & | arrangeFreeFunctionType (CodeGenModule &CGM, CanQual< FunctionNoProtoType > Ty) |
const CGFunctionInfo & | arrangeCXXMethodType (CodeGenModule &CGM, const CXXRecordDecl *RD, const FunctionProtoType *FTP, const CXXMethodDecl *MD) |
const CGFunctionInfo & | arrangeFreeFunctionCall (CodeGenModule &CGM, CanQualType returnType, ArrayRef< CanQualType > argTypes, FunctionType::ExtInfo info, RequiredArgs args) |
ImplicitCXXConstructorArgs | getImplicitCXXConstructorArgs (CodeGenModule &CGM, const CXXConstructorDecl *D) |
Returns the implicit arguments to add to a complete, non-delegating C++ constructor call. | |
llvm::Value * | getCXXDestructorImplicitParam (CodeGenModule &CGM, llvm::BasicBlock *InsertBlock, llvm::BasicBlock::iterator InsertPoint, const CXXDestructorDecl *D, CXXDtorType Type, bool ForVirtualBase, bool Delegating) |
llvm::FunctionType * | convertFreeFunctionType (CodeGenModule &CGM, const FunctionDecl *FD) |
Returns null if the function type is incomplete and can't be lowered. | |
llvm::Type * | convertTypeForMemory (CodeGenModule &CGM, QualType T) |
unsigned | getLLVMFieldNumber (CodeGenModule &CGM, const RecordDecl *RD, const FieldDecl *FD) |
Given a non-bitfield struct field, return its index within the elements of the struct's converted type. | |
void | addDefaultFunctionDefinitionAttributes (CodeGenModule &CGM, llvm::AttrBuilder &attrs) |
Given the language and code-generation options that Clang was configured with, set the default LLVM IR attributes for a function definition. | |
llvm::Function * | getNonTrivialCStructDefaultConstructor (CodeGenModule &GCM, CharUnits DstAlignment, bool IsVolatile, QualType QT) |
Returns the default constructor for a C struct with non-trivially copyable fields, generating it if necessary. | |
llvm::Function * | getNonTrivialCStructCopyConstructor (CodeGenModule &CGM, CharUnits DstAlignment, CharUnits SrcAlignment, bool IsVolatile, QualType QT) |
Returns the copy constructor for a C struct with non-trivially copyable fields, generating it if necessary. | |
llvm::Function * | getNonTrivialCStructMoveConstructor (CodeGenModule &CGM, CharUnits DstAlignment, CharUnits SrcAlignment, bool IsVolatile, QualType QT) |
Returns the move constructor for a C struct with non-trivially copyable fields, generating it if necessary. | |
llvm::Function * | getNonTrivialCStructCopyAssignmentOperator (CodeGenModule &CGM, CharUnits DstAlignment, CharUnits SrcAlignment, bool IsVolatile, QualType QT) |
Returns the copy assignment operator for a C struct with non-trivially copyable fields, generating it if necessary. | |
llvm::Function * | getNonTrivialCStructMoveAssignmentOperator (CodeGenModule &CGM, CharUnits DstAlignment, CharUnits SrcAlignment, bool IsVolatile, QualType QT) |
Return the move assignment operator for a C struct with non-trivially copyable fields, generating it if necessary. | |
llvm::Function * | getNonTrivialCStructDestructor (CodeGenModule &CGM, CharUnits DstAlignment, bool IsVolatile, QualType QT) |
Returns the destructor for a C struct with non-trivially copyable fields, generating it if necessary. | |
llvm::Constant * | emitObjCProtocolObject (CodeGenModule &CGM, const ObjCProtocolDecl *p) |
Get a pointer to a protocol object for the given declaration, emitting it if it hasn't already been emitted in this translation unit. | |
BlockFlags | operator| (BlockLiteralFlags l, BlockLiteralFlags r) |
BlockFieldFlags | operator| (BlockFieldFlag_t l, BlockFieldFlag_t r) |
void | computeSPIRKernelABIInfo (CodeGenModule &CGM, CGFunctionInfo &FI) |
CGCUDARuntime * | CreateNVCUDARuntime (CodeGenModule &CGM) |
Creates an instance of a CUDA runtime class. | |
CGCXXABI * | CreateItaniumCXXABI (CodeGenModule &CGM) |
Creates an Itanium-family ABI. | |
CGCXXABI * | CreateMicrosoftCXXABI (CodeGenModule &CGM) |
Creates a Microsoft-family ABI. | |
CGObjCRuntime * | CreateGNUObjCRuntime (CodeGenModule &CGM) |
Creates an instance of an Objective-C runtime class. | |
CGObjCRuntime * | CreateMacObjCRuntime (CodeGenModule &CGM) |
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? | |
llvm::Constant * | initializationPatternFor (CodeGenModule &, llvm::Type *) |
typedef llvm::IRBuilder<llvm::ConstantFolder, CGBuilderInserterTy> clang::CodeGen::CGBuilderBaseTy |
Definition at line 43 of file CGBuilder.h.
Definition at line 40 of file CGBuilder.h.
|
strong |
The source of the alignment of an l-value; an expression of confidence in the alignment actually matching the estimate.
Definition at line 38 of file CGBlocks.h.
|
strong |
Represents a type of copy/destroy operation that should be performed for an entity that's captured by a block.
Enumerator | |
---|---|
None | |
CXXRecord | |
ARCWeak | |
ARCStrong | |
NonTrivialCStruct | |
BlockObject |
Definition at line 146 of file CGBlocks.h.
Enumerator | |
---|---|
BLOCK_FIELD_IS_OBJECT | |
BLOCK_FIELD_IS_BLOCK | |
BLOCK_FIELD_IS_BYREF | |
BLOCK_FIELD_IS_WEAK | |
BLOCK_FIELD_IS_ARC | |
BLOCK_BYREF_CALLER | |
BLOCK_BYREF_CURRENT_MAX |
Definition at line 87 of file CGBlocks.h.
Enumerator | |
---|---|
BLOCK_IS_NOESCAPE | |
BLOCK_HAS_COPY_DISPOSE | |
BLOCK_HAS_CXX_OBJ | |
BLOCK_IS_GLOBAL | |
BLOCK_USE_STRET | |
BLOCK_HAS_SIGNATURE | |
BLOCK_HAS_EXTENDED_LAYOUT |
Definition at line 48 of file CGBlocks.h.
Definition at line 77 of file EHScopeStack.h.
Enumerator | |
---|---|
NotForDefinition | |
ForDefinition |
Definition at line 97 of file CodeGenModule.h.
Enumerator | |
---|---|
LIST_SANITIZER_CHECKS |
Definition at line 140 of file CodeGenFunction.h.
|
strong |
Enumerator | |
---|---|
Ordinary | |
MayAlias | |
Incomplete |
Definition at line 34 of file CodeGenTBAA.h.
The kind of evaluation to perform on values of a particular type.
Basically, is the code in CGExprScalar, CGExprComplex, or CGExprAgg?
TODO: should vectors maybe be split out into their own thing?
Enumerator | |
---|---|
TEK_Scalar | |
TEK_Complex | |
TEK_Aggregate |
Definition at line 107 of file CodeGenFunction.h.
void clang::CodeGen::addDefaultFunctionDefinitionAttributes | ( | CodeGenModule & | CGM, |
llvm::AttrBuilder & | attrs | ||
) |
Given the language and code-generation options that Clang was configured with, set the default LLVM IR attributes for a function definition.
The attributes set here are mostly global target-configuration and pipeline-configuration options like the target CPU, variant stack rules, whether to optimize for size, and so on. This is useful for frontends (such as Swift) that generally intend to interoperate with C code and rely on Clang's target configuration logic.
As a general rule, this function assumes that meaningful attributes haven't already been added to the builder. It won't intentionally displace any existing attributes, but it also won't check to avoid overwriting them. Callers should generally apply customizations after making this call.
This function assumes that the caller is not defining a function that requires special no-builtin treatment.
Definition at line 30 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenModule::addDefaultFunctionDefinitionAttributes().
const CGFunctionInfo & clang::CodeGen::arrangeCXXMethodType | ( | CodeGenModule & | CGM, |
const CXXRecordDecl * | RD, | ||
const FunctionProtoType * | FTP, | ||
const CXXMethodDecl * | MD | ||
) |
Definition at line 55 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenTypes::arrangeCXXMethodType(), and clang::CodeGen::CodeGenModule::getTypes().
const CGFunctionInfo & clang::CodeGen::arrangeFreeFunctionCall | ( | CodeGenModule & | CGM, |
CanQualType | returnType, | ||
ArrayRef< CanQualType > | argTypes, | ||
FunctionType::ExtInfo | info, | ||
RequiredArgs | args | ||
) |
Definition at line 63 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(), and clang::CodeGen::CodeGenModule::getTypes().
const CGFunctionInfo & clang::CodeGen::arrangeFreeFunctionType | ( | CodeGenModule & | CGM, |
CanQual< FunctionNoProtoType > | Ty | ||
) |
Definition at line 49 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenTypes::arrangeFreeFunctionType(), and clang::CodeGen::CodeGenModule::getTypes().
const CGFunctionInfo & clang::CodeGen::arrangeFreeFunctionType | ( | CodeGenModule & | CGM, |
CanQual< FunctionProtoType > | Ty | ||
) |
Definition at line 43 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenTypes::arrangeFreeFunctionType(), and clang::CodeGen::CodeGenModule::getTypes().
const CGFunctionInfo & clang::CodeGen::arrangeObjCMessageSendSignature | ( | CodeGenModule & | CGM, |
const ObjCMethodDecl * | MD, | ||
QualType | receiverType | ||
) |
Definition at line 36 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenTypes::arrangeObjCMessageSendSignature(), and clang::CodeGen::CodeGenModule::getTypes().
void clang::CodeGen::computeSPIRKernelABIInfo | ( | CodeGenModule & | CGM, |
CGFunctionInfo & | FI | ||
) |
Definition at line 10616 of file TargetInfo.cpp.
References clang::CodeGen::CodeGenModule::getTarget(), clang::TargetInfo::getTriple(), and clang::CodeGen::CodeGenModule::getTypes().
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo().
llvm::FunctionType * clang::CodeGen::convertFreeFunctionType | ( | CodeGenModule & | CGM, |
const FunctionDecl * | FD | ||
) |
Returns null if the function type is incomplete and can't be lowered.
Definition at line 98 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenTypes::ConvertType(), clang::ValueDecl::getType(), and clang::CodeGen::CodeGenModule::getTypes().
llvm::Type * clang::CodeGen::convertTypeForMemory | ( | CodeGenModule & | CGM, |
QualType | T | ||
) |
Definition at line 109 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenTypes::ConvertTypeForMem(), and clang::CodeGen::CodeGenModule::getTypes().
CGObjCRuntime * clang::CodeGen::CreateGNUObjCRuntime | ( | CodeGenModule & | CGM | ) |
Creates an instance of an Objective-C runtime class.
Definition at line 4203 of file CGObjCGNU.cpp.
References clang::ObjCRuntime::FragileMacOSX, clang::ObjCRuntime::GCC, clang::CodeGen::CodeGenModule::getLangOpts(), clang::ObjCRuntime::GNUstep, clang::ObjCRuntime::iOS, clang::ObjCRuntime::MacOSX, clang::LangOptions::ObjCRuntime, clang::ObjCRuntime::ObjFW, and clang::ObjCRuntime::WatchOS.
CodeGen::CGCXXABI * clang::CodeGen::CreateItaniumCXXABI | ( | CodeGenModule & | CGM | ) |
Creates an Itanium-family ABI.
Definition at line 502 of file ItaniumCXXABI.cpp.
References clang::CodeGen::CodeGenModule::getContext(), clang::ASTContext::getCXXABIKind(), clang::ASTContext::getTargetInfo(), and clang::TargetInfo::getTriple().
CGObjCRuntime * clang::CodeGen::CreateMacObjCRuntime | ( | CodeGenModule & | CGM | ) |
CGCXXABI * clang::CodeGen::CreateMicrosoftCXXABI | ( | CodeGenModule & | CGM | ) |
Creates a Microsoft-family ABI.
Definition at line 3559 of file MicrosoftCXXABI.cpp.
CGCUDARuntime * clang::CodeGen::CreateNVCUDARuntime | ( | CodeGenModule & | CGM | ) |
Creates an instance of a CUDA runtime class.
Definition at line 1013 of file CGCUDANV.cpp.
llvm::Constant * clang::CodeGen::emitObjCProtocolObject | ( | CodeGenModule & | CGM, |
const ObjCProtocolDecl * | p | ||
) |
Get a pointer to a protocol object for the given declaration, emitting it if it hasn't already been emitted in this translation unit.
Note that the ABI for emitting a protocol reference in code (e.g. for a protocol expression) in most runtimes is not as simple as just materializing a pointer to this object.
Definition at line 469 of file CGObjCRuntime.cpp.
References clang::CodeGen::CodeGenModule::getObjCRuntime(), and clang::CodeGen::CGObjCRuntime::GetOrEmitProtocol().
llvm::Value * clang::CodeGen::getCXXDestructorImplicitParam | ( | CodeGenModule & | CGM, |
llvm::BasicBlock * | InsertBlock, | ||
llvm::BasicBlock::iterator | InsertPoint, | ||
const CXXDestructorDecl * | D, | ||
CXXDtorType | Type, | ||
bool | ForVirtualBase, | ||
bool | Delegating | ||
) |
Definition at line 119 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CurCodeDecl, clang::CodeGen::CodeGenFunction::CurFn, clang::CodeGen::CodeGenFunction::CurFuncDecl, clang::CodeGen::CodeGenModule::getCXXABI(), and clang::CodeGen::CGCXXABI::getCXXDestructorImplicitParam().
|
inlinestatic |
ImplicitCXXConstructorArgs clang::CodeGen::getImplicitCXXConstructorArgs | ( | CodeGenModule & | CGM, |
const CXXConstructorDecl * | D | ||
) |
Returns the implicit arguments to add to a complete, non-delegating C++ constructor call.
Definition at line 74 of file CodeGenABITypes.cpp.
References clang::Ctor_Complete, clang::CodeGen::CodeGenModule::getCXXABI(), clang::CodeGen::CGCXXABI::getImplicitConstructorArgs(), clang::CodeGen::ImplicitCXXConstructorArgs::Prefix, clang::CodeGen::CGCXXABI::AddedStructorArgs::Prefix, clang::CodeGen::ImplicitCXXConstructorArgs::Suffix, and clang::CodeGen::CGCXXABI::AddedStructorArgs::Suffix.
unsigned clang::CodeGen::getLLVMFieldNumber | ( | CodeGenModule & | CGM, |
const RecordDecl * | RD, | ||
const FieldDecl * | FD | ||
) |
Given a non-bitfield struct field, return its index within the elements of the struct's converted type.
The returned index refers to a field number in the complete object type which is returned by convertTypeForMemory. FD must be a field in RD directly (i.e. not an inherited field).
Definition at line 113 of file CodeGenABITypes.cpp.
References clang::CodeGen::CodeGenTypes::getCGRecordLayout(), clang::CodeGen::CGRecordLayout::getLLVMFieldNo(), and clang::CodeGen::CodeGenModule::getTypes().
llvm::Function * clang::CodeGen::getNonTrivialCStructCopyAssignmentOperator | ( | CodeGenModule & | CGM, |
CharUnits | DstAlignment, | ||
CharUnits | SrcAlignment, | ||
bool | IsVolatile, | ||
QualType | QT | ||
) |
Returns the copy assignment operator for a C struct with non-trivially copyable fields, generating it if necessary.
The returned function uses the cdecl
calling convention, returns void, and takes two arguments: pointers to the addresses of the destination and source structs, respectively.
Definition at line 970 of file CGNonTrivialStruct.cpp.
References clang::CodeGen::CodeGenModule::getContext(), and getSpecialFunction().
llvm::Function * clang::CodeGen::getNonTrivialCStructCopyConstructor | ( | CodeGenModule & | CGM, |
CharUnits | DstAlignment, | ||
CharUnits | SrcAlignment, | ||
bool | IsVolatile, | ||
QualType | QT | ||
) |
Returns the copy constructor for a C struct with non-trivially copyable fields, generating it if necessary.
The returned function uses the cdecl
calling convention, returns void, and takes two arguments: pointers to the addresses of the destination and source structs, respectively.
Definition at line 946 of file CGNonTrivialStruct.cpp.
References clang::CodeGen::CodeGenModule::getContext(), and getSpecialFunction().
llvm::Function * clang::CodeGen::getNonTrivialCStructDefaultConstructor | ( | CodeGenModule & | GCM, |
CharUnits | DstAlignment, | ||
bool | IsVolatile, | ||
QualType | QT | ||
) |
Returns the default constructor for a C struct with non-trivially copyable fields, generating it if necessary.
The returned function uses the cdecl
calling convention, returns void, and takes a single argument that is a pointer to the address of the struct.
Definition at line 937 of file CGNonTrivialStruct.cpp.
References clang::CodeGen::CodeGenModule::getContext(), and getSpecialFunction().
llvm::Function * clang::CodeGen::getNonTrivialCStructDestructor | ( | CodeGenModule & | CGM, |
CharUnits | DstAlignment, | ||
bool | IsVolatile, | ||
QualType | QT | ||
) |
Returns the destructor for a C struct with non-trivially copyable fields, generating it if necessary.
The returned function uses the cdecl
calling convention, returns void, and takes a single argument that is a pointer to the address of the struct.
Definition at line 994 of file CGNonTrivialStruct.cpp.
References clang::CodeGen::CodeGenModule::getContext(), and getSpecialFunction().
llvm::Function * clang::CodeGen::getNonTrivialCStructMoveAssignmentOperator | ( | CodeGenModule & | CGM, |
CharUnits | DstAlignment, | ||
CharUnits | SrcAlignment, | ||
bool | IsVolatile, | ||
QualType | QT | ||
) |
Return the move assignment operator for a C struct with non-trivially copyable fields, generating it if necessary.
The returned function uses the cdecl
calling convention, returns void, and takes two arguments: pointers to the addresses of the destination and source structs, respectively.
Definition at line 982 of file CGNonTrivialStruct.cpp.
References clang::CodeGen::CodeGenModule::getContext(), and getSpecialFunction().
llvm::Function * clang::CodeGen::getNonTrivialCStructMoveConstructor | ( | CodeGenModule & | CGM, |
CharUnits | DstAlignment, | ||
CharUnits | SrcAlignment, | ||
bool | IsVolatile, | ||
QualType | QT | ||
) |
Returns the move constructor for a C struct with non-trivially copyable fields, generating it if necessary.
The returned function uses the cdecl
calling convention, returns void, and takes two arguments: pointers to the addresses of the destination and source structs, respectively.
Definition at line 958 of file CGNonTrivialStruct.cpp.
References clang::CodeGen::CodeGenModule::getContext(), and getSpecialFunction().
llvm::Constant * clang::CodeGen::initializationPatternFor | ( | CodeGenModule & | CGM, |
llvm::Type * | Ty | ||
) |
Definition at line 15 of file PatternInit.cpp.
References clang::CodeGen::CodeGenModule::getContext(), clang::CodeGen::CodeGenModule::getDataLayout(), clang::CodeGen::CodeGenModule::getLLVMContext(), clang::TargetInfo::getMaxPointerWidth(), clang::ASTContext::getTargetInfo(), and initializationPatternFor().
Referenced by emitStoresForPatternInit(), initializationPatternFor(), initializeAlloca(), and patternOrZeroFor().
|
inline |
Definition at line 131 of file CGBlocks.h.
|
inline |
Definition at line 83 of file CGBlocks.h.