LLVM API Documentation
This is the parent TargetLowering class for hardware code gen targets. More...
#include "AMDGPUISelLowering.h"
#include "AMDGPU.h"
#include "AMDGPUFrameLowering.h"
#include "AMDGPUIntrinsicInfo.h"
#include "AMDGPURegisterInfo.h"
#include "AMDGPUSubtarget.h"
#include "R600MachineFunctionInfo.h"
#include "SIMachineFunctionInfo.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/DiagnosticPrinter.h"
#include "AMDGPUGenCallingConv.inc"
Go to the source code of this file.
Defines | |
#define | NODE_NAME_CASE(node) case AMDGPUISD::node: return #node; |
Functions | |
static bool | allocateStack (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State) |
static bool | isU24 (SDValue Op, SelectionDAG &DAG) |
static bool | isI24 (SDValue Op, SelectionDAG &DAG) |
static void | simplifyI24 (SDValue Op, TargetLowering::DAGCombinerInfo &DCI) |
template<typename IntTy > | |
static SDValue | constantFoldBFE (SelectionDAG &DAG, IntTy Src0, uint32_t Offset, uint32_t Width) |
static bool | usesAllNormalStores (SDNode *LoadVal) |
static void | computeKnownBitsForMinMax (const SDValue Op0, const SDValue Op1, APInt &KnownZero, APInt &KnownOne, const SelectionDAG &DAG, unsigned Depth) |
This is the parent TargetLowering class for hardware code gen targets.
Definition in file AMDGPUISelLowering.cpp.
#define NODE_NAME_CASE | ( | node | ) | case AMDGPUISD::node: return #node; |
Definition at line 2164 of file AMDGPUISelLowering.cpp.
Referenced by llvm::AMDGPUTargetLowering::getTargetNodeName().
static bool allocateStack | ( | unsigned | ValNo, |
MVT | ValVT, | ||
MVT | LocVT, | ||
CCValAssign::LocInfo | LocInfo, | ||
ISD::ArgFlagsTy | ArgFlags, | ||
CCState & | State | ||
) | [static] |
Definition at line 74 of file AMDGPUISelLowering.cpp.
References llvm::CCState::addLoc(), llvm::CCState::AllocateStack(), llvm::CCValAssign::getMem(), llvm::ISD::ArgFlagsTy::getOrigAlign(), and llvm::MVT::getStoreSize().
static void computeKnownBitsForMinMax | ( | const SDValue | Op0, |
const SDValue | Op1, | ||
APInt & | KnownZero, | ||
APInt & | KnownOne, | ||
const SelectionDAG & | DAG, | ||
unsigned | Depth | ||
) | [static] |
Definition at line 2227 of file AMDGPUISelLowering.cpp.
References llvm::SelectionDAG::computeKnownBits().
Referenced by llvm::AMDGPUTargetLowering::computeKnownBitsForTargetNode().
static SDValue constantFoldBFE | ( | SelectionDAG & | DAG, |
IntTy | Src0, | ||
uint32_t | Offset, | ||
uint32_t | Width | ||
) | [static] |
Definition at line 1896 of file AMDGPUISelLowering.cpp.
References llvm::SelectionDAG::getConstant(), and llvm::MVT::i32.
static bool isI24 | ( | SDValue | Op, |
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 1872 of file AMDGPUISelLowering.cpp.
References llvm::SelectionDAG::ComputeNumSignBits(), llvm::EVT::getSizeInBits(), and llvm::SDValue::getValueType().
static bool isU24 | ( | SDValue | Op, |
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 1864 of file AMDGPUISelLowering.cpp.
References llvm::SelectionDAG::computeKnownBits(), llvm::APInt::countLeadingOnes(), llvm::EVT::getSizeInBits(), and llvm::SDValue::getValueType().
static void simplifyI24 | ( | SDValue | Op, |
TargetLowering::DAGCombinerInfo & | DCI | ||
) | [static] |
Definition at line 1882 of file AMDGPUISelLowering.cpp.
References llvm::TargetLowering::DAGCombinerInfo::CommitTargetLoweringOpt(), llvm::TargetLowering::DAGCombinerInfo::DAG, llvm::APInt::getLowBitsSet(), llvm::EVT::getSizeInBits(), llvm::SelectionDAG::getTargetLoweringInfo(), llvm::SDValue::getValueType(), and llvm::TargetLowering::SimplifyDemandedBits().
Referenced by llvm::AMDGPUTargetLowering::PerformDAGCombine().
static bool usesAllNormalStores | ( | SDNode * | LoadVal | ) | [static] |
Definition at line 1906 of file AMDGPUISelLowering.cpp.
References llvm::SDNode::use_iterator::atEnd(), I, llvm::ISD::isNormalStore(), and llvm::SDNode::use_begin().