[llvm-branch-commits] [llvm-branch] r214895 - Merging r214865:

Tom Stellard thomas.stellard at amd.com
Tue Aug 5 10:38:25 PDT 2014


Author: tstellar
Date: Tue Aug  5 12:38:25 2014
New Revision: 214895

URL: http://llvm.org/viewvc/llvm-project?rev=214895&view=rev
Log:
Merging r214865:

------------------------------------------------------------------------
r214865 | thomas.stellard | 2014-08-05 10:40:52 -0400 (Tue, 05 Aug 2014) | 5 lines

R600/SI: Avoid generating REGISTER_LOAD instructions.

SI doesn't use REGISTER_LOAD anymore, but it was still hitting this code
path for 8-bit and 16-bit private loads.

------------------------------------------------------------------------

Modified:
    llvm/branches/release_35/lib/Target/R600/AMDGPUISelLowering.cpp
    llvm/branches/release_35/test/CodeGen/R600/private-memory.ll

Modified: llvm/branches/release_35/lib/Target/R600/AMDGPUISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_35/lib/Target/R600/AMDGPUISelLowering.cpp?rev=214895&r1=214894&r2=214895&view=diff
==============================================================================
--- llvm/branches/release_35/lib/Target/R600/AMDGPUISelLowering.cpp (original)
+++ llvm/branches/release_35/lib/Target/R600/AMDGPUISelLowering.cpp Tue Aug  5 12:38:25 2014
@@ -1176,7 +1176,8 @@ SDValue AMDGPUTargetLowering::LowerLOAD(
     return DAG.getMergeValues(Ops, DL);
   }
 
-  if (Load->getAddressSpace() != AMDGPUAS::PRIVATE_ADDRESS ||
+  if (Subtarget->getGeneration() >= AMDGPUSubtarget::SOUTHERN_ISLANDS ||
+      Load->getAddressSpace() != AMDGPUAS::PRIVATE_ADDRESS ||
       ExtType == ISD::NON_EXTLOAD || Load->getMemoryVT().bitsGE(MVT::i32))
     return SDValue();
 

Modified: llvm/branches/release_35/test/CodeGen/R600/private-memory.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_35/test/CodeGen/R600/private-memory.ll?rev=214895&r1=214894&r2=214895&view=diff
==============================================================================
--- llvm/branches/release_35/test/CodeGen/R600/private-memory.ll (original)
+++ llvm/branches/release_35/test/CodeGen/R600/private-memory.ll Tue Aug  5 12:38:25 2014
@@ -118,7 +118,8 @@ for.end:
 
 ; SI-PROMOTE: BUFFER_STORE_SHORT v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}], v{{[0-9]+}}, s{{[0-9]+}}
 ; SI-PROMOTE: BUFFER_STORE_SHORT v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}], v{{[0-9]+}}, s{{[0-9]+}}
-; SI_PROMOTE: BUFFER_LOAD_SSHORT v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}] + v{{[0-9]+}}, s{{[0-9]+}}
+; SI-PROMOTE-NOT: MOVREL
+; SI-PROMOTE: BUFFER_LOAD_SSHORT v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}] + v{{[0-9]+}} + s{{[0-9]+}}
 define void @short_array(i32 addrspace(1)* %out, i32 %index) {
 entry:
   %0 = alloca [2 x i16]





More information about the llvm-branch-commits mailing list