Index: llvm/lib/Transforms/IPO/HotColdSplitting.cpp =================================================================== --- llvm/lib/Transforms/IPO/HotColdSplitting.cpp +++ llvm/lib/Transforms/IPO/HotColdSplitting.cpp @@ -117,9 +117,10 @@ if (blockEndsInUnreachable(BB)) { if (auto *CI = dyn_cast_or_null(BB.getTerminator()->getPrevNode())) - if (CI->hasFnAttr(Attribute::NoReturn)) - return false; - return true; + if (CI->hasFnAttr(Attribute::NoReturn)) { + IntrinsicInst *II = dyn_cast(CI); + return II->getIntrinsicID() != Intrinsic::longjmp; + } } return false;