summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Verifier.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-03-14 03:16:15 +0000
committerChris Lattner <sabre@nondot.org>2004-03-14 03:16:15 +0000
commitb870ca77668890f0c8d221756ca41c0bf5f08c1e (patch)
tree063f4eb072bf4a2e3ea0cf5b5b37df976fbb6617 /llvm/lib/VMCore/Verifier.cpp
parentd828ad5089ecd7994a3750829b0c201ce3c04295 (diff)
downloadbcm5719-llvm-b870ca77668890f0c8d221756ca41c0bf5f08c1e.tar.gz
bcm5719-llvm-b870ca77668890f0c8d221756ca41c0bf5f08c1e.zip
verifyFunction has been broken for a long time now. Fix it.
llvm-svn: 12377
Diffstat (limited to 'llvm/lib/VMCore/Verifier.cpp')
-rw-r--r--llvm/lib/VMCore/Verifier.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/llvm/lib/VMCore/Verifier.cpp b/llvm/lib/VMCore/Verifier.cpp
index 1e3c3c779a7..768bf4dc814 100644
--- a/llvm/lib/VMCore/Verifier.cpp
+++ b/llvm/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<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.
OpenPOWER on IntegriCloud