[llvm] r194574 - Don't call doFinalization from verifyFunction.

Rafael Espindola rafael.espindola at gmail.com
Wed Nov 13 05:44:11 PST 2013


Author: rafael
Date: Wed Nov 13 07:44:11 2013
New Revision: 194574

URL: http://llvm.org/viewvc/llvm-project?rev=194574&view=rev
Log:
Don't call doFinalization from verifyFunction.

verifyFunction needs to call doInitialization to collect metadata and avoid
crashing when verifying debug info in a function.

But it should not call doFinalization since that is where the verifier will
check declarations, variables and aliases, which is not desirable when one
only wants to verify a function.

A possible cleanup would be to split the class into a ModuleVerifier and
FunctionVerifier.

Issue reported by Ilia Filippov. Patch by Michael Kruse.

Modified:
    llvm/trunk/lib/IR/Verifier.cpp

Modified: llvm/trunk/lib/IR/Verifier.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Verifier.cpp?rev=194574&r1=194573&r2=194574&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Verifier.cpp (original)
+++ llvm/trunk/lib/IR/Verifier.cpp Wed Nov 13 07:44:11 2013
@@ -2402,7 +2402,6 @@ bool llvm::verifyFunction(const Function
   FPM.add(V);
   FPM.doInitialization();
   FPM.run(F);
-  FPM.doFinalization();
   return V->Broken;
 }
 





More information about the llvm-commits mailing list