From: Chris Lattner Date: Sun, 14 Mar 2004 03:16:15 +0000 (+0000) Subject: verifyFunction has been broken for a long time now. Fix it. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=2eff85941f1262ed607b19a95475bdabe5ecf4f1;p=oota-llvm.git verifyFunction has been broken for a long time now. Fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12377 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index 1e3c3c779a7..768bf4dc814 100644 --- a/lib/VMCore/Verifier.cpp +++ b/lib/VMCore/Verifier.cpp @@ -44,6 +44,7 @@ #include "llvm/Constants.h" #include "llvm/Pass.h" #include "llvm/Module.h" +#include "llvm/ModuleProvider.h" #include "llvm/DerivedTypes.h" #include "llvm/Instructions.h" #include "llvm/Intrinsics.h" @@ -619,19 +620,14 @@ FunctionPass *llvm::createVerifierPass() { // verifyFunction - Create bool llvm::verifyFunction(const Function &f) { - Function &F = (Function&)f; + Function &F = const_cast(f); assert(!F.isExternal() && "Cannot verify external functions"); - - DominatorSet DS; - DS.doInitialization(*F.getParent()); - DS.runOnFunction(F); - - Verifier V(DS); - V.runOnFunction(F); - - DS.doFinalization(*F.getParent()); - - return V.Broken; + + FunctionPassManager FPM(new ExistingModuleProvider(F.getParent())); + Verifier *V = new Verifier(); + FPM.add(V); + FPM.run(F); + return V->Broken; } /// verifyModule - Check a module for errors, printing messages on stderr.