Skip to content

Commit 2085092

Browse files
bcheng0127igcbot
authored andcommitted
Fixed the bug in CleanupBindless which may introduce infinit spill for address regsiter
Fixed the bug in CleanupBindless which may introduce infinit spill for address regsiter
1 parent dddc444 commit 2085092

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

visa/Optimizer.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5864,7 +5864,15 @@ bool Optimizer::foldPseudoAndOr(G4_BB* bb, INST_LIST_ITER& ii)
58645864
}
58655865
else
58665866
{
5867-
values.deleteValue(inst);
5867+
G4_DstRegRegion* dst = inst->getDst();
5868+
if (dst && dst->isAddress()) // If the address register is used for none extdesc
5869+
{
5870+
values.clear();
5871+
}
5872+
else
5873+
{
5874+
values.deleteValue(inst);
5875+
}
58685876
}
58695877
++iter;
58705878
}

0 commit comments

Comments
 (0)