|
LLVM
3.7.0
|
#include <MipsABIInfo.h>
Public Types | |
| enum | ABI { ABI::Unknown, ABI::O32, ABI::N32, ABI::N64, ABI::EABI } |
Public Member Functions | |
| MipsABIInfo (ABI ThisABI) | |
| bool | IsKnown () const |
| bool | IsO32 () const |
| bool | IsN32 () const |
| bool | IsN64 () const |
| bool | IsEABI () const |
| ABI | GetEnumValue () const |
| const ArrayRef< MCPhysReg > | GetByValArgRegs () const |
| The registers to use for byval arguments. More... | |
| const 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 | GetNullPtr () const |
| unsigned | GetPtrAdduOp () const |
| unsigned | GetPtrAddiuOp () const |
| bool | ArePtrs64bit () const |
| unsigned | GetEhDataReg (unsigned I) const |
Static Public Member Functions | |
| static MipsABIInfo | Unknown () |
| static MipsABIInfo | O32 () |
| static MipsABIInfo | N32 () |
| static MipsABIInfo | N64 () |
| static MipsABIInfo | EABI () |
| static MipsABIInfo | computeTargetABI (const Triple &TT, StringRef CPU, const MCTargetOptions &Options) |
Protected Attributes | |
| ABI | ThisABI |
Definition at line 24 of file MipsABIInfo.h.
|
strong |
| Enumerator | |
|---|---|
| Unknown | |
| O32 | |
| N32 | |
| N64 | |
| EABI | |
Definition at line 26 of file MipsABIInfo.h.
|
inline |
|
inline |
Definition at line 72 of file MipsABIInfo.h.
References IsN64().
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), GetBasePtr(), GetFramePtr(), GetNullPtr(), llvm::MipsRegisterInfo::getPointerRegClass(), GetPtrAddiuOp(), GetPtrAdduOp(), and GetStackPtr().
|
static |
Definition at line 50 of file MipsABIInfo.cpp.
References Default, EABI(), llvm::StringRef::empty(), llvm::MCTargetOptions::getABIName(), llvm::Triple::getArch(), llvm_unreachable, llvm::Triple::mips, llvm::Triple::mipsel, N32(), N64(), O32(), llvm::StringRef::startswith(), and Unknown().
Referenced by computeDataLayout().
|
inlinestatic |
Definition at line 38 of file MipsABIInfo.h.
References EABI, and MipsABIInfo().
Referenced by computeTargetABI().
| unsigned MipsABIInfo::GetBasePtr | ( | ) | const |
Definition at line 102 of file MipsABIInfo.cpp.
References ArePtrs64bit().
The registers to use for byval arguments.
Definition at line 26 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 42 of file MipsABIInfo.cpp.
References llvm::CallingConv::Fast, IsEABI(), IsN32(), IsN64(), IsO32(), and llvm_unreachable.
Definition at line 118 of file MipsABIInfo.cpp.
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), and llvm::MipsSEFrameLowering::emitPrologue().
|
inline |
| unsigned MipsABIInfo::GetFramePtr | ( | ) | const |
Definition at line 98 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::MipsSEFrameLowering::emitEpilogue(), and llvm::MipsSEFrameLowering::emitPrologue().
| unsigned MipsABIInfo::GetNullPtr | ( | ) | const |
Definition at line 106 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), and llvm::MipsSEFrameLowering::emitPrologue().
| unsigned MipsABIInfo::GetPtrAddiuOp | ( | ) | const |
Definition at line 114 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEInstrInfo::adjustStackPtr(), and llvm::MipsSEFrameLowering::emitPrologue().
| unsigned MipsABIInfo::GetPtrAdduOp | ( | ) | const |
Definition at line 110 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::MipsSEFrameLowering::emitEpilogue(), and llvm::MipsSEFrameLowering::emitPrologue().
| unsigned MipsABIInfo::GetStackPtr | ( | ) | const |
Definition at line 94 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), and llvm::MipsSEFrameLowering::emitPrologue().
The registers to use for the variable argument list.
Definition at line 34 of file MipsABIInfo.cpp.
References IsN32(), IsN64(), IsO32(), llvm_unreachable, and llvm::makeArrayRef().
|
inline |
Definition at line 46 of file MipsABIInfo.h.
Referenced by llvm::MipsAsmPrinter::EmitStartOfAsmFile(), GetCalleeAllocdArgSizeInBytes(), and llvm::MipsSubtarget::isABI_EABI().
|
inline |
Definition at line 42 of file MipsABIInfo.h.
|
inline |
Definition at line 44 of file MipsABIInfo.h.
Referenced by computeDataLayout(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetVarArgRegs(), llvm::MipsSubtarget::isABI_N32(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inline |
Definition at line 45 of file MipsABIInfo.h.
Referenced by ArePtrs64bit(), computeDataLayout(), llvm::MipsFrameLowering::eliminateCallFramePseudoInstr(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::MipsAsmPrinter::EmitStartOfAsmFile(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetEhDataReg(), llvm::MipsTargetLowering::getOpndList(), GetVarArgRegs(), llvm::MipsSubtarget::isABI_N64(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inline |
Definition at line 43 of file MipsABIInfo.h.
Referenced by llvm::MipsAsmPrinter::EmitStartOfAsmFile(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetVarArgRegs(), llvm::MipsTargetLowering::HandleByVal(), and llvm::MipsSubtarget::isABI_O32().
|
inlinestatic |
Definition at line 36 of file MipsABIInfo.h.
References MipsABIInfo(), and N32.
Referenced by computeTargetABI().
|
inlinestatic |
Definition at line 37 of file MipsABIInfo.h.
References MipsABIInfo(), and N64.
Referenced by computeTargetABI().
|
inlinestatic |
Definition at line 35 of file MipsABIInfo.h.
References MipsABIInfo(), and O32.
Referenced by computeTargetABI().
|
inline |
Ordering of ABI's MipsGenSubtargetInfo.inc will use this to resolve conflicts when given multiple ABI options.
Definition at line 62 of file MipsABIInfo.h.
References GetEnumValue(), and ThisABI.
|
inlinestatic |
Definition at line 34 of file MipsABIInfo.h.
References MipsABIInfo(), and Unknown.
Referenced by computeTargetABI().
|
protected |
Definition at line 29 of file MipsABIInfo.h.
Referenced by GetEnumValue(), IsEABI(), IsKnown(), IsN32(), IsN64(), IsO32(), and operator<().
1.8.6