From 3bbf207fbc56d982d17a5e111f56dbdc4f743774 Mon Sep 17 00:00:00 2001 From: John McCall Date: Wed, 14 Aug 2019 03:54:18 +0000 Subject: [PATCH] Don't run a full verifier pass in coro-splitting's private pipeline. Potentially addresses rdar://49022293. llvm-svn: 368797 --- llvm/lib/Transforms/Coroutines/CoroSplit.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp index 01357f0..f7d40a3 100644 --- a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp +++ b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp @@ -865,9 +865,14 @@ static void updateCoroFrame(coro::Shape &Shape, Function *ResumeFn, static void postSplitCleanup(Function &F) { removeUnreachableBlocks(F); + + // For now, we do a mandatory verification step because we don't + // entirely trust this pass. Note that we don't want to add a verifier + // pass to FPM below because it will also verify all the global data. + verifyFunction(F); + legacy::FunctionPassManager FPM(F.getParent()); - FPM.add(createVerifierPass()); FPM.add(createSCCPPass()); FPM.add(createCFGSimplificationPass()); FPM.add(createEarlyCSEPass()); -- 2.7.4