#include "ABIInfo.h"
#include "ABIInfoImpl.h"
usingnamespaceclang;
usingnamespaceclang::CodeGen;
ABIInfo::~ABIInfo() = default;
CGCXXABI &ABIInfo::getCXXABI() const { … }
ASTContext &ABIInfo::getContext() const { … }
llvm::LLVMContext &ABIInfo::getVMContext() const { … }
const llvm::DataLayout &ABIInfo::getDataLayout() const { … }
const TargetInfo &ABIInfo::getTarget() const { … }
const CodeGenOptions &ABIInfo::getCodeGenOpts() const { … }
bool ABIInfo::isAndroid() const { … }
bool ABIInfo::isOHOSFamily() const { … }
RValue ABIInfo::EmitMSVAArg(CodeGenFunction &CGF, Address VAListAddr,
QualType Ty, AggValueSlot Slot) const { … }
bool ABIInfo::isHomogeneousAggregateBaseType(QualType Ty) const { … }
bool ABIInfo::isHomogeneousAggregateSmallEnough(const Type *Base,
uint64_t Members) const { … }
bool ABIInfo::isZeroLengthBitfieldPermittedInHomogeneousAggregate() const { … }
bool ABIInfo::isHomogeneousAggregate(QualType Ty, const Type *&Base,
uint64_t &Members) const { … }
bool ABIInfo::isPromotableIntegerTypeForABI(QualType Ty) const { … }
ABIArgInfo ABIInfo::getNaturalAlignIndirect(QualType Ty, bool ByVal,
bool Realign,
llvm::Type *Padding) const { … }
ABIArgInfo ABIInfo::getNaturalAlignIndirectInReg(QualType Ty,
bool Realign) const { … }
void ABIInfo::appendAttributeMangling(TargetAttr *Attr,
raw_ostream &Out) const { … }
void ABIInfo::appendAttributeMangling(TargetVersionAttr *Attr,
raw_ostream &Out) const { … }
void ABIInfo::appendAttributeMangling(TargetClonesAttr *Attr, unsigned Index,
raw_ostream &Out) const { … }
void ABIInfo::appendAttributeMangling(StringRef AttrStr,
raw_ostream &Out) const { … }
SwiftABIInfo::~SwiftABIInfo() = default;
bool SwiftABIInfo::occupiesMoreThan(ArrayRef<llvm::Type *> scalarTypes,
unsigned maxAllRegisters) const { … }
bool SwiftABIInfo::shouldPassIndirectly(ArrayRef<llvm::Type *> ComponentTys,
bool AsReturnValue) const { … }
bool SwiftABIInfo::isLegalVectorType(CharUnits VectorSize, llvm::Type *EltTy,
unsigned NumElts) const { … }