|
LLVM 24.0.0git
|
#include "Target/Mips/MCTargetDesc/MipsABIInfo.h"
Public Types | |
| enum class | ABI { Unknown , O32 , N32 , N64 } |
Static Public Member Functions | |
| static MipsABIInfo | Unknown () |
| static MipsABIInfo | O32 () |
| static MipsABIInfo | N32 () |
| static MipsABIInfo | N64 () |
| static MipsABIInfo | computeTargetABI (const Triple &TT, StringRef ABIName) |
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 |
Definition at line 30 of file MipsABIInfo.h.
References ThisABI.
Referenced by computeTargetABI(), N32(), N64(), O32(), operator<(), and Unknown().
|
inline |
Definition at line 113 of file MipsABIInfo.h.
References IsN32(), and IsN64().
Referenced by getArgReg(), GetByValArgRegs(), getReturnReg(), getSavedReg(), getTempReg(), and GetZeroReg().
|
inline |
Definition at line 112 of file MipsABIInfo.h.
References IsN64().
Referenced by getArgRegPtr(), GetFramePtr(), GetGlobalPtr(), GetGPRMoveOp(), GetNullPtr(), GetPtrAddiuOp(), GetPtrAdduOp(), GetPtrAndOp(), GetPtrSubuOp(), getReturnRegPtr(), getSavedRegPtr(), GetStackPtr(), and getTempRegPtr().
|
static |
Definition at line 175 of file MipsABIInfo.cpp.
References assert(), llvm::StringRef::empty(), MipsABIInfo(), N32(), N64(), O32(), and llvm::StringRef::starts_with().
Referenced by llvm::createMipsAsmBackend(), and llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo().
|
inline |
Definition at line 54 of file MipsABIInfo.h.
References AreGprs64bit(), getArgReg(), and I.
| MCRegister MipsABIInfo::getArgReg | ( | unsigned | I, |
| bool | Is64Bit ) const |
ABI register accessors default to the ABI's GPR width.
Use the *RegPtr variants for pointer-sized values; N32 has 32-bit pointers and 64-bit GPRs.
Definition at line 119 of file MipsABIInfo.cpp.
References assert(), getArgRegs(), I, and llvm::ArrayRef< T >::size().
Referenced by getArgReg(), and getArgRegPtr().
|
inline |
Definition at line 57 of file MipsABIInfo.h.
References ArePtrs64bit(), getArgReg(), and I.
Referenced by GetEhDataReg().
Integer argument registers in calling-convention order.
Definition at line 95 of file MipsABIInfo.cpp.
References llvm::ArrayRef(), assert(), IsKnown(), and IsO32().
Referenced by getArgReg(), and GetByValArgRegs().
| unsigned MipsABIInfo::GetBasePtr | ( | ) | const |
Definition at line 199 of file MipsABIInfo.cpp.
References getSavedRegPtr().
The registers to use for byval arguments.
Definition at line 102 of file MipsABIInfo.cpp.
References AreGprs64bit(), and getArgRegs().
| 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 167 of file MipsABIInfo.cpp.
References llvm::CallingConv::Fast, IsN32(), IsN64(), IsO32(), and llvm_unreachable.
Definition at line 233 of file MipsABIInfo.cpp.
References assert(), getArgRegPtr(), and I.
|
inline |
Definition at line 42 of file MipsABIInfo.h.
References ThisABI.
| unsigned MipsABIInfo::GetFramePtr | ( | ) | const |
Definition at line 195 of file MipsABIInfo.cpp.
References ArePtrs64bit().
| unsigned MipsABIInfo::GetGlobalPtr | ( | ) | const |
Definition at line 201 of file MipsABIInfo.cpp.
References ArePtrs64bit().
| unsigned MipsABIInfo::GetGPRMoveOp | ( | ) | const |
Definition at line 229 of file MipsABIInfo.cpp.
References ArePtrs64bit().
| unsigned MipsABIInfo::GetNullPtr | ( | ) | const |
Definition at line 205 of file MipsABIInfo.cpp.
References ArePtrs64bit().
| unsigned MipsABIInfo::GetPtrAddiuOp | ( | ) | const |
Definition at line 217 of file MipsABIInfo.cpp.
References ArePtrs64bit().
| unsigned MipsABIInfo::GetPtrAdduOp | ( | ) | const |
Definition at line 213 of file MipsABIInfo.cpp.
References ArePtrs64bit().
| unsigned MipsABIInfo::GetPtrAndOp | ( | ) | const |
Definition at line 225 of file MipsABIInfo.cpp.
References ArePtrs64bit().
| unsigned MipsABIInfo::GetPtrSubuOp | ( | ) | const |
Definition at line 221 of file MipsABIInfo.cpp.
References ArePtrs64bit().
| unsigned MipsABIInfo::getRegAltNameIndex | ( | ) | const |
Register naming convention for this ABI.
Definition at line 106 of file MipsABIInfo.cpp.
References llvm_unreachable, N32, N64, O32, ThisABI, and Unknown.
Referenced by getTempReg().
|
inline |
Definition at line 77 of file MipsABIInfo.h.
References AreGprs64bit(), getReturnReg(), and I.
| MCRegister MipsABIInfo::getReturnReg | ( | unsigned | I, |
| bool | Is64Bit ) const |
Integer return-value registers.
Definition at line 143 of file MipsABIInfo.cpp.
References getReg(), I, llvm_unreachable, N32, N64, O32, ThisABI, and Unknown.
Referenced by getReturnReg(), and getReturnRegPtr().
|
inline |
Definition at line 80 of file MipsABIInfo.h.
References ArePtrs64bit(), getReturnReg(), and I.
|
inline |
Definition at line 69 of file MipsABIInfo.h.
References AreGprs64bit(), getSavedReg(), and I.
| MCRegister MipsABIInfo::getSavedReg | ( | unsigned | I, |
| bool | Is64Bit ) const |
Definition at line 138 of file MipsABIInfo.cpp.
References assert(), getReg(), I, and IsKnown().
Referenced by llvm::MipsRegisterInfo::canRealignStack(), getSavedReg(), and getSavedRegPtr().
|
inline |
Definition at line 72 of file MipsABIInfo.h.
References ArePtrs64bit(), getSavedReg(), and I.
Referenced by GetBasePtr().
| unsigned MipsABIInfo::GetStackPtr | ( | ) | const |
Definition at line 191 of file MipsABIInfo.cpp.
References ArePtrs64bit().
|
inline |
Definition at line 62 of file MipsABIInfo.h.
References AreGprs64bit(), getTempReg(), and I.
| MCRegister MipsABIInfo::getTempReg | ( | unsigned | I, |
| bool | Is64Bit ) const |
I is the suffix in tI (NABI has t0-t3 and t8-t9).
Definition at line 125 of file MipsABIInfo.cpp.
References getReg(), getRegAltNameIndex(), I, and llvm_unreachable.
Referenced by getTempReg(), and getTempRegPtr().
|
inline |
Definition at line 65 of file MipsABIInfo.h.
References ArePtrs64bit(), getTempReg(), and I.
The registers to use for the variable argument list.
Definition at line 155 of file MipsABIInfo.cpp.
References llvm::ArrayRef(), IsN32(), IsN64(), IsO32(), and llvm_unreachable.
| unsigned MipsABIInfo::GetZeroReg | ( | ) | const |
Definition at line 209 of file MipsABIInfo.cpp.
References AreGprs64bit().
|
inline |
Definition at line 38 of file MipsABIInfo.h.
References ThisABI, and Unknown.
Referenced by getArgRegs(), and getSavedReg().
|
inline |
Definition at line 40 of file MipsABIInfo.h.
Referenced by AreGprs64bit(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), GetCalleeAllocdArgSizeInBytes(), getVarArgRegs(), and llvm::MipsSubtarget::isABI_N32().
|
inline |
Definition at line 41 of file MipsABIInfo.h.
Referenced by AreGprs64bit(), ArePtrs64bit(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), GetCalleeAllocdArgSizeInBytes(), llvm::MipsRegisterInfo::getFrameRegister(), getVarArgRegs(), and llvm::MipsSubtarget::isABI_N64().
|
inline |
Definition at line 39 of file MipsABIInfo.h.
Referenced by getArgRegs(), GetCalleeAllocdArgSizeInBytes(), getVarArgRegs(), and llvm::MipsSubtarget::isABI_O32().
|
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 97 of file MipsABIInfo.h.
References MipsABIInfo(), llvm::Other, and ThisABI.
|
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(), getRegAltNameIndex(), getReturnReg(), IsKnown(), IsN32(), IsN64(), IsO32(), MipsABIInfo(), and operator<().