LLVM  4.0.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
llvm::MipsABIInfo Class Reference

#include <MipsABIInfo.h>

Collaboration diagram for llvm::MipsABIInfo:
[legend]

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< MCPhysRegGetByValArgRegs () const
 The registers to use for byval arguments. More...
 
ArrayRef< MCPhysRegGetVarArgRegs () 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
 

Detailed Description

Definition at line 24 of file MipsABIInfo.h.

Member Enumeration Documentation

Enumerator
Unknown 
O32 
N32 
N64 

Definition at line 26 of file MipsABIInfo.h.

Constructor & Destructor Documentation

llvm::MipsABIInfo::MipsABIInfo ( ABI  ThisABI)
inline

Definition at line 32 of file MipsABIInfo.h.

Referenced by N32(), N64(), O32(), and Unknown().

Member Function Documentation

bool llvm::MipsABIInfo::AreGprs64bit ( ) const
inline

Definition at line 76 of file MipsABIInfo.h.

References IsN32(), and IsN64().

Referenced by GetZeroReg().

bool llvm::MipsABIInfo::ArePtrs64bit ( ) const
inline
MipsABIInfo MipsABIInfo::computeTargetABI ( const Triple TT,
StringRef  CPU,
const MCTargetOptions Options 
)
static
unsigned MipsABIInfo::GetBasePtr ( ) const

Definition at line 73 of file MipsABIInfo.cpp.

References ArePtrs64bit().

Referenced by llvm::MipsSEFrameLowering::getFrameIndexReference().

ArrayRef< MCPhysReg > MipsABIInfo::GetByValArgRegs ( ) const

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, IsN32(), IsN64(), IsO32(), and llvm_unreachable.

unsigned MipsABIInfo::GetEhDataReg ( unsigned  I) const

Definition at line 109 of file MipsABIInfo.cpp.

References I, and IsN64().

Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), and llvm::MipsSEFrameLowering::emitPrologue().

ABI llvm::MipsABIInfo::GetEnumValue ( ) const
inline

Definition at line 45 of file MipsABIInfo.h.

References ThisABI.

Referenced by operator<().

unsigned MipsABIInfo::GetFramePtr ( ) const
unsigned MipsABIInfo::GetGlobalPtr ( ) const

Definition at line 77 of file MipsABIInfo.cpp.

References ArePtrs64bit().

unsigned MipsABIInfo::GetGPRMoveOp ( ) const
unsigned MipsABIInfo::GetNullPtr ( ) const
unsigned MipsABIInfo::GetPtrAddiuOp ( ) const
unsigned MipsABIInfo::GetPtrAdduOp ( ) const

Definition at line 89 of file MipsABIInfo.cpp.

References ArePtrs64bit().

Referenced by llvm::MipsSEInstrInfo::adjustStackPtr().

unsigned MipsABIInfo::GetPtrAndOp ( ) const

Definition at line 101 of file MipsABIInfo.cpp.

References llvm::ISD::AND, and ArePtrs64bit().

unsigned MipsABIInfo::GetPtrSubuOp ( ) const

Definition at line 97 of file MipsABIInfo.cpp.

References ArePtrs64bit().

Referenced by llvm::MipsSEInstrInfo::adjustStackPtr().

unsigned MipsABIInfo::GetStackPtr ( ) const
ArrayRef< MCPhysReg > MipsABIInfo::GetVarArgRegs ( ) const

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().

unsigned MipsABIInfo::GetZeroReg ( ) const

Definition at line 85 of file MipsABIInfo.cpp.

References AreGprs64bit().

Referenced by llvm::MipsInstrInfo::getEquivalentCompactForm().

bool llvm::MipsABIInfo::IsKnown ( ) const
inline

Definition at line 41 of file MipsABIInfo.h.

References ThisABI, and Unknown.

bool llvm::MipsABIInfo::IsN32 ( ) const
inline
bool llvm::MipsABIInfo::IsN64 ( ) const
inline
bool llvm::MipsABIInfo::IsO32 ( ) const
inline
static MipsABIInfo llvm::MipsABIInfo::N32 ( )
inlinestatic

Definition at line 36 of file MipsABIInfo.h.

References MipsABIInfo(), and N32.

Referenced by computeTargetABI().

static MipsABIInfo llvm::MipsABIInfo::N64 ( )
inlinestatic

Definition at line 37 of file MipsABIInfo.h.

References MipsABIInfo(), and N64.

Referenced by computeTargetABI().

static MipsABIInfo llvm::MipsABIInfo::O32 ( )
inlinestatic

Definition at line 35 of file MipsABIInfo.h.

References MipsABIInfo(), and O32.

Referenced by computeTargetABI().

bool llvm::MipsABIInfo::operator< ( const MipsABIInfo  Other) const
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 GetEnumValue(), and ThisABI.

static MipsABIInfo llvm::MipsABIInfo::Unknown ( )
inlinestatic

Definition at line 34 of file MipsABIInfo.h.

References MipsABIInfo(), and Unknown.

Member Data Documentation

ABI llvm::MipsABIInfo::ThisABI
protected

Definition at line 29 of file MipsABIInfo.h.

Referenced by GetEnumValue(), IsKnown(), IsN32(), IsN64(), IsO32(), and operator<().


The documentation for this class was generated from the following files: