clang 24.0.0git
CodeGenABITypes.h File Reference
#include "clang/AST/CanonicalType.h"
#include "clang/AST/Type.h"
#include "clang/Basic/ABI.h"
#include "clang/CodeGen/CGFunctionInfo.h"
#include "llvm/IR/BasicBlock.h"

Go to the source code of this file.

Classes

struct  clang::CodeGen::ImplicitCXXConstructorArgs
 Additional implicit arguments to add to a constructor argument list. More...

Namespaces

namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
namespace  clang
 Top level wrappers for InstallAPI frontend operations.
namespace  clang::CodeGen

Functions

const CGFunctionInfoclang::CodeGen::arrangeObjCMessageSendSignature (CodeGenModule &CGM, const ObjCMethodDecl *MD, QualType receiverType)
const CGFunctionInfoclang::CodeGen::arrangeFreeFunctionType (CodeGenModule &CGM, CanQual< FunctionProtoType > Ty)
const CGFunctionInfoclang::CodeGen::arrangeFreeFunctionType (CodeGenModule &CGM, CanQual< FunctionNoProtoType > Ty)
const CGFunctionInfoclang::CodeGen::arrangeCXXMethodType (CodeGenModule &CGM, const CXXRecordDecl *RD, const FunctionProtoType *FTP, const CXXMethodDecl *MD)
const CGFunctionInfoclang::CodeGen::arrangeCXXMethodCall (CodeGenModule &CGM, CanQualType returnType, ArrayRef< CanQualType > argTypes, FunctionType::ExtInfo info, ArrayRef< FunctionProtoType::ExtParameterInfo > paramInfos, RequiredArgs args, const FunctionDecl *CallerFD)
const CGFunctionInfoclang::CodeGen::arrangeFreeFunctionCall (CodeGenModule &CGM, CanQualType returnType, ArrayRef< CanQualType > argTypes, FunctionType::ExtInfo info, ArrayRef< FunctionProtoType::ExtParameterInfo > paramInfos, RequiredArgs args, const FunctionDecl *CallerFD)
const CGFunctionInfoclang::CodeGen::arrangeFreeFunctionCall (CodeGenModule &CGM, CanQualType returnType, ArrayRef< CanQualType > argTypes, FunctionType::ExtInfo info, RequiredArgs args, const FunctionDecl *CallerFD)
ImplicitCXXConstructorArgs clang::CodeGen::getImplicitCXXConstructorArgs (CodeGenModule &CGM, const CXXConstructorDecl *D)
 Returns the implicit arguments to add to a complete, non-delegating C++ constructor call.
llvm::Value * clang::CodeGen::getCXXDestructorImplicitParam (CodeGenModule &CGM, llvm::BasicBlock *InsertBlock, llvm::BasicBlock::iterator InsertPoint, const CXXDestructorDecl *D, CXXDtorType Type, bool ForVirtualBase, bool Delegating)
llvm::FunctionType * clang::CodeGen::convertFreeFunctionType (CodeGenModule &CGM, const FunctionDecl *FD)
 Returns null if the function type is incomplete and can't be lowered.
llvm::Type * clang::CodeGen::convertTypeForMemory (CodeGenModule &CGM, QualType T)
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.
uint16_t clang::CodeGen::getPointerAuthDeclDiscriminator (CodeGenModule &CGM, GlobalDecl GD)
 Return a declaration discriminator for the given global decl.
uint16_t clang::CodeGen::getPointerAuthTypeDiscriminator (CodeGenModule &CGM, QualType FunctionType)
 Return a type discriminator for the given function type.
llvm::Constant * clang::CodeGen::getConstantSignedPointer (CodeGenModule &CGM, llvm::Constant *Pointer, unsigned Key, llvm::Constant *StorageAddress, llvm::ConstantInt *OtherDiscriminator)
 Return a signed constant pointer.
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.
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.
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.
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.
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.
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.
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.
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.
llvm::Function * clang::CodeGen::getObjCDirectMethodCallee (CodeGenModule &CGM, const ObjCMethodDecl *OMD, const ObjCContainerDecl *CD, bool ReceiverCanBeNull, bool ClassObjectCanBeUnrealized)
 Get the appropriate callee for an ObjC direct method.