[llvm] r187513 - R600: Don't mix LDS and non-LDS instructions in the same group

Vincent Lejeune vljn at ovi.com
Wed Jul 31 12:31:41 PDT 2013


Author: vljn
Date: Wed Jul 31 14:31:41 2013
New Revision: 187513

URL: http://llvm.org/viewvc/llvm-project?rev=187513&view=rev
Log:
R600: Don't mix LDS and non-LDS instructions in the same group

There are a lot of restrictions on instruction groups that contain
LDS instructions, so for now we will be conservative and not packetize
anything else with them.

Modified:
    llvm/trunk/lib/Target/R600/R600Packetizer.cpp

Modified: llvm/trunk/lib/Target/R600/R600Packetizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/R600Packetizer.cpp?rev=187513&r1=187512&r2=187513&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/R600Packetizer.cpp (original)
+++ llvm/trunk/lib/Target/R600/R600Packetizer.cpp Wed Jul 31 14:31:41 2013
@@ -161,6 +161,10 @@ public:
       return true;
     if (MI->getOpcode() == AMDGPU::GROUP_BARRIER)
       return true;
+    // XXX: This can be removed once the packetizer properly handles all the
+    // LDS instruction group restrictions.
+    if (TII->isLDSInstr(MI->getOpcode()))
+      return true;
     return false;
   }
 





More information about the llvm-commits mailing list