#include "ABIInfoImpl.h"
#include "TargetInfo.h"
usingnamespaceclang;
usingnamespaceclang::CodeGen;
namespace {
class ARMABIInfo : public ABIInfo { … };
class ARMSwiftABIInfo : public SwiftABIInfo { … };
class ARMTargetCodeGenInfo : public TargetCodeGenInfo { … };
class WindowsARMTargetCodeGenInfo : public ARMTargetCodeGenInfo { … };
void WindowsARMTargetCodeGenInfo::setTargetAttributes(
const Decl *D, llvm::GlobalValue *GV, CodeGen::CodeGenModule &CGM) const { … }
}
void ARMABIInfo::computeInfo(CGFunctionInfo &FI) const { … }
llvm::CallingConv::ID ARMABIInfo::getLLVMDefaultCC() const { … }
llvm::CallingConv::ID ARMABIInfo::getABIDefaultCC() const { … }
void ARMABIInfo::setCCs() { … }
ABIArgInfo ARMABIInfo::coerceIllegalVector(QualType Ty) const { … }
ABIArgInfo ARMABIInfo::classifyHomogeneousAggregate(QualType Ty,
const Type *Base,
uint64_t Members) const { … }
ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty, bool isVariadic,
unsigned functionCallConv) const { … }
static bool isIntegerLikeType(QualType Ty, ASTContext &Context,
llvm::LLVMContext &VMContext) { … }
ABIArgInfo ARMABIInfo::classifyReturnType(QualType RetTy, bool isVariadic,
unsigned functionCallConv) const { … }
bool ARMABIInfo::isIllegalVectorType(QualType Ty) const { … }
bool ARMABIInfo::containsAnyFP16Vectors(QualType Ty) const { … }
bool ARMSwiftABIInfo::isLegalVectorType(CharUnits VectorSize, llvm::Type *EltTy,
unsigned NumElts) const { … }
bool ARMABIInfo::isHomogeneousAggregateBaseType(QualType Ty) const { … }
bool ARMABIInfo::isHomogeneousAggregateSmallEnough(const Type *Base,
uint64_t Members) const { … }
bool ARMABIInfo::isZeroLengthBitfieldPermittedInHomogeneousAggregate() const { … }
bool ARMABIInfo::isEffectivelyAAPCS_VFP(unsigned callConvention,
bool acceptHalf) const { … }
RValue ARMABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
QualType Ty, AggValueSlot Slot) const { … }
std::unique_ptr<TargetCodeGenInfo>
CodeGen::createARMTargetCodeGenInfo(CodeGenModule &CGM, ARMABIKind Kind) { … }
std::unique_ptr<TargetCodeGenInfo>
CodeGen::createWindowsARMTargetCodeGenInfo(CodeGenModule &CGM, ARMABIKind K) { … }