LLVM  4.0.0
Namespaces | Functions
AMDGPUISelDAGToDAG.cpp File Reference

Defines an instruction selector for the AMDGPU target. More...

#include "AMDGPU.h"
#include "AMDGPUInstrInfo.h"
#include "AMDGPURegisterInfo.h"
#include "AMDGPUISelLowering.h"
#include "AMDGPUSubtarget.h"
#include "SIDefines.h"
#include "SIInstrInfo.h"
#include "SIRegisterInfo.h"
#include "SIISelLowering.h"
#include "SIMachineFunctionInfo.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/CodeGen/FunctionLoweringInfo.h"
#include "llvm/CodeGen/ISDOpcodes.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/MachineValueType.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Instruction.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <cstdint>
#include <new>
#include <vector>
#include "AMDGPUGenDAGISel.inc"
Include dependency graph for AMDGPUISelDAGToDAG.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

static unsigned selectSGPRVectorRegClassID (unsigned NumVectorElts)
 
static bool isLegalMUBUFImmOffset (const ConstantSDNode *Imm)
 
static bool isLegalSMRDImmOffset (const AMDGPUSubtarget *ST, int64_t EncodedOffset)
 

Detailed Description

Defines an instruction selector for the AMDGPU target.

Definition in file AMDGPUISelDAGToDAG.cpp.

Function Documentation

static bool isLegalMUBUFImmOffset ( const ConstantSDNode Imm)
static

Definition at line 884 of file AMDGPUISelDAGToDAG.cpp.

References llvm::ConstantSDNode::getZExtValue().

static bool isLegalSMRDImmOffset ( const AMDGPUSubtarget ST,
int64_t  EncodedOffset 
)
static
Parameters
EncodedOffsetThis is the immediate value that will be encoded directly into the instruction. On SI/CI the EncodedOffset will be in units of dwords and on VI+ it will be units of bytes.

Definition at line 1183 of file AMDGPUISelDAGToDAG.cpp.

References llvm::AMDGPUSubtarget::getGeneration(), llvm::isUInt< 8 >(), and llvm::AMDGPUSubtarget::VOLCANIC_ISLANDS.

static unsigned selectSGPRVectorRegClassID ( unsigned  NumVectorElts)
static

Definition at line 276 of file AMDGPUISelDAGToDAG.cpp.

References llvm_unreachable.