LLVM: lib/Target/Mips/MicroMipsSizeReduction.cpp File Reference (original) (raw)

This pass is used to reduce the size of instructions where applicable. More...

Go to the source code of this file.

Macros
#define DEBUG_TYPE "micromips-reduce-size"
#define MICROMIPS_SIZE_REDUCE_NAME "MicroMips instruction size reduce pass"
Functions
STATISTIC (NumReduced, "Number of instructions reduced (32-bit to 16-bit ones, " "or two instructions into one")
INITIALIZE_PASS (MicroMipsSizeReduce, DEBUG_TYPE, MICROMIPS_SIZE_REDUCE_NAME, false, false) static bool IsSP(const MachineOperand &MO)
static bool isMMThreeBitGPRegister (const MachineOperand &MO)
static bool isMMSourceRegister (const MachineOperand &MO)
static bool GetImm (MachineInstr *MI, unsigned Op, int64_t &Imm)
static bool AddiuspImmValue (int64_t Value)
static bool InRange (int64_t Value, unsigned short Shift, int LBound, int HBound)
static bool ImmInRange (MachineInstr *MI, const ReduceEntry &Entry)
static bool CheckXWPInstr (MachineInstr *MI, bool ReduceToLwp, const ReduceEntry &Entry)
static bool ConsecutiveRegisters (unsigned Reg1, unsigned Reg2)
static bool ConsecutiveInstr (MachineInstr *MI1, MachineInstr *MI2)
static bool IsMovepSrcRegister (unsigned Reg)
static bool IsMovepDestinationReg (unsigned Reg)
static bool IsMovepDestinationRegPair (unsigned R0, unsigned R1)

This pass is used to reduce the size of instructions where applicable.

TODO: Implement microMIPS64 support.

Definition in file MicroMipsSizeReduction.cpp.

DEBUG_TYPE

#define DEBUG_TYPE "micromips-reduce-size"

MICROMIPS_SIZE_REDUCE_NAME

#define MICROMIPS_SIZE_REDUCE_NAME "MicroMips instruction size reduce pass"

AddiuspImmValue()

bool AddiuspImmValue ( int64_t Value) static

CheckXWPInstr()

ConsecutiveInstr()

ConsecutiveRegisters()

GetImm()

ImmInRange()

INITIALIZE_PASS()

INITIALIZE_PASS ( MicroMipsSizeReduce ,
DEBUG_TYPE ,
MICROMIPS_SIZE_REDUCE_NAME ,
false ,
false ) const &

InRange()

bool InRange ( int64_t Value, unsigned short Shift, int LBound, int HBound ) static

isMMSourceRegister()

isMMThreeBitGPRegister()

IsMovepDestinationReg()

IsMovepDestinationRegPair()

IsMovepSrcRegister()

STATISTIC()