LLVM 18.0.0git
|
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 "SIMachineFunctionInfo.h"
#include "llvm/Analysis/UniformityAnalysis.h"
#include "llvm/Analysis/ValueTracking.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/InitializePasses.h"
#include "llvm/Support/ErrorHandling.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "amdgpu-isel" |
Functions | |
INITIALIZE_PASS_BEGIN (AMDGPUDAGToDAGISel, "amdgpu-isel", "AMDGPU DAG->DAG Pattern Instruction Selection", false, false) INITIALIZE_PASS_END(AMDGPUDAGToDAGISel | |
static bool | getBaseWithOffsetUsingSplitOR (SelectionDAG &DAG, SDValue Addr, SDValue &N0, SDValue &N1) |
static bool | IsCopyFromSGPR (const SIRegisterInfo &TRI, SDValue Val) |
static MemSDNode * | findMemSDNode (SDNode *N) |
static SDValue | matchZExtFromI32 (SDValue Op) |
static SDValue | SelectSAddrFI (SelectionDAG *CurDAG, SDValue SAddr) |
static unsigned | gwsIntrinToOpcode (unsigned IntrID) |
Variables | |
amdgpu | isel |
amdgpu AMDGPU DAG DAG Pattern Instruction | Selection |
amdgpu AMDGPU DAG DAG Pattern Instruction | false |
Defines an instruction selector for the AMDGPU target.
Definition in file AMDGPUISelDAGToDAG.cpp.
#define DEBUG_TYPE "amdgpu-isel" |
Definition at line 38 of file AMDGPUISelDAGToDAG.cpp.
Definition at line 1525 of file AMDGPUISelDAGToDAG.cpp.
References assert(), llvm::SDValue::getNode(), llvm_unreachable, N, and llvm::AMDGPUTargetLowering::stripBitcast().
|
static |
Definition at line 729 of file AMDGPUISelDAGToDAG.cpp.
References Addr, 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, and llvm::ISD::OR.
Definition at line 2378 of file AMDGPUISelDAGToDAG.cpp.
References llvm_unreachable.
INITIALIZE_PASS_BEGIN | ( | AMDGPUDAGToDAGISel | , |
"amdgpu-isel" | , | ||
"AMDGPU DAG->DAG Pattern Instruction Selection" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 1444 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::CopyFromReg, llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), and TRI.
Definition at line 1651 of file AMDGPUISelDAGToDAG.cpp.
References llvm::SDValue::getValueType(), and llvm::ISD::ZERO_EXTEND.
|
static |
Definition at line 1755 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::ADD, llvm::SelectionDAG::getMachineNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), and llvm::SelectionDAG::getTargetFrameIndex().
amdgpu AMDGPU DAG DAG Pattern Instruction false |
Definition at line 110 of file AMDGPUISelDAGToDAG.cpp.
amdgpu isel |
Definition at line 109 of file AMDGPUISelDAGToDAG.cpp.
amdgpu AMDGPU DAG DAG Pattern Instruction Selection |
Definition at line 110 of file AMDGPUISelDAGToDAG.cpp.
Referenced by llvm::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(), and llvm::MCSectionCOFF::setSelection().