LLVM 22.0.0git
ARMCallingConv.cpp File Reference
#include "ARMCallingConv.h"
#include "ARM.h"
#include "ARMSubtarget.h"
#include "ARMGenCallingConv.inc"

Go to the source code of this file.

Functions

static bool f64AssignAPCS (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, CCState &State, bool CanFail)
static bool CC_ARM_APCS_Custom_f64 (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
static bool f64AssignAAPCS (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, CCState &State, bool CanFail)
static bool CC_ARM_AAPCS_Custom_f64 (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
static bool f64RetAssign (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, CCState &State)
static bool RetCC_ARM_APCS_Custom_f64 (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
static bool RetCC_ARM_AAPCS_Custom_f64 (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
static bool CC_ARM_AAPCS_Custom_Aggregate (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
static bool CustomAssignInRegList (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, CCState &State, ArrayRef< MCPhysReg > RegList)
static bool CC_ARM_AAPCS_Custom_f16 (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
static bool CC_ARM_AAPCS_VFP_Custom_f16 (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
static bool CC_ARM_AAPCS_Common_Custom_f16_Stack (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)

Variables

static const MCPhysReg RRegList [] = { ARM::R0, ARM::R1, ARM::R2, ARM::R3 }
static const MCPhysReg SRegList []
static const MCPhysReg DRegList []
static const MCPhysReg QRegList [] = { ARM::Q0, ARM::Q1, ARM::Q2, ARM::Q3 }

Function Documentation

◆ CC_ARM_AAPCS_Common_Custom_f16_Stack()

bool CC_ARM_AAPCS_Common_Custom_f16_Stack ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState & State )
static

Definition at line 317 of file ARMCallingConv.cpp.

References llvm::CCValAssign::getCustomMem().

◆ CC_ARM_AAPCS_Custom_Aggregate()

◆ CC_ARM_AAPCS_Custom_f16()

bool CC_ARM_AAPCS_Custom_f16 ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState & State )
static

Definition at line 298 of file ARMCallingConv.cpp.

References CustomAssignInRegList(), and RRegList.

◆ CC_ARM_AAPCS_Custom_f64()

bool CC_ARM_AAPCS_Custom_f64 ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState & State )
static

Definition at line 101 of file ARMCallingConv.cpp.

References f64AssignAAPCS().

◆ CC_ARM_AAPCS_VFP_Custom_f16()

bool CC_ARM_AAPCS_VFP_Custom_f16 ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState & State )
static

Definition at line 307 of file ARMCallingConv.cpp.

References CustomAssignInRegList(), and SRegList.

◆ CC_ARM_APCS_Custom_f64()

bool CC_ARM_APCS_Custom_f64 ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState & State )
static

Definition at line 48 of file ARMCallingConv.cpp.

References f64AssignAPCS().

◆ CustomAssignInRegList()

bool CustomAssignInRegList ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
CCState & State,
ArrayRef< MCPhysReg > RegList )
static

◆ f64AssignAAPCS()

bool f64AssignAAPCS ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
CCState & State,
bool CanFail )
static

◆ f64AssignAPCS()

bool f64AssignAPCS ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
CCState & State,
bool CanFail )
static

◆ f64RetAssign()

bool f64RetAssign ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
CCState & State )
static

Definition at line 113 of file ARMCallingConv.cpp.

References llvm::CCValAssign::getCustomReg(), and Reg.

Referenced by RetCC_ARM_APCS_Custom_f64().

◆ RetCC_ARM_AAPCS_Custom_f64()

bool RetCC_ARM_AAPCS_Custom_f64 ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState & State )
static

Definition at line 144 of file ARMCallingConv.cpp.

References RetCC_ARM_APCS_Custom_f64().

◆ RetCC_ARM_APCS_Custom_f64()

bool RetCC_ARM_APCS_Custom_f64 ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState & State )
static

Definition at line 133 of file ARMCallingConv.cpp.

References f64RetAssign().

Referenced by RetCC_ARM_AAPCS_Custom_f64().

Variable Documentation

◆ DRegList

const MCPhysReg DRegList[]
static
Initial value:
= { ARM::D0, ARM::D1, ARM::D2, ARM::D3,
ARM::D4, ARM::D5, ARM::D6, ARM::D7 }

Definition at line 158 of file ARMCallingConv.cpp.

◆ QRegList

const MCPhysReg QRegList[] = { ARM::Q0, ARM::Q1, ARM::Q2, ARM::Q3 }
static

Definition at line 160 of file ARMCallingConv.cpp.

◆ RRegList

const MCPhysReg RRegList[] = { ARM::R0, ARM::R1, ARM::R2, ARM::R3 }
static

Definition at line 152 of file ARMCallingConv.cpp.

Referenced by CC_ARM_AAPCS_Custom_Aggregate(), and CC_ARM_AAPCS_Custom_f16().

◆ SRegList

const MCPhysReg SRegList[]
static
Initial value:
= { ARM::S0, ARM::S1, ARM::S2, ARM::S3,
ARM::S4, ARM::S5, ARM::S6, ARM::S7,
ARM::S8, ARM::S9, ARM::S10, ARM::S11,
ARM::S12, ARM::S13, ARM::S14, ARM::S15 }

Definition at line 154 of file ARMCallingConv.cpp.