Skip to content

Commit 45e210b

Browse files
authored
Merge pull request #35591 from meg-gupta/fixdcebug
Use erasePhiArgument instead of eraseArgument in DCE
2 parents 6e05240 + c63a1c0 commit 45e210b

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

lib/SILOptimizer/Transforms/DeadCodeElimination.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -551,13 +551,12 @@ bool DCE::removeDead(SILFunction &F) {
551551
// This is not necessary in non-OSSA, and will infact be incorrect.
552552
// Because, passing a value as a phi argument does not imply end of
553553
// lifetime in non-OSSA.
554-
BB.eraseArgument(i);
555554
for (auto *pred : BB.getPredecessorBlocks()) {
556555
auto *predTerm = pred->getTerminator();
557556
auto predArg = predTerm->getAllOperands()[i].get();
558557
endLifetimeOfLiveValue(predArg, predTerm);
559-
deleteEdgeValue(pred->getTerminator(), &BB, i);
560558
}
559+
erasePhiArgument(&BB, i);
561560
Changed = true;
562561
BranchesChanged = true;
563562
}

0 commit comments

Comments
 (0)