diff options
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp b/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp index 3da043f3709..ee39eb04d83 100644 --- a/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp +++ b/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp @@ -43,6 +43,11 @@  using namespace llvm; +static cl::opt<bool> EnableGlobalSGPRAddr( +  "amdgpu-enable-global-sgpr-addr", +  cl::desc("Enable use of SGPR regs for GLOBAL LOAD/STORE instructions"), +  cl::init(false)); +  STATISTIC(NumSGPRGlobalOccurs, "Number of global ld/st opportunities");  STATISTIC(NumSGPRGlobalSaddrs, "Number of global sgpr instructions converted"); @@ -155,6 +160,8 @@ static bool fixupGlobalSaddr(MachineBasicBlock &MBB,                               const GCNSubtarget &ST,                               const SIInstrInfo *TII,                               const SIRegisterInfo *TRI) { +  if (!EnableGlobalSGPRAddr) +    return false;    bool FuncModified = false;    MachineBasicBlock::iterator I, Next;    for (I = MBB.begin(); I != MBB.end(); I = Next) { | 

