LLVM  3.7.0
Functions
SIISelLowering.cpp File Reference

Custom DAG lowering for SI. More...

#include "SIISelLowering.h"
#include "AMDGPU.h"
#include "AMDGPUIntrinsicInfo.h"
#include "AMDGPUSubtarget.h"
#include "SIInstrInfo.h"
#include "SIMachineFunctionInfo.h"
#include "SIRegisterInfo.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/IR/Function.h"
#include "llvm/ADT/SmallString.h"
Include dependency graph for SIISelLowering.cpp:

Go to the source code of this file.

Functions

static EVT toIntegerVT (EVT VT)
 
static SDNodefindUser (SDValue Value, unsigned Opcode)
 Helper function for LowerBRCOND. More...
 
static bool canFoldOffset (unsigned OffsetSize, unsigned AS, const AMDGPUSubtarget &STI)
 Return true if the given offset Size in bytes can be folded into the immediate offsets of a memory instruction for the given address space. More...
 
static unsigned minMaxOpcToMin3Max3Opc (unsigned Opc)
 
static unsigned SubIdx2Lane (unsigned Idx)
 Helper function for adjustWritemask. More...
 
static bool isFrameIndexOp (SDValue Op)
 
static SDValue buildSMovImm32 (SelectionDAG &DAG, SDLoc DL, uint64_t Val)
 

Detailed Description

Custom DAG lowering for SI.

Definition in file SIISelLowering.cpp.

Function Documentation

static SDValue buildSMovImm32 ( SelectionDAG DAG,
SDLoc  DL,
uint64_t  Val 
)
static
static bool canFoldOffset ( unsigned  OffsetSize,
unsigned  AS,
const AMDGPUSubtarget STI 
)
static

Return true if the given offset Size in bytes can be folded into the immediate offsets of a memory instruction for the given address space.

Definition at line 1519 of file SIISelLowering.cpp.

References AMDGPUAS::CONSTANT_ADDRESS, llvm::AMDGPUSubtarget::getGeneration(), AMDGPUAS::GLOBAL_ADDRESS, llvm::isUInt< 16 >(), llvm::isUInt< 8 >(), AMDGPUAS::LOCAL_ADDRESS, AMDGPUAS::PRIVATE_ADDRESS, AMDGPUAS::REGION_ADDRESS, and llvm::AMDGPUSubtarget::VOLCANIC_ISLANDS.

static SDNode* findUser ( SDValue  Value,
unsigned  Opcode 
)
static

Helper function for LowerBRCOND.

Definition at line 815 of file SIISelLowering.cpp.

References llvm::SDValue::getNode(), I, llvm::SDNode::use_begin(), and llvm::SDNode::use_end().

static bool isFrameIndexOp ( SDValue  Op)
static
static unsigned minMaxOpcToMin3Max3Opc ( unsigned  Opc)
static
static unsigned SubIdx2Lane ( unsigned  Idx)
static

Helper function for adjustWritemask.

Definition at line 1983 of file SIISelLowering.cpp.

static EVT toIntegerVT ( EVT  VT)
static