Don't run a full verifier pass in coro-splitting's private pipeline.
authorJohn McCall <rjmccall@apple.com>
Wed, 14 Aug 2019 03:54:18 +0000 (03:54 +0000)
committerJohn McCall <rjmccall@apple.com>
Wed, 14 Aug 2019 03:54:18 +0000 (03:54 +0000)
Potentially addresses rdar://49022293.

llvm-svn: 368797

llvm/lib/Transforms/Coroutines/CoroSplit.cpp

index 01357f0..f7d40a3 100644 (file)
@@ -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());