gpu-compute: No RF scheduling in case of SKIP or EMPTY

In case of flat memory instructions the status for the
LM pipe execution unit is set to SKIP or EMPTY, as the bus
between the VRF and the GM and LM pipe is shared. The
destination operands should not be scheduled for the LM pipe,
event if the wave is in the dispatch list. This can lead
to deadlock in the destination cache as DCEs are reused
and the slotsAvailableForBank count gets artificially
incremented.

Change-Id: I2230c53e3bc1032d2cccbe00fab62c99ab8de6cd
diff --git a/src/gpu-compute/schedule_stage.cc b/src/gpu-compute/schedule_stage.cc
index 48207da..abc941f 100644
--- a/src/gpu-compute/schedule_stage.cc
+++ b/src/gpu-compute/schedule_stage.cc
@@ -240,9 +240,13 @@
 ScheduleStage::scheduleRfDestOperands()
 {
     for (int j = 0; j < computeUnit.numExeUnits(); ++j) {
-        if (!dispatchList->at(j).first) {
+        if (dispatchList->at(j).second == EMPTY ||
+            dispatchList->at(j).second == SKIP) {
             continue;
         }
+
+        assert(dispatchList->at(j).first);
+
         // get the wave on dispatch list and attempt to allocate write
         // resources in the RFs
         Wavefront *w = dispatchList->at(j).first;