clang 20.0.0git
Classes | Namespaces | Functions
ABIInfoImpl.h File Reference
#include "ABIInfo.h"
#include "CGCXXABI.h"

Go to the source code of this file.

Classes

class  clang::CodeGen::DefaultABIInfo
 DefaultABIInfo - The default implementation for ABI specific details. More...
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::CodeGen
 

Functions

ABIArgInfo clang::CodeGen::coerceToIntArray (QualType Ty, ASTContext &Context, llvm::LLVMContext &LLVMContext)
 
void clang::CodeGen::AssignToArrayRange (CodeGen::CGBuilderTy &Builder, llvm::Value *Array, llvm::Value *Value, unsigned FirstIndex, unsigned LastIndex)
 
bool clang::CodeGen::isAggregateTypeForABI (QualType T)
 
llvm::Typeclang::CodeGen::getVAListElementType (CodeGenFunction &CGF)
 
CGCXXABI::RecordArgABI clang::CodeGen::getRecordArgABI (const RecordType *RT, CGCXXABI &CXXABI)
 
CGCXXABI::RecordArgABI clang::CodeGen::getRecordArgABI (QualType T, CGCXXABI &CXXABI)
 
bool clang::CodeGen::classifyReturnType (const CGCXXABI &CXXABI, CGFunctionInfo &FI, const ABIInfo &Info)
 
QualType clang::CodeGen::useFirstFieldIfTransparentUnion (QualType Ty)
 Pass transparent unions as if they were the type of the first element.
 
llvm::Valueclang::CodeGen::emitRoundPointerUpToAlignment (CodeGenFunction &CGF, llvm::Value *Ptr, CharUnits Align)
 
Address clang::CodeGen::emitVoidPtrDirectVAArg (CodeGenFunction &CGF, Address VAListAddr, llvm::Type *DirectTy, CharUnits DirectSize, CharUnits DirectAlign, CharUnits SlotSize, bool AllowHigherAlign, bool ForceRightAdjust=false)
 Emit va_arg for a platform using the common void* representation, where arguments are simply emitted in an array of slots on the stack.
 
RValue clang::CodeGen::emitVoidPtrVAArg (CodeGenFunction &CGF, Address VAListAddr, QualType ValueTy, bool IsIndirect, TypeInfoChars ValueInfo, CharUnits SlotSizeAndAlign, bool AllowHigherAlign, AggValueSlot Slot, bool ForceRightAdjust=false)
 Emit va_arg for a platform using the common void* representation, where arguments are simply emitted in an array of slots on the stack.
 
Address clang::CodeGen::emitMergePHI (CodeGenFunction &CGF, Address Addr1, llvm::BasicBlock *Block1, Address Addr2, llvm::BasicBlock *Block2, const llvm::Twine &Name="")
 
bool clang::CodeGen::isEmptyField (ASTContext &Context, const FieldDecl *FD, bool AllowArrays, bool AsIfNoUniqueAddr=false)
 isEmptyField - Return true iff a the field is "empty", that is it is an unnamed bit-field or an (array of) empty record(s).
 
bool clang::CodeGen::isEmptyRecord (ASTContext &Context, QualType T, bool AllowArrays, bool AsIfNoUniqueAddr=false)
 isEmptyRecord - Return true iff a structure contains only empty fields.
 
bool clang::CodeGen::isEmptyFieldForLayout (const ASTContext &Context, const FieldDecl *FD)
 isEmptyFieldForLayout - Return true iff the field is "empty", that is, either a zero-width bit-field or an isEmptyRecordForLayout.
 
bool clang::CodeGen::isEmptyRecordForLayout (const ASTContext &Context, QualType T)
 isEmptyRecordForLayout - Return true iff a structure contains only empty base classes (per isEmptyRecordForLayout) and fields (per isEmptyFieldForLayout).
 
const Typeclang::CodeGen::isSingleElementStruct (QualType T, ASTContext &Context)
 isSingleElementStruct - Determine if a structure is a "single element struct", i.e.
 
Address clang::CodeGen::EmitVAArgInstr (CodeGenFunction &CGF, Address VAListAddr, QualType Ty, const ABIArgInfo &AI)
 
bool clang::CodeGen::isSIMDVectorType (ASTContext &Context, QualType Ty)
 
bool clang::CodeGen::isRecordWithSIMDVectorType (ASTContext &Context, QualType Ty)