forked from OSchip/llvm-project
[sancov] specifying sanitizer coverage dependencies.
Summary: These dependencies would be used in the future to reduce the number of instrumented blocks(http://reviews.llvm.org/rL262103) This is submitted as a separate CL because of previous problems with ARM. Subscribers: aemerson Differential Revision: http://reviews.llvm.org/D18227 llvm-svn: 263797
This commit is contained in:
parent
3ac9501c3f
commit
4f7994c8cb
|
@ -31,6 +31,7 @@
|
||||||
#include "llvm/ADT/ArrayRef.h"
|
#include "llvm/ADT/ArrayRef.h"
|
||||||
#include "llvm/ADT/SmallVector.h"
|
#include "llvm/ADT/SmallVector.h"
|
||||||
#include "llvm/Analysis/EHPersonalities.h"
|
#include "llvm/Analysis/EHPersonalities.h"
|
||||||
|
#include "llvm/Analysis/PostDominators.h"
|
||||||
#include "llvm/IR/CFG.h"
|
#include "llvm/IR/CFG.h"
|
||||||
#include "llvm/IR/CallSite.h"
|
#include "llvm/IR/CallSite.h"
|
||||||
#include "llvm/IR/DataLayout.h"
|
#include "llvm/IR/DataLayout.h"
|
||||||
|
@ -160,7 +161,12 @@ class SanitizerCoverageModule : public ModulePass {
|
||||||
return "SanitizerCoverageModule";
|
return "SanitizerCoverageModule";
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
void getAnalysisUsage(AnalysisUsage &AU) const override {
|
||||||
|
AU.addRequired<DominatorTreeWrapperPass>();
|
||||||
|
AU.addRequired<PostDominatorTreeWrapperPass>();
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
void InjectCoverageForIndirectCalls(Function &F,
|
void InjectCoverageForIndirectCalls(Function &F,
|
||||||
ArrayRef<Instruction *> IndirCalls);
|
ArrayRef<Instruction *> IndirCalls);
|
||||||
void InjectTraceForCmp(Function &F, ArrayRef<Instruction *> CmpTraceTargets);
|
void InjectTraceForCmp(Function &F, ArrayRef<Instruction *> CmpTraceTargets);
|
||||||
|
|
Loading…
Reference in New Issue