verifyFunction has been broken for a long time now. Fix it.
authorChris Lattner <sabre@nondot.org>
Sun, 14 Mar 2004 03:16:15 +0000 (03:16 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 14 Mar 2004 03:16:15 +0000 (03:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12377 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Verifier.cpp

index 1e3c3c779a73ba0137da33af003e373948f552eb..768bf4dc81417dbb23a161cd6ccb878cf365a41e 100644 (file)
@@ -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<Function&>(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.