LLVM API Documentation
Defines an instruction selector for the AMDGPU target. More...
#include "AMDGPUInstrInfo.h"#include "AMDGPUISelLowering.h"#include "AMDGPURegisterInfo.h"#include "AMDGPUSubtarget.h"#include "R600InstrInfo.h"#include "SIDefines.h"#include "SIISelLowering.h"#include "SIMachineFunctionInfo.h"#include "llvm/CodeGen/FunctionLoweringInfo.h"#include "llvm/CodeGen/PseudoSourceValue.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/SelectionDAG.h"#include "llvm/CodeGen/SelectionDAGISel.h"#include "llvm/IR/Function.h"#include "AMDGPUGenDAGISel.inc"
Go to the source code of this file.
Functions | |
| static SDValue | wrapAddr64Rsrc (SelectionDAG *DAG, SDLoc DL, SDValue Ptr) |
| static bool | isLegalMUBUFImmOffset (const ConstantSDNode *Imm) |
| static SDValue | buildRSRC (SelectionDAG *DAG, SDLoc DL, SDValue Ptr, uint32_t RsrcDword1, uint64_t RsrcDword2And3) |
| static SDValue | buildScratchRSRC (SelectionDAG *DAG, SDLoc DL, SDValue Ptr) |
| Return a resource descriptor with the 'Add TID' bit enabled The TID (Thread ID) is multipled by the stride value (bits [61:48] of the resource descriptor) to create an offset, which is added to the resource ponter. | |
Defines an instruction selector for the AMDGPU target.
Definition in file AMDGPUISelDAGToDAG.cpp.
| static SDValue buildRSRC | ( | SelectionDAG * | DAG, |
| SDLoc | DL, | ||
| SDValue | Ptr, | ||
| uint32_t | RsrcDword1, | ||
| uint64_t | RsrcDword2And3 | ||
| ) | [static] |
Definition at line 912 of file AMDGPUISelDAGToDAG.cpp.
References llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getTargetConstant(), and llvm::SelectionDAG::getTargetExtractSubreg().
Referenced by buildScratchRSRC().
| static SDValue buildScratchRSRC | ( | SelectionDAG * | DAG, |
| SDLoc | DL, | ||
| SDValue | Ptr | ||
| ) | [static] |
Return a resource descriptor with the 'Add TID' bit enabled The TID (Thread ID) is multipled by the stride value (bits [61:48] of the resource descriptor) to create an offset, which is added to the resource ponter.
Definition at line 934 of file AMDGPUISelDAGToDAG.cpp.
References buildRSRC(), llvm::AMDGPU::RSRC_DATA_FORMAT, and llvm::AMDGPU::RSRC_TID_ENABLE.
| static bool isLegalMUBUFImmOffset | ( | const ConstantSDNode * | Imm | ) | [static] |
Definition at line 831 of file AMDGPUISelDAGToDAG.cpp.
References llvm::ConstantSDNode::getZExtValue().
| static SDValue wrapAddr64Rsrc | ( | SelectionDAG * | DAG, |
| SDLoc | DL, | ||
| SDValue | Ptr | ||
| ) | [static] |
Definition at line 826 of file AMDGPUISelDAGToDAG.cpp.
References llvm::SelectionDAG::getMachineNode().