LLVM API Documentation
Custom DAG lowering for R600. More...
#include "R600ISelLowering.h"
#include "AMDGPUFrameLowering.h"
#include "AMDGPUIntrinsicInfo.h"
#include "AMDGPUSubtarget.h"
#include "R600Defines.h"
#include "R600InstrInfo.h"
#include "R600MachineFunctionInfo.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/Function.h"
Go to the source code of this file.
Functions | |
static int | ConstantAddressBlock (unsigned AddressSpace) |
static SDValue | CompactSwizzlableVector (SelectionDAG &DAG, SDValue VectorEntry, DenseMap< unsigned, unsigned > &RemapSwizzle) |
static SDValue | ReorganizeVector (SelectionDAG &DAG, SDValue VectorEntry, DenseMap< unsigned, unsigned > &RemapSwizzle) |
static bool | FoldOperand (SDNode *ParentNode, unsigned SrcIdx, SDValue &Src, SDValue &Neg, SDValue &Abs, SDValue &Sel, SDValue &Imm, SelectionDAG &DAG) |
Custom DAG lowering for R600.
Definition in file R600ISelLowering.cpp.
static SDValue CompactSwizzlableVector | ( | SelectionDAG & | DAG, |
SDValue | VectorEntry, | ||
DenseMap< unsigned, unsigned > & | RemapSwizzle | ||
) | [static] |
Definition at line 1771 of file R600ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::CallingConv::C, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::empty(), llvm::MVT::f32, llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SelectionDAG::getUNDEF(), llvm::SDValue::getValueType(), llvm::TargetLoweringBase::getValueType(), and llvm::ISD::UNDEF.
static int ConstantAddressBlock | ( | unsigned | AddressSpace | ) | [static] |
Definition at line 1476 of file R600ISelLowering.cpp.
References AMDGPUAS::CONSTANT_BUFFER_0, AMDGPUAS::CONSTANT_BUFFER_1, AMDGPUAS::CONSTANT_BUFFER_10, AMDGPUAS::CONSTANT_BUFFER_11, AMDGPUAS::CONSTANT_BUFFER_12, AMDGPUAS::CONSTANT_BUFFER_13, AMDGPUAS::CONSTANT_BUFFER_14, AMDGPUAS::CONSTANT_BUFFER_15, AMDGPUAS::CONSTANT_BUFFER_2, AMDGPUAS::CONSTANT_BUFFER_3, AMDGPUAS::CONSTANT_BUFFER_4, AMDGPUAS::CONSTANT_BUFFER_5, AMDGPUAS::CONSTANT_BUFFER_6, AMDGPUAS::CONSTANT_BUFFER_7, AMDGPUAS::CONSTANT_BUFFER_8, and AMDGPUAS::CONSTANT_BUFFER_9.
static bool FoldOperand | ( | SDNode * | ParentNode, |
unsigned | SrcIdx, | ||
SDValue & | Src, | ||
SDValue & | Neg, | ||
SDValue & | Abs, | ||
SDValue & | Sel, | ||
SDValue & | Imm, | ||
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 2103 of file R600ISelLowering.cpp.
References llvm::APFloat::bitcastToAPInt(), llvm::CallingConv::C, llvm::APFloat::convertToFloat(), llvm::dyn_cast(), llvm::MVT::f32, llvm::R600InstrInfo::fitsConstReadLimitations(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::SDValue::getMachineOpcode(), llvm::SDNode::getMachineOpcode(), llvm::SDValue::getNode(), llvm::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::R600InstrInfo::getOperandIdx(), llvm::SelectionDAG::getRegister(), llvm::R600InstrInfo::getSelIdx(), llvm::SelectionDAG::getSubtarget(), llvm::SelectionDAG::getTargetConstant(), llvm::ConstantFPSDNode::getValueAPF(), llvm::SDNode::getValueType(), llvm::APInt::getZExtValue(), llvm::ConstantSDNode::getZExtValue(), llvm::MVT::i32, llvm::SDValue::isMachineOpcode(), llvm::EVT::isVector(), and TII.
static SDValue ReorganizeVector | ( | SelectionDAG & | DAG, |
SDValue | VectorEntry, | ||
DenseMap< unsigned, unsigned > & | RemapSwizzle | ||
) | [static] |
Definition at line 1814 of file R600ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::dyn_cast(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::empty(), llvm::ISD::EXTRACT_VECTOR_ELT, llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), and std::swap().