Skip to content

Commit b7c0f04

Browse files
iwwuigcbot
authored andcommitted
Changes to HF packing removeRedundantChannels
Clean up GEP for each removed store
1 parent 701df07 commit b7c0f04

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

IGC/Compiler/CISACodeGen/HFfoldingOpt.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,6 +1037,7 @@ void HFfoldingOpt::removeRedundantChannels(Function& F)
10371037
if (storeGepToRemove.size() == 0)
10381038
return;
10391039

1040+
GetElementPtrInst* removeGEP;
10401041
// start removing load/store/gep
10411042
for (auto iter = storeGepToRemove.begin(); iter != storeGepToRemove.end(); iter++)
10421043
{
@@ -1076,19 +1077,20 @@ void HFfoldingOpt::removeRedundantChannels(Function& F)
10761077
copyToInst[2]->eraseFromParent();
10771078
}
10781079

1079-
// update the slm map
1080-
GetElementPtrInst* removeGEP = cast<GetElementPtrInst>(storeGepToRemove[iter->first][0][2]->getOperand(1));
1081-
removeFromSlmMap(removeGEP);
1082-
10831080
// remove store
10841081
for (uint storeIndex = 0; storeIndex < storeGepToRemove[iter->first].size(); storeIndex++)
10851082
{
1083+
// update the slm map
1084+
removeGEP = cast<GetElementPtrInst>(storeGepToRemove[iter->first][storeIndex][2]->getOperand(1));
1085+
removeFromSlmMap(removeGEP);
1086+
10861087
storeGepToRemove[iter->first][storeIndex][2]->dropAllReferences();
10871088
storeGepToRemove[iter->first][storeIndex][2]->eraseFromParent();
1089+
1090+
if (removeGEP->use_empty())
1091+
removeGEP->eraseFromParent();
10881092
}
10891093

1090-
if (removeGEP->use_empty())
1091-
removeGEP->eraseFromParent();
10921094
}
10931095
}
10941096

0 commit comments

Comments
 (0)