Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Macros |Functions |Variables
AMDGPUISelDAGToDAG.cpp File Reference

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

#include "AMDGPUISelDAGToDAG.h"
#include "AMDGPU.h"
#include "AMDGPUInstrInfo.h"
#include "AMDGPUSubtarget.h"
#include "AMDGPUTargetMachine.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "MCTargetDesc/R600MCTargetDesc.h"
#include "R600RegisterInfo.h"
#include "SIISelLowering.h"
#include "SIMachineFunctionInfo.h"
#include "llvm/Analysis/UniformityAnalysis.h"
#include "llvm/CodeGen/FunctionLoweringInfo.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
#include "llvm/IR/IntrinsicsAMDGPU.h"
#include "llvm/Support/ErrorHandling.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "amdgpu-isel"
 

Functions

 INITIALIZE_PASS_BEGIN (AMDGPUDAGToDAGISelLegacy, "amdgpu-isel", "AMDGPU DAG->DAGPatternInstruction Selection", false, false)INITIALIZE_PASS_END(AMDGPUDAGToDAGISelLegacy
 
staticbool getBaseWithOffsetUsingSplitOR (SelectionDAG &DAG,SDValueAddr,SDValue &N0,SDValue &N1)
 
staticbool isNoUnsignedWrap (SDValueAddr)
 
staticbool IsCopyFromSGPR (constSIRegisterInfo &TRI,SDValue Val)
 
staticMemSDNodefindMemSDNode (SDNode *N)
 
staticSDValue matchZExtFromI32 (SDValueOp)
 
staticSDValue SelectSAddrFI (SelectionDAG *CurDAG,SDValue SAddr)
 
staticSDValue combineBallotPattern (SDValue VCMP,bool &Negate)
 
staticunsigned gwsIntrinToOpcode (unsigned IntrID)
 
staticMachineSDNodebuildRegSequence32 (SmallVectorImpl<SDValue > &Elts,llvm::SelectionDAG *CurDAG,constSDLoc &DL)
 
staticMachineSDNodebuildRegSequence16 (SmallVectorImpl<SDValue > &Elts,llvm::SelectionDAG *CurDAG,constSDLoc &DL)
 
staticMachineSDNodebuildRegSequence (SmallVectorImpl<SDValue > &Elts,llvm::SelectionDAG *CurDAG,constSDLoc &DL,unsigned ElementSize)
 
static void selectWMMAModsNegAbs (unsigned ModOpcode,unsigned &Mods,SmallVectorImpl<SDValue > &Elts,SDValue &Src,llvm::SelectionDAG *CurDAG,constSDLoc &DL,unsigned ElementSize)
 
static void checkWMMAElementsModifiersF16 (BuildVectorSDNode *BV,std::function<bool(SDValue)> ModifierCheck)
 
static std::pair<unsigned,uint8_tBitOp3_Op (SDValue In,SmallVectorImpl<SDValue > &Src)
 

Variables

amdgpu isel
 
amdgpu AMDGPU DAG DAGPatternInstruction Selection
 
amdgpu AMDGPU DAG DAGPatternInstruction false
 

Detailed Description

Defines an instruction selector for the AMDGPU target.

Definition in fileAMDGPUISelDAGToDAG.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "amdgpu-isel"

Definition at line37 of fileAMDGPUISelDAGToDAG.cpp.

Function Documentation

◆ BitOp3_Op()

static std::pair<unsigned,uint8_t > BitOp3_Op(SDValue In,
SmallVectorImpl<SDValue > & Src 
)
static

Definition at line3679 of fileAMDGPUISelDAGToDAG.cpp.

Referencesllvm::ISD::AND,BitOp3_Op(),llvm::CallingConv::C,I,LHS,llvm::ISD::OR,RHS, andllvm::ISD::XOR.

◆ buildRegSequence()

staticMachineSDNode * buildRegSequence(SmallVectorImpl<SDValue > & Elts,
llvm::SelectionDAGCurDAG,
constSDLocDL,
unsigned ElementSize 
)
static

Definition at line3324 of fileAMDGPUISelDAGToDAG.cpp.

ReferencesbuildRegSequence16(),buildRegSequence32(),DL, andllvm_unreachable.

◆ buildRegSequence16()

staticMachineSDNode * buildRegSequence16(SmallVectorImpl<SDValue > & Elts,
llvm::SelectionDAGCurDAG,
constSDLocDL 
)
static

Definition at line3298 of fileAMDGPUISelDAGToDAG.cpp.

Referencesassert(),buildRegSequence32(),DL,llvm::SelectionDAG::getMachineNode(),llvm::SelectionDAG::getTargetConstant(),isExtractHiElt(),llvm::SmallVectorTemplateBase< T, bool >::push_back(), andllvm::SmallVectorBase< Size_T >::size().

Referenced bybuildRegSequence().

◆ buildRegSequence32()

staticMachineSDNode * buildRegSequence32(SmallVectorImpl<SDValue > & Elts,
llvm::SelectionDAGCurDAG,
constSDLocDL 
)
static

Definition at line3266 of fileAMDGPUISelDAGToDAG.cpp.

ReferencesDL,llvm::SelectionDAG::getMachineNode(),llvm::SIRegisterInfo::getSubRegFromChannel(),llvm::SelectionDAG::getTargetConstant(),llvm_unreachable,llvm::SmallVectorTemplateBase< T, bool >::push_back(), andllvm::SmallVectorBase< Size_T >::size().

Referenced bybuildRegSequence(), andbuildRegSequence16().

◆ checkWMMAElementsModifiersF16()

static void checkWMMAElementsModifiersF16(BuildVectorSDNodeBV,
std::function<bool(SDValue)> ModifierCheck 
)
static

Definition at line3366 of fileAMDGPUISelDAGToDAG.cpp.

Referencesllvm::SDNode::getNumOperands(), andllvm::SDNode::getOperand().

◆ combineBallotPattern()

staticSDValue combineBallotPattern(SDValue VCMP,
boolNegate 
)
static

Definition at line2497 of fileAMDGPUISelDAGToDAG.cpp.

Referencesassert(),Cond,llvm::isBoolSGPR(),llvm::ISD::isExtOpcode(),llvm::isNullConstant(),llvm::AMDGPUISD::SETCC,llvm::ISD::SETEQ, andllvm::ISD::SETNE.

◆ findMemSDNode()

staticMemSDNode * findMemSDNode(SDNodeN)
static

Definition at line1717 of fileAMDGPUISelDAGToDAG.cpp.

Referencesassert(),llvm::SDValue::getNode(),llvm_unreachable,N, andllvm::AMDGPUTargetLowering::stripBitcast().

◆ getBaseWithOffsetUsingSplitOR()

staticbool getBaseWithOffsetUsingSplitOR(SelectionDAGDAG,
SDValue Addr,
SDValueN0,
SDValueN1 
)
static

Definition at line819 of fileAMDGPUISelDAGToDAG.cpp.

ReferencesAddr,llvm::ISD::BITCAST,llvm::ISD::BUILD_VECTOR,llvm::ISD::EXTRACT_VECTOR_ELT,llvm::SDValue::getConstantOperandVal(),llvm::SDValue::getOpcode(),llvm::SDValue::getOperand(),llvm::SelectionDAG::isBaseWithConstantOffset(),llvm::Lo, andllvm::ISD::OR.

◆ gwsIntrinToOpcode()

staticunsigned gwsIntrinToOpcode(unsigned IntrID)
static

Definition at line2679 of fileAMDGPUISelDAGToDAG.cpp.

Referencesllvm_unreachable.

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN(AMDGPUDAGToDAGISelLegacy ,
"amdgpu-isel" ,
"AMDGPU DAG->DAGPatternInstruction Selection" ,
false ,
false  
)

◆ IsCopyFromSGPR()

staticbool IsCopyFromSGPR(constSIRegisterInfoTRI,
SDValue Val 
)
static

Definition at line1625 of fileAMDGPUISelDAGToDAG.cpp.

Referencesllvm::ISD::CopyFromReg,llvm::SDValue::getOpcode(),llvm::SDValue::getOperand(), andTRI.

◆ isNoUnsignedWrap()

staticbool isNoUnsignedWrap(SDValue Addr)
static

Definition at line1260 of fileAMDGPUISelDAGToDAG.cpp.

Referencesllvm::ISD::ADD,Addr, andllvm::ISD::OR.

◆ matchZExtFromI32()

staticSDValue matchZExtFromI32(SDValue Op)
static

Definition at line1844 of fileAMDGPUISelDAGToDAG.cpp.

Referencesllvm::SDValue::getValueType(), andllvm::ISD::ZERO_EXTEND.

◆ SelectSAddrFI()

staticSDValue SelectSAddrFI(SelectionDAGCurDAG,
SDValue SAddr 
)
static

Definition at line1948 of fileAMDGPUISelDAGToDAG.cpp.

Referencesllvm::ISD::ADD,llvm::SelectionDAG::getMachineNode(),llvm::SDValue::getOpcode(),llvm::SDValue::getOperand(), andllvm::SelectionDAG::getTargetFrameIndex().

◆ selectWMMAModsNegAbs()

static void selectWMMAModsNegAbs(unsigned ModOpcode,
unsignedMods,
SmallVectorImpl<SDValue > & Elts,
SDValueSrc,
llvm::SelectionDAGCurDAG,
constSDLocDL,
unsigned ElementSize 
)
static

Definition at line3334 of fileAMDGPUISelDAGToDAG.cpp.

Referencesassert(),buildRegSequence(),DL,llvm::ISD::FABS,llvm::ISD::FNEG,llvm::SISrcMods::NEG,llvm::SISrcMods::NEG_HI,llvm::SmallVectorTemplateBase< T, bool >::push_back(), andllvm::SmallVectorBase< Size_T >::size().

Variable Documentation

◆ false

amdgpu AMDGPU DAG DAGPatternInstruction false

Definition at line110 of fileAMDGPUISelDAGToDAG.cpp.

◆ isel

amdgpu isel

Definition at line109 of fileAMDGPUISelDAGToDAG.cpp.

◆ Selection

amdgpu AMDGPU DAG DAGPatternInstruction Selection

Definition at line110 of fileAMDGPUISelDAGToDAG.cpp.

Referenced byllvm::logicalview::LVPatterns::addRequest(),llvm::MCContext::getCOFFSection(),llvm::TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(),llvm::ReservoirSampler< T, GenT >::getSelection(),llvm::MCSectionCOFF::getSelection(),llvm::ReservoirSampler< T, GenT >::sample(),llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal(), andllvm::MCSectionCOFF::setSelection().


Generated on Sun Jul 20 2025 15:03:16 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp