diff --git a/llvm/lib/Transforms/IPO/FunctionSpecialization.cpp b/llvm/lib/Transforms/IPO/FunctionSpecialization.cpp --- a/llvm/lib/Transforms/IPO/FunctionSpecialization.cpp +++ b/llvm/lib/Transforms/IPO/FunctionSpecialization.cpp @@ -339,7 +339,7 @@ // Remove the instruction from Block and Solver. if (auto *I = dyn_cast(V)) { - if (I->isSafeToRemove()) { + if (!I->isTerminator()) { I->eraseFromParent(); Solver.removeLatticeValueFor(I); }