LLVM: lib/Target/AMDGPU/SIFoldOperands.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "si-fold-operands"
Functions
static const TargetRegisterClass * getRegOpRC (const MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, const MachineOperand &MO)
static unsigned macToMad (unsigned Opc)
static void appendFoldCandidate (SmallVectorImpl< FoldCandidate > &FoldList, FoldCandidate &&Entry)
static void appendFoldCandidate (SmallVectorImpl< FoldCandidate > &FoldList, MachineInstr *MI, unsigned OpNo, const FoldableDef &FoldOp, bool Commuted=false, int ShrinkOp=-1)
static bool isPKF32InstrReplicatesLower32BitsOfScalarOperand (const GCNSubtarget *ST, MachineInstr *MI, unsigned OpNo)
static bool checkImmOpForPKF32InstrReplicatesLower32BitsOfScalarOperand (const FoldableDef &OpToFold)
static MachineOperand * lookUpCopyChain (const SIInstrInfo &TII, const MachineRegisterInfo &MRI, Register SrcReg)
static bool evalBinaryInstruction (unsigned Opcode, int32_t &Result, uint32_t LHS, uint32_t RHS)
static unsigned getMovOpc (bool IsScalar)
static int getOModValue (unsigned Opc, int64_t Val)
static bool isAGPRCopy (const SIRegisterInfo &TRI, const MachineRegisterInfo &MRI, const MachineInstr &Copy, Register &OutReg, unsigned &OutSubReg)
Checks whether Copy is a AGPR -> VGPR copy.

DEBUG_TYPE

#define DEBUG_TYPE "si-fold-operands"

appendFoldCandidate() [1/2]

void appendFoldCandidate ( SmallVectorImpl< FoldCandidate > & FoldList, FoldCandidate && Entry ) static

appendFoldCandidate() [2/2]

checkImmOpForPKF32InstrReplicatesLower32BitsOfScalarOperand()

bool checkImmOpForPKF32InstrReplicatesLower32BitsOfScalarOperand ( const FoldableDef & OpToFold) static

evalBinaryInstruction()

getMovOpc()

getOModValue()

int getOModValue ( unsigned Opc, int64_t Val ) static

getRegOpRC()

isAGPRCopy()

isPKF32InstrReplicatesLower32BitsOfScalarOperand()

lookUpCopyChain()

macToMad()