LLVM
8.0.1
|
#include "Target/Mips/MCTargetDesc/MipsABIInfo.h"
Public Types | |
enum | ABI { ABI::Unknown, ABI::O32, ABI::N32, ABI::N64 } |
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 24 of file MipsABIInfo.h.
|
strong |
Enumerator | |
---|---|
Unknown | |
O32 | |
N32 | |
N64 |
Definition at line 26 of file MipsABIInfo.h.
|
inline |
|
inline |
Definition at line 76 of file MipsABIInfo.h.
References GetEhDataReg(), I, IsN32(), and IsN64().
Referenced by GetZeroReg().
|
inline |
Definition at line 75 of file MipsABIInfo.h.
References IsN64().
Referenced by countMCSymbolRefExpr(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsSEFrameLowering::emitPrologue(), GetBasePtr(), GetFramePtr(), GetGlobalPtr(), GetGPRMoveOp(), GetNullPtr(), llvm::MipsRegisterInfo::getPointerRegClass(), GetPtrAddiuOp(), GetPtrAdduOp(), GetPtrAndOp(), GetPtrSubuOp(), GetStackPtr(), isShiftedUIntAtAnyPosition(), llvm::MipsSEInstrInfo::loadRegFromStack(), nextReg(), and llvm::MipsSEFrameLowering::spillCalleeSavedRegisters().
|
static |
Definition at line 57 of file MipsABIInfo.cpp.
References assert(), llvm::StringRef::empty(), llvm::MCTargetOptions::getABIName(), llvm::Triple::getEnvironment(), llvm::Triple::GNUABIN32, llvm::Triple::isMIPS64(), N32(), N64(), O32(), and llvm::StringRef::startswith().
Referenced by computeDataLayout(), llvm::createMipsAsmBackend(), and N64().
unsigned MipsABIInfo::GetBasePtr | ( | ) | const |
Definition at line 82 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEFrameLowering::getFrameIndexReference(), and operator<().
The registers to use for byval arguments.
Definition at line 33 of file MipsABIInfo.cpp.
References IsN32(), IsN64(), IsO32(), llvm_unreachable, and llvm::makeArrayRef().
Referenced by GetEnumValue(), llvm::MipsTargetLowering::getTypeForExtReturn(), and 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 49 of file MipsABIInfo.cpp.
References llvm::CallingConv::Fast, IsN32(), IsN64(), IsO32(), and llvm_unreachable.
Referenced by GetEnumValue(), llvm::MipsTargetLowering::getTypeForExtReturn(), llvm::MipsCallLowering::lowerCall(), llvm::MipsCallLowering::lowerFormalArguments(), and UnpackFromArgumentSlot().
Definition at line 118 of file MipsABIInfo.cpp.
Referenced by AreGprs64bit(), llvm::MipsSEFrameLowering::emitEpilogue(), and llvm::MipsSEFrameLowering::emitPrologue().
|
inline |
Definition at line 45 of file MipsABIInfo.h.
References GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetVarArgRegs(), and ThisABI.
Referenced by operator<().
unsigned MipsABIInfo::GetFramePtr | ( | ) | const |
Definition at line 78 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::getFrameIndexReference(), and operator<().
unsigned MipsABIInfo::GetGlobalPtr | ( | ) | const |
Definition at line 86 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by isShiftedUIntAtAnyPosition(), and operator<().
unsigned MipsABIInfo::GetGPRMoveOp | ( | ) | const |
Definition at line 114 of file MipsABIInfo.cpp.
References ArePtrs64bit(), and OR.
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), and operator<().
unsigned MipsABIInfo::GetNullPtr | ( | ) | const |
Definition at line 90 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsSEFrameLowering::emitPrologue(), isShiftedUIntAtAnyPosition(), and operator<().
unsigned MipsABIInfo::GetPtrAddiuOp | ( | ) | const |
Definition at line 102 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsSEFrameLowering::emitPrologue(), and operator<().
unsigned MipsABIInfo::GetPtrAdduOp | ( | ) | const |
Definition at line 98 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEInstrInfo::adjustStackPtr(), isShiftedUIntAtAnyPosition(), llvm::MipsSEInstrInfo::loadImmediate(), and operator<().
unsigned MipsABIInfo::GetPtrAndOp | ( | ) | const |
Definition at line 110 of file MipsABIInfo.cpp.
References llvm::ISD::AND, and ArePtrs64bit().
Referenced by llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), and operator<().
unsigned MipsABIInfo::GetPtrSubuOp | ( | ) | const |
Definition at line 106 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEInstrInfo::adjustStackPtr(), and operator<().
unsigned MipsABIInfo::GetStackPtr | ( | ) | const |
Definition at line 74 of file MipsABIInfo.cpp.
References ArePtrs64bit().
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::getFrameIndexReference(), and operator<().
The registers to use for the variable argument list.
Definition at line 41 of file MipsABIInfo.cpp.
References IsN32(), IsN64(), IsO32(), llvm_unreachable, and llvm::makeArrayRef().
Referenced by GetEnumValue(), and llvm::MipsTargetLowering::getTypeForExtReturn().
unsigned MipsABIInfo::GetZeroReg | ( | ) | const |
Definition at line 94 of file MipsABIInfo.cpp.
References AreGprs64bit().
Referenced by llvm::MipsInstrInfo::getEquivalentCompactForm(), isShiftedUIntAtAnyPosition(), and operator<().
|
inline |
Definition at line 41 of file MipsABIInfo.h.
References Unknown.
|
inline |
Definition at line 43 of file MipsABIInfo.h.
References N32.
Referenced by AreGprs64bit(), computeDataLayout(), llvm::createMipsAsmBackend(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetVarArgRegs(), llvm::MipsSubtarget::isABI_N32(), llvm::MipsTargetLowering::MipsTargetLowering(), and UnpackFromArgumentSlot().
|
inline |
Definition at line 44 of file MipsABIInfo.h.
References N64.
Referenced by AreGprs64bit(), ArePtrs64bit(), computeDataLayout(), llvm::MipsFrameLowering::eliminateCallFramePseudoInstr(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::MipsSEFrameLowering::emitPrologue(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetEhDataReg(), llvm::MipsTargetLowering::getOpndList(), llvm::MipsTargetLowering::getTypeForExtReturn(), GetVarArgRegs(), llvm::MipsSubtarget::isABI_N64(), lowerFCOPYSIGN64(), llvm::MipsTargetLowering::MipsTargetLowering(), and UnpackFromArgumentSlot().
|
inline |
Definition at line 42 of file MipsABIInfo.h.
References O32.
Referenced by computeDataLayout(), llvm::MipsTargetLowering::createFastISel(), llvm::MipsAsmPrinter::EmitStartOfAsmFile(), GetByValArgRegs(), GetCalleeAllocdArgSizeInBytes(), GetVarArgRegs(), llvm::MipsTargetLowering::HandleByVal(), llvm::MipsSubtarget::isABI_O32(), isShiftedUIntAtAnyPosition(), llvm::MipsTargetLowering::MipsTargetLowering(), and UnpackFromArgumentSlot().
|
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 computeTargetABI(), MipsABIInfo(), and N64.
Referenced by computeTargetABI(), and llvm::MipsTargetELFStreamer::MipsTargetELFStreamer().
|
inlinestatic |
Definition at line 35 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 60 of file MipsABIInfo.h.
References GetBasePtr(), GetEnumValue(), GetFramePtr(), GetGlobalPtr(), GetGPRMoveOp(), GetNullPtr(), GetPtrAddiuOp(), GetPtrAdduOp(), GetPtrAndOp(), GetPtrSubuOp(), GetStackPtr(), and GetZeroReg().
|
inlinestatic |
Definition at line 34 of file MipsABIInfo.h.
References MipsABIInfo(), and Unknown.
|
protected |
Definition at line 29 of file MipsABIInfo.h.
Referenced by GetEnumValue().