#include "ABIInfoImpl.h"
#include "TargetInfo.h"
usingnamespaceclang;
usingnamespaceclang::CodeGen;
namespace {
class HexagonABIInfo : public DefaultABIInfo { … };
class HexagonTargetCodeGenInfo : public TargetCodeGenInfo { … };
}
void HexagonABIInfo::computeInfo(CGFunctionInfo &FI) const { … }
static bool HexagonAdjustRegsLeft(uint64_t Size, unsigned *RegsLeft) { … }
ABIArgInfo HexagonABIInfo::classifyArgumentType(QualType Ty,
unsigned *RegsLeft) const { … }
ABIArgInfo HexagonABIInfo::classifyReturnType(QualType RetTy) const { … }
Address HexagonABIInfo::EmitVAArgFromMemory(CodeGenFunction &CGF,
Address VAListAddr,
QualType Ty) const { … }
Address HexagonABIInfo::EmitVAArgForHexagon(CodeGenFunction &CGF,
Address VAListAddr,
QualType Ty) const { … }
Address HexagonABIInfo::EmitVAArgForHexagonLinux(CodeGenFunction &CGF,
Address VAListAddr,
QualType Ty) const { … }
RValue HexagonABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
QualType Ty, AggValueSlot Slot) const { … }
std::unique_ptr<TargetCodeGenInfo>
CodeGen::createHexagonTargetCodeGenInfo(CodeGenModule &CGM) { … }