Skip to content

Commit 3c8e167

Browse files
fveselovigcbot
authored andcommitted
Fixed null dereference errors in SimdCF passes
Fixed null dereference errors in GenXSimdCFConformance and GenXSimdCFRegion
1 parent eafef59 commit 3c8e167

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFConformance.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4130,11 +4130,12 @@ void GenXLateSimdCFConformance::hoistExtractEMInstructions() {
41304130
else {
41314131
ToRemove.push_back(V);
41324132
V->replaceAllUsesWith(It->second);
4133-
V->eraseFromParent();
41344133
}
41354134
}
4136-
for (auto &&V : ToRemove)
4135+
for (auto &&V : ToRemove) {
41374136
removeFromEMRMVals(V);
4137+
V->eraseFromParent();
4138+
}
41384139
}
41394140

41404141
/***********************************************************************

IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1180,11 +1180,11 @@ void GenXPredToSimdCF::insertIfGotoJoin(SimdCFIfRegion *R) {
11801180
if (R->hasElse()) {
11811181
auto *ElseExit = R->getIfThenRegion()->getExit();
11821182
Br = cast<BranchInst>(ElseExit->getTerminator());
1183+
auto *IfEndBB = IfThenExitBr->getSuccessor(1);
11831184
// 1-th: generate goto(EM, zeroinitializer, zeroinitializer) in the end of
11841185
// then-block
11851186
generateThenGoto(Br, JoinBlock);
11861187

1187-
auto *IfEndBB = IfThenExitBr->getSuccessor(1);
11881188
for (auto &PHI : IfEndBB->phis()) {
11891189
PHI.replaceIncomingBlockWith(IfThenExit, JoinBlock);
11901190
}

0 commit comments

Comments
 (0)