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
This commit is contained in:
Chris Lattner 2004-03-14 03:16:15 +00:00
parent fc44806194
commit 2eff85941f

View File

@ -44,6 +44,7 @@
#include "llvm/Constants.h" #include "llvm/Constants.h"
#include "llvm/Pass.h" #include "llvm/Pass.h"
#include "llvm/Module.h" #include "llvm/Module.h"
#include "llvm/ModuleProvider.h"
#include "llvm/DerivedTypes.h" #include "llvm/DerivedTypes.h"
#include "llvm/Instructions.h" #include "llvm/Instructions.h"
#include "llvm/Intrinsics.h" #include "llvm/Intrinsics.h"
@ -619,19 +620,14 @@ FunctionPass *llvm::createVerifierPass() {
// verifyFunction - Create // verifyFunction - Create
bool llvm::verifyFunction(const Function &f) { bool llvm::verifyFunction(const Function &f) {
Function &F = (Function&)f; Function &F = const_cast<Function&>(f);
assert(!F.isExternal() && "Cannot verify external functions"); assert(!F.isExternal() && "Cannot verify external functions");
DominatorSet DS; FunctionPassManager FPM(new ExistingModuleProvider(F.getParent()));
DS.doInitialization(*F.getParent()); Verifier *V = new Verifier();
DS.runOnFunction(F); FPM.add(V);
FPM.run(F);
Verifier V(DS); return V->Broken;
V.runOnFunction(F);
DS.doFinalization(*F.getParent());
return V.Broken;
} }
/// verifyModule - Check a module for errors, printing messages on stderr. /// verifyModule - Check a module for errors, printing messages on stderr.