22 cl::desc(
"MIPS: Emit R_{MICRO}MIPS_JALR relocation with jalr"),
26 static const MCPhysReg O32IntRegs[4] = {Mips::A0, Mips::A1, Mips::A2, Mips::A3};
28 static const MCPhysReg Mips64IntRegs[8] = {
29 Mips::A0_64, Mips::A1_64, Mips::A2_64, Mips::A3_64,
30 Mips::T0_64, Mips::T1_64, Mips::T2_64, Mips::T3_64};
119 static const unsigned EhDataReg[] = {
120 Mips::A0, Mips::A1, Mips::A2, Mips::A3
122 static const unsigned EhDataReg64[] = {
123 Mips::A0_64, Mips::A1_64, Mips::A2_64, Mips::A3_64
126 return IsN64() ? EhDataReg64[
I] : EhDataReg[
I];
unsigned GetPtrAdduOp() const
bool isMIPS64() const
Tests whether the target is MIPS 64-bit (little and big endian).
This class represents lattice values for constants.
bool ArePtrs64bit() const
unsigned GetEhDataReg(unsigned I) const
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
unsigned GetCalleeAllocdArgSizeInBytes(CallingConv::ID CC) const
Obtain the size of the area allocated by the callee for arguments.
unsigned GetGlobalPtr() const
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE bool startswith(StringRef Prefix) const
Check if this string starts with the given Prefix.
Fast - This calling convention attempts to make calls as fast as possible (e.g.
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE bool empty() const
empty - Check if the string is empty.
ArrayRef< MCPhysReg > GetByValArgRegs() const
The registers to use for byval arguments.
unsigned GetPtrAndOp() const
uint16_t MCPhysReg
An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...
initializer< Ty > init(const Ty &Val)
unsigned GetPtrAddiuOp() const
static ManagedStatic< OptionRegistry > OR
cl::opt< bool > EmitJalrReloc("mips-jalr-reloc", cl::Hidden, cl::desc("MIPS: Emit R_{MICRO}MIPS_JALR relocation with jalr"), cl::init(true))
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Triple - Helper class for working with autoconf configuration names.
bool AreGprs64bit() const
EnvironmentType getEnvironment() const
getEnvironment - Get the parsed environment type of this triple.
unsigned GetPtrSubuOp() const
ArrayRef< MCPhysReg > GetVarArgRegs() const
The registers to use for the variable argument list.
StringRef getABIName() const
getABIName - If this returns a non-empty string this represents the textual name of the ABI that we w...
Bitwise operators - logical and, logical or, logical xor.
unsigned GetBasePtr() const
unsigned GetZeroReg() const
unsigned GetGPRMoveOp() const
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static MipsABIInfo computeTargetABI(const Triple &TT, StringRef CPU, const MCTargetOptions &Options)
unsigned GetStackPtr() const
StringRef - Represent a constant reference to a string, i.e.
unsigned GetNullPtr() const
unsigned GetFramePtr() const