diff options
author | Chris Lattner <sabre@nondot.org> | 2004-03-14 03:16:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-03-14 03:16:15 +0000 |
commit | b870ca77668890f0c8d221756ca41c0bf5f08c1e (patch) | |
tree | 063f4eb072bf4a2e3ea0cf5b5b37df976fbb6617 /llvm/lib/VMCore/Verifier.cpp | |
parent | d828ad5089ecd7994a3750829b0c201ce3c04295 (diff) | |
download | bcm5719-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.cpp | 20 |
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. |