diff --git a/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp b/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp --- a/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp +++ b/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp @@ -323,12 +323,8 @@ if (BFI) { findBestInsertionSet(*DT, *BFI, Entry, BBs); - for (auto *BB : BBs) { - BasicBlock::iterator InsertPt = BB->begin(); - for (; isa(InsertPt) || InsertPt->isEHPad(); ++InsertPt) - ; - InsertPts.insert(&*InsertPt); - } + for (BasicBlock *BB : BBs) + InsertPts.insert(&*BB->getFirstInsertionPt()); return InsertPts; }