#include "ABIInfoImpl.h"
#include "TargetInfo.h"
usingnamespaceclang;
usingnamespaceclang::CodeGen;
namespace {
class MipsABIInfo : public ABIInfo { … };
class MIPSTargetCodeGenInfo : public TargetCodeGenInfo { … };
}
void MipsABIInfo::CoerceToIntArgs(
uint64_t TySize, SmallVectorImpl<llvm::Type *> &ArgList) const { … }
llvm::Type* MipsABIInfo::HandleAggregates(QualType Ty, uint64_t TySize) const { … }
llvm::Type *MipsABIInfo::getPaddingType(uint64_t OrigOffset,
uint64_t Offset) const { … }
ABIArgInfo
MipsABIInfo::classifyArgumentType(QualType Ty, uint64_t &Offset) const { … }
llvm::Type*
MipsABIInfo::returnAggregateInRegs(QualType RetTy, uint64_t Size) const { … }
ABIArgInfo MipsABIInfo::classifyReturnType(QualType RetTy) const { … }
void MipsABIInfo::computeInfo(CGFunctionInfo &FI) const { … }
RValue MipsABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
QualType OrigTy, AggValueSlot Slot) const { … }
ABIArgInfo MipsABIInfo::extendType(QualType Ty) const { … }
bool
MIPSTargetCodeGenInfo::initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
llvm::Value *Address) const { … }
std::unique_ptr<TargetCodeGenInfo>
CodeGen::createMIPSTargetCodeGenInfo(CodeGenModule &CGM, bool IsOS32) { … }