clang  11.0.0git
Classes | Namespaces | Functions
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"
Include dependency graph for CodeGenABITypes.h:
This graph shows which files directly or indirectly include this file:

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

 llvm
 Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion.
 
 clang
 Dataflow Directional Tag Classes.
 
 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::arrangeFreeFunctionCall (CodeGenModule &CGM, CanQualType returnType, ArrayRef< CanQualType > argTypes, FunctionType::ExtInfo info, RequiredArgs args)
 
ImplicitCXXConstructorArgs clang::CodeGen::getImplicitCXXConstructorArgs (CodeGenModule &CGM, const CXXConstructorDecl *D)
 Returns the implicit arguments to add to a complete, non-delegating C++ constructor call. More...
 
llvm::Valueclang::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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...