LLVM
15.0.0git
|
#include "Target/Mips/MCTargetDesc/MipsABIInfo.h"
Public Types | |
enum | ABI { ABI::Unknown, ABI::O32, ABI::N32, ABI::N64 } |
Public Member Functions | |
MipsABIInfo (ABI ThisABI) | |
bool | IsKnown () const |
bool | IsO32 () const |
bool | IsN32 () const |
bool | IsN64 () const |
ABI | GetEnumValue () const |
ArrayRef< MCPhysReg > | GetByValArgRegs () const |
The registers to use for byval arguments. More... | |
ArrayRef< MCPhysReg > | GetVarArgRegs () const |
The registers to use for the variable argument list. More... | |
unsigned | GetCalleeAllocdArgSizeInBytes (CallingConv::ID CC) const |
Obtain the size of the area allocated by the callee for arguments. More... | |
bool | operator< (const MipsABIInfo Other) const |
Ordering of ABI's MipsGenSubtargetInfo.inc will use this to resolve conflicts when given multiple ABI options. More... | |
unsigned | GetStackPtr () const |
unsigned | GetFramePtr () const |
unsigned | GetBasePtr () const |
unsigned | GetGlobalPtr () const |
unsigned | GetNullPtr () const |
unsigned | GetZeroReg () const |
unsigned | GetPtrAdduOp () const |
unsigned | GetPtrAddiuOp () const |
unsigned | GetPtrSubuOp () const |
unsigned | GetPtrAndOp () const |
unsigned | GetGPRMoveOp () const |
bool | ArePtrs64bit () const |
bool | AreGprs64bit () const |
unsigned | GetEhDataReg (unsigned I) const |
Static Public Member Functions | |
static MipsABIInfo | Unknown () |
static MipsABIInfo | O32 () |
static MipsABIInfo | N32 () |
static MipsABIInfo | N64 () |
static MipsABIInfo | computeTargetABI (const Triple &TT, StringRef CPU, const MCTargetOptions &Options) |
Protected Attributes | |
ABI | ThisABI |
Definition at line 22 of file MipsABIInfo.h.
|
strong |
Enumerator | |
---|---|
Unknown | |
O32 | |
N32 | |
N64 |
Definition at line 24 of file MipsABIInfo.h.
|
inline |
|
inline |
Definition at line 74 of file MipsABIInfo.h.
References IsN32(), and IsN64().
Referenced by GetZeroReg().
|
inline |
Definition at line 73 of file MipsABIInfo.h.
References IsN64().
Referenced by GetBasePtr(), GetFramePtr(), GetGlobalPtr(), GetGPRMoveOp(), GetNullPtr(), GetPtrAddiuOp(), GetPtrAdduOp(), GetPtrAndOp(), GetPtrSubuOp(), GetStackPtr(), llvm::MipsSEInstrInfo::loadRegFromStack(), and llvm::MipsSEFrameLowering::spillCalleeSavedRegisters().
|
static |
Definition at line 58 of file MipsABIInfo.cpp.
References assert(), llvm::Triple::GNUABIN32, N32(), N64(), O32(), and Options.
Referenced by computeDataLayout(), llvm::createMipsAsmBackend(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().
unsigned MipsABIInfo::GetBasePtr | ( | ) | const |
Definition at line 83 of file MipsABIInfo.cpp.
References ArePtrs64bit().
The registers to use for byval arguments.
Definition at line 34 of file MipsABIInfo.cpp.
References IsN32(), IsN64(), IsO32(), llvm_unreachable, and llvm::makeArrayRef().
Referenced by llvm::MipsTargetLowering::HandleByVal().
unsigned MipsABIInfo::GetCalleeAllocdArgSizeInBytes | ( | CallingConv::ID | CC | ) | const |
Obtain the size of the area allocated by the callee for arguments.
CallingConv::FastCall affects the value for O32.
Definition at line 50 of file MipsABIInfo.cpp.
References llvm::CallingConv::Fast, IsN32(), IsN64(), IsO32(), and llvm_unreachable.
unsigned MipsABIInfo::GetEhDataReg | ( | unsigned | I | ) | const |
Definition at line 119 of file MipsABIInfo.cpp.
|
inline |
Definition at line 43 of file MipsABIInfo.h.
References ThisABI.
unsigned MipsABIInfo::GetFramePtr | ( | ) | const |
Definition at line 79 of file MipsABIInfo.cpp.
References ArePtrs64bit().
unsigned MipsABIInfo::GetGlobalPtr | ( | ) | const |
Definition at line 87 of file MipsABIInfo.cpp.
References ArePtrs64bit().
unsigned MipsABIInfo::GetGPRMoveOp | ( | ) | const |
Definition at line 115 of file MipsABIInfo.cpp.
References ArePtrs64bit(), and llvm::ISD::OR.
unsigned MipsABIInfo::GetNullPtr | ( | ) | const |
Definition at line 91 of file MipsABIInfo.cpp.
References ArePtrs64bit().
unsigned MipsABIInfo::GetPtrAddiuOp | ( | ) | const |
Definition at line 103 of file MipsABIInfo.cpp.
References ArePtrs64bit().
unsigned MipsABIInfo::GetPtrAdduOp | ( | ) | const |
Definition at line 99 of file MipsABIInfo.cpp.
References ArePtrs64bit().
unsigned MipsABIInfo::GetPtrAndOp | ( | ) | const |
Definition at line 111 of file MipsABIInfo.cpp.
References llvm::ISD::AND, and ArePtrs64bit().
unsigned MipsABIInfo::GetPtrSubuOp | ( | ) | const |
Definition at line 107 of file MipsABIInfo.cpp.
References ArePtrs64bit().
unsigned MipsABIInfo::GetStackPtr | ( | ) | const |
Definition at line 75 of file MipsABIInfo.cpp.
References ArePtrs64bit().
The registers to use for the variable argument list.
Definition at line 42 of file MipsABIInfo.cpp.
References IsN32(), IsN64(), IsO32(), llvm_unreachable, and llvm::makeArrayRef().
unsigned MipsABIInfo::GetZeroReg | ( | ) | const |
Definition at line 95 of file MipsABIInfo.cpp.
References AreGprs64bit().
Referenced by llvm::MipsInstrInfo::getEquivalentCompactForm().
|
inline |
Definition at line 39 of file MipsABIInfo.h.
|
inline |
Definition at line 41 of file MipsABIInfo.h.
Referenced by AreGprs64bit(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::MipsTargetELFStreamer::finish(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetVarArgRegs(), llvm::MipsSubtarget::isABI_N32(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inline |
Definition at line 42 of file MipsABIInfo.h.
Referenced by AreGprs64bit(), ArePtrs64bit(), llvm::MipsFrameLowering::eliminateCallFramePseudoInstr(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetEhDataReg(), llvm::MipsTargetLowering::getExceptionPointerRegister(), llvm::MipsTargetLowering::getExceptionSelectorRegister(), llvm::MipsTargetLowering::getOpndList(), GetVarArgRegs(), llvm::MipsSubtarget::isABI_N64(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inline |
Definition at line 40 of file MipsABIInfo.h.
Referenced by llvm::MipsTargetELFStreamer::finish(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetVarArgRegs(), llvm::MipsTargetLowering::HandleByVal(), llvm::MipsSubtarget::isABI_O32(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inlinestatic |
Definition at line 34 of file MipsABIInfo.h.
References MipsABIInfo(), and N32.
Referenced by computeTargetABI().
|
inlinestatic |
Definition at line 35 of file MipsABIInfo.h.
References MipsABIInfo(), and N64.
Referenced by computeTargetABI(), and llvm::MipsTargetELFStreamer::MipsTargetELFStreamer().
|
inlinestatic |
Definition at line 33 of file MipsABIInfo.h.
References MipsABIInfo(), and O32.
Referenced by computeTargetABI(), and llvm::MipsTargetELFStreamer::MipsTargetELFStreamer().
|
inline |
Ordering of ABI's MipsGenSubtargetInfo.inc will use this to resolve conflicts when given multiple ABI options.
Definition at line 58 of file MipsABIInfo.h.
|
inlinestatic |
Definition at line 32 of file MipsABIInfo.h.
References MipsABIInfo(), and Unknown.
|
protected |
Definition at line 27 of file MipsABIInfo.h.
Referenced by GetEnumValue(), IsKnown(), IsN32(), IsN64(), IsO32(), and operator<().