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

Defines an instruction selector for the AMDGPU target. More...

Go to the source code of this file.

Macros
#define DEBUG_TYPE "amdgpu-isel"
Functions
INITIALIZE_PASS_BEGIN (AMDGPUDAGToDAGISelLegacy, "amdgpu-isel", "AMDGPU DAG->DAG Pattern Instruction Selection", false, false) INITIALIZE_PASS_END(AMDGPUDAGToDAGISelLegacy
static bool getBaseWithOffsetUsingSplitOR (SelectionDAG &DAG, SDValue Addr, SDValue &N0, SDValue &N1)
static bool isNoUnsignedWrap (SDValue Addr)
static bool IsCopyFromSGPR (const SIRegisterInfo &TRI, SDValue Val)
static MemSDNode * findMemSDNode (SDNode *N)
static SDValue matchExtFromI32orI32 (SDValue Op, bool IsSigned, const SelectionDAG *DAG)
static SDValue SelectSAddrFI (SelectionDAG *CurDAG, SDValue SAddr)
static SDValue combineBallotPattern (SDValue VCMP, bool &Negate)
static unsigned gwsIntrinToOpcode (unsigned IntrID)
static MachineSDNode * buildRegSequence32 (SmallVectorImpl< SDValue > &Elts, llvm::SelectionDAG *CurDAG, const SDLoc &DL)
static MachineSDNode * buildRegSequence16 (SmallVectorImpl< SDValue > &Elts, llvm::SelectionDAG *CurDAG, const SDLoc &DL)
static MachineSDNode * buildRegSequence (SmallVectorImpl< SDValue > &Elts, llvm::SelectionDAG *CurDAG, const SDLoc &DL, unsigned ElementSize)
static void selectWMMAModsNegAbs (unsigned ModOpcode, unsigned &Mods, SmallVectorImpl< SDValue > &Elts, SDValue &Src, llvm::SelectionDAG *CurDAG, const SDLoc &DL, unsigned ElementSize)
static void checkWMMAElementsModifiersF16 (BuildVectorSDNode *BV, std::function< bool(SDValue)> ModifierCheck)
static SDValue matchBF16FPExtendLike (SDValue Op, bool &IsExtractHigh)
static std::pair< unsigned, uint8_t > BitOp3_Op (SDValue In, SmallVectorImpl< SDValue > &Src)

Defines an instruction selector for the AMDGPU target.

Definition in file AMDGPUISelDAGToDAG.cpp.

DEBUG_TYPE

#define DEBUG_TYPE "amdgpu-isel"

BitOp3_Op()

buildRegSequence()

buildRegSequence16()

Definition at line 3707 of file AMDGPUISelDAGToDAG.cpp.

References assert(), buildRegSequence32(), DL, llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getTargetConstant(), isExtractHiElt(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), SDValue(), and llvm::SmallVectorTemplateCommon< T, typename >::size().

Referenced by buildRegSequence().

buildRegSequence32()

checkWMMAElementsModifiersF16()

combineBallotPattern()

Definition at line 2814 of file AMDGPUISelDAGToDAG.cpp.

References assert(), llvm::cast(), Cond, llvm::SDNode::getOpcode(), llvm::SDValue::getOperand(), llvm::isBoolSGPR(), llvm::ISD::isExtOpcode(), llvm::isNullConstant(), SDValue(), llvm::ISD::SETEQ, and llvm::ISD::SETNE.

findMemSDNode()

getBaseWithOffsetUsingSplitOR()

gwsIntrinToOpcode()

INITIALIZE_PASS_BEGIN()

IsCopyFromSGPR()

isNoUnsignedWrap()

matchBF16FPExtendLike()

matchExtFromI32orI32()

SelectSAddrFI()

selectWMMAModsNegAbs()

false

isel

Selection