LLVM 20.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 "SIISelLowering.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" |
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 39 of file AMDGPUISelDAGToDAG.cpp.
|
static |
Definition at line 3175 of file AMDGPUISelDAGToDAG.cpp.
References buildRegSequence16(), buildRegSequence32(), DL, and llvm_unreachable.
|
static |
Definition at line 3149 of file AMDGPUISelDAGToDAG.cpp.
References assert(), buildRegSequence32(), DL, llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getTargetConstant(), isExtractHiElt(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorBase< Size_T >::size().
Referenced by buildRegSequence().
|
static |
Definition at line 3117 of file AMDGPUISelDAGToDAG.cpp.
References DL, llvm::SelectionDAG::getMachineNode(), llvm::SIRegisterInfo::getSubRegFromChannel(), llvm::SelectionDAG::getTargetConstant(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorBase< Size_T >::size().
Referenced by buildRegSequence(), and buildRegSequence16().
|
static |
Definition at line 3217 of file AMDGPUISelDAGToDAG.cpp.
References llvm::SDNode::getNumOperands(), and llvm::SDNode::getOperand().
Definition at line 2405 of file AMDGPUISelDAGToDAG.cpp.
References assert(), Cond, llvm::isBoolSGPR(), llvm::ISD::isExtOpcode(), llvm::isNullConstant(), llvm::AMDGPUISD::SETCC, llvm::ISD::SETEQ, and llvm::ISD::SETNE.
Definition at line 1628 of file AMDGPUISelDAGToDAG.cpp.
References assert(), llvm::SDValue::getNode(), llvm_unreachable, N, and llvm::AMDGPUTargetLowering::stripBitcast().
|
static |
Definition at line 731 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 2587 of file AMDGPUISelDAGToDAG.cpp.
References llvm_unreachable.
INITIALIZE_PASS_BEGIN | ( | AMDGPUDAGToDAGISelLegacy | , |
"amdgpu-isel" | , | ||
"AMDGPU DAG->DAG Pattern Instruction Selection" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 1536 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::CopyFromReg, llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), and TRI.
Definition at line 1171 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::ADD, Addr, and llvm::ISD::OR.
Definition at line 1755 of file AMDGPUISelDAGToDAG.cpp.
References llvm::SDValue::getValueType(), and llvm::ISD::ZERO_EXTEND.
|
static |
Definition at line 1859 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::ADD, llvm::SelectionDAG::getMachineNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), and llvm::SelectionDAG::getTargetFrameIndex().
|
static |
Definition at line 3185 of file AMDGPUISelDAGToDAG.cpp.
References assert(), buildRegSequence(), DL, llvm::ISD::FABS, llvm::ISD::FNEG, llvm::SISrcMods::NEG, llvm::SISrcMods::NEG_HI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorBase< Size_T >::size().
amdgpu AMDGPU DAG DAG Pattern Instruction false |
Definition at line 112 of file AMDGPUISelDAGToDAG.cpp.
amdgpu isel |
Definition at line 111 of file AMDGPUISelDAGToDAG.cpp.
amdgpu AMDGPU DAG DAG Pattern Instruction Selection |
Definition at line 112 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().