Skip to content

Commit 0bff84e

Browse files
bcheng0127igcbot
authored andcommitted
Fix the bug on the usage of hasInternalDependenceWithinDPAS
The instruction with internal dependence cannot be macro block
1 parent 37ea744 commit 0bff84e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

visa/LocalScheduler/SWSB_G4IR.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5781,7 +5781,7 @@ bool G4_BB_SB::isLastDpas(SBNode *curNode, SBNode *nextNode)
57815781
}
57825782

57835783
// check dependency within each instruction
5784-
if (hasInternalDependenceWithinDPAS(curNode)) {
5784+
if (hasInternalDependenceWithinDPAS(nextNode)) {
57855785
return true;
57865786
}
57875787

@@ -6168,7 +6168,7 @@ void G4_BB_SB::SBDDD(G4_BB *bb, LiveGRFBuckets *&LB,
61686168
// a DPAS block At the same time, push all dependence BD to the last
61696169
// instruction. Keeping the dependence within a DPAS block will drop
61706170
// performance a lot.
6171-
if (curInst->isDpas()) {
6171+
if (curInst->isDpas() && !hasInternalDependenceWithinDPAS(node)) {
61726172
auto DpasRSWAInsertionPos = iInst;
61736173
unsigned dpas_count = 0;
61746174
if (nextInst && nextInst->isDpas()) {

0 commit comments

Comments
 (0)