mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-29 22:50:47 +00:00
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:
parent
fc44806194
commit
2eff85941f
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user