LLVM 22.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/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 38 of file AMDGPUISelDAGToDAG.cpp.
|
static |
Definition at line 4132 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::AND, BitOp3_Op(), llvm::CallingConv::C, llvm::dyn_cast(), I, LHS, llvm::ISD::OR, RHS, and llvm::ISD::XOR.
|
static |
Definition at line 3664 of file AMDGPUISelDAGToDAG.cpp.
References buildRegSequence16(), buildRegSequence32(), DL, and llvm_unreachable.
|
static |
Definition at line 3638 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().
|
static |
Definition at line 3606 of file AMDGPUISelDAGToDAG.cpp.
References AbstractManglingParser< Derived, Alloc >::Ops, DL, llvm::SelectionDAG::getMachineNode(), llvm::SIRegisterInfo::getSubRegFromChannel(), llvm::SelectionDAG::getTargetConstant(), llvm_unreachable, and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by buildRegSequence(), and buildRegSequence16().
|
static |
Definition at line 3706 of file AMDGPUISelDAGToDAG.cpp.
References llvm::dyn_cast(), llvm::SDNode::getNumOperands(), and llvm::SDNode::getOperand().
Definition at line 2774 of file AMDGPUISelDAGToDAG.cpp.
References assert(), llvm::cast(), Cond, llvm::isBoolSGPR(), llvm::ISD::isExtOpcode(), llvm::isNullConstant(), SDValue(), llvm::AMDGPUISD::SETCC, llvm::ISD::SETEQ, and llvm::ISD::SETNE.
Definition at line 1793 of file AMDGPUISelDAGToDAG.cpp.
References assert(), llvm::dyn_cast(), llvm::SDValue::getNode(), llvm::isa(), llvm_unreachable, N, SDValue(), and llvm::AMDGPUTargetLowering::stripBitcast().
|
static |
Definition at line 882 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::SDValue::getConstantOperandVal(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm::isa(), llvm::SelectionDAG::isBaseWithConstantOffset(), llvm::Lo, and llvm::ISD::OR.
Definition at line 2968 of file AMDGPUISelDAGToDAG.cpp.
References llvm_unreachable.
INITIALIZE_PASS_BEGIN | ( | AMDGPUDAGToDAGISelLegacy | , |
"amdgpu-isel" | , | ||
"AMDGPU DAG->DAG Pattern Instruction Selection" | , | ||
false | , | ||
false | ) |
References INITIALIZE_PASS_DEPENDENCY.
|
static |
Definition at line 1702 of file AMDGPUISelDAGToDAG.cpp.
References llvm::cast(), llvm::ISD::CopyFromReg, llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), Reg, and TRI.
Definition at line 1337 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::ADD, llvm::SDNode::getFlags(), llvm::SDNode::getOpcode(), llvm::SDValue::getOpcode(), llvm::SDNodeFlags::hasNoUnsignedWrap(), and llvm::ISD::OR.
Definition at line 3998 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::AND, llvm::ISD::BUILD_VECTOR, llvm::dyn_cast(), llvm::ConstantSDNode::getZExtValue(), SDValue(), and llvm::ISD::SHL.
|
static |
Definition at line 1921 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::ANY_EXTEND, llvm::SDValue::getValueType(), SDValue(), llvm::ISD::SIGN_EXTEND, llvm::SelectionDAG::SignBitIsZero(), and llvm::ISD::ZERO_EXTEND.
|
static |
Definition at line 2158 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ISD::ADD, llvm::cast(), llvm::dyn_cast(), llvm::SelectionDAG::getMachineNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SelectionDAG::getTargetFrameIndex(), llvm::isa(), and SDValue().
|
static |
Definition at line 3674 of file AMDGPUISelDAGToDAG.cpp.
References assert(), buildRegSequence(), DL, llvm::SISrcMods::NEG, llvm::SISrcMods::NEG_HI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), SDValue(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
amdgpu AMDGPU DAG DAG Pattern Instruction false |
Definition at line 145 of file AMDGPUISelDAGToDAG.cpp.
amdgpu isel |
Definition at line 144 of file AMDGPUISelDAGToDAG.cpp.
amdgpu AMDGPU DAG DAG Pattern Instruction Selection |
Definition at line 145 of file AMDGPUISelDAGToDAG.cpp.
Referenced by llvm::logicalview::LVPatterns::addRequest(), llvm::logicalview::LVPatterns::addRequest(), llvm::logicalview::LVPatterns::addRequest(), llvm::logicalview::LVPatterns::addRequest(), llvm::logicalview::LVPatterns::addRequest(), llvm::MCContext::getCOFFSection(), llvm::TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(), llvm::MCObjectFileInfo::getPseudoProbeSection(), and llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal().