LLVM  4.0.0
Functions | Variables
SIRegisterInfo.cpp File Reference

SI implementation of the TargetRegisterInfo class. More...

#include "SIRegisterInfo.h"
#include "SIInstrInfo.h"
#include "SIMachineFunctionInfo.h"
#include "AMDGPUSubtarget.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/RegisterScavenging.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/LLVMContext.h"
Include dependency graph for SIRegisterInfo.cpp:

Go to the source code of this file.

Functions

static bool hasPressureSet (const int *PSets, unsigned PSetID)
 
static unsigned getNumSubRegsForSpillOp (unsigned Op)
 
static int getOffsetMUBUFStore (unsigned Opc)
 
static int getOffsetMUBUFLoad (unsigned Opc)
 
static bool buildMUBUFOffsetLoadStore (const SIInstrInfo *TII, MachineFrameInfo &MFI, MachineBasicBlock::iterator MI, int Index, int64_t Offset)
 
static std::pair< unsigned,
unsigned
getSpillEltSize (unsigned SuperRegSize, bool Store)
 

Variables

static cl::opt< boolEnableSpillSGPRToSMEM ("amdgpu-spill-sgpr-to-smem", cl::desc("Use scalar stores to spill SGPRs if supported by subtarget"), cl::init(false))
 

Detailed Description

SI implementation of the TargetRegisterInfo class.

Definition in file SIRegisterInfo.cpp.

Function Documentation

static bool buildMUBUFOffsetLoadStore ( const SIInstrInfo TII,
MachineFrameInfo MFI,
MachineBasicBlock::iterator  MI,
int  Index,
int64_t  Offset 
)
static
static unsigned getNumSubRegsForSpillOp ( unsigned  Op)
static

Definition at line 325 of file SIRegisterInfo.cpp.

References llvm_unreachable.

Referenced by llvm::SIRegisterInfo::eliminateFrameIndex().

static int getOffsetMUBUFLoad ( unsigned  Opc)
static

Definition at line 377 of file SIRegisterInfo.cpp.

Referenced by buildMUBUFOffsetLoadStore().

static int getOffsetMUBUFStore ( unsigned  Opc)
static

Definition at line 360 of file SIRegisterInfo.cpp.

Referenced by buildMUBUFOffsetLoadStore().

static std::pair<unsigned, unsigned> getSpillEltSize ( unsigned  SuperRegSize,
bool  Store 
)
static
static bool hasPressureSet ( const int *  PSets,
unsigned  PSetID 
)
static

Definition at line 33 of file SIRegisterInfo.cpp.

References i.

Variable Documentation

cl::opt<bool> EnableSpillSGPRToSMEM("amdgpu-spill-sgpr-to-smem", cl::desc("Use scalar stores to spill SGPRs if supported by subtarget"), cl::init(false))
static