From: Mike Aizatsky Date: Fri, 18 Mar 2016 17:33:21 +0000 (+0000) Subject: [sancov] specifying sanitizer coverage dependencies. X-Git-Tag: llvmorg-3.9.0-rc1~11460 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f7994c8cb768a461a4aa8d1acec358c07e0edc8;p=platform%2Fupstream%2Fllvm.git [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 --- diff --git a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp index 5b7bb2f..5591f1c 100644 --- a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp +++ b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp @@ -31,6 +31,7 @@ #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/SmallVector.h" #include "llvm/Analysis/EHPersonalities.h" +#include "llvm/Analysis/PostDominators.h" #include "llvm/IR/CFG.h" #include "llvm/IR/CallSite.h" #include "llvm/IR/DataLayout.h" @@ -160,7 +161,12 @@ class SanitizerCoverageModule : public ModulePass { return "SanitizerCoverageModule"; } - private: + void getAnalysisUsage(AnalysisUsage &AU) const override { + AU.addRequired(); + AU.addRequired(); + } + +private: void InjectCoverageForIndirectCalls(Function &F, ArrayRef IndirCalls); void InjectTraceForCmp(Function &F, ArrayRef CmpTraceTargets);