R600: Don't mix LDS and non-LDS instructions in the same group
authorVincent Lejeune <vljn@ovi.com>
Wed, 31 Jul 2013 19:31:41 +0000 (19:31 +0000)
committerVincent Lejeune <vljn@ovi.com>
Wed, 31 Jul 2013 19:31:41 +0000 (19:31 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187513 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/R600Packetizer.cpp

index f4219bd476c07634961fc8637462573f274e69f3..5cf1fd3b665e06a6b8ad7a974bb027219d2cf27f 100644 (file)
@@ -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;
   }