14 #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_H
15 #define LLVM_TRANSFORMS_INSTRUMENTATION_H
20 #if defined(__GNUC__) && defined(__linux__) && !defined(ANDROID)
21 inline void *getDFSanArgTLSPtrForJIT() {
23 void *__dfsan_arg_tls;
24 return (
void *)&__dfsan_arg_tls;
27 inline void *getDFSanRetValTLSPtrForJIT() {
29 void *__dfsan_retval_tls;
30 return (
void *)&__dfsan_retval_tls;
98 const std::vector<std::string> &ABIListFiles = std::vector<std::string>(),
99 void *(*getArgTLS)() =
nullptr,
void *(*getRetValTLS)() =
nullptr);
123 #if defined(__GNUC__) && defined(__linux__) && !defined(ANDROID)
124 inline ModulePass *createDataFlowSanitizerPassForJIT(
125 const std::vector<std::string> &ABIListFiles = std::vector<std::string>()) {
127 getDFSanRetValTLSPtrForJIT);
GCOVOptions - A struct for passing gcov options between functions.
FunctionPass * createBoundsCheckingPass()
static GCOVOptions getDefault()
FunctionPass * createSafeStackPass()
This pass splits the stack into a safe stack and an unsafe stack to protect against stack-based overf...
ModulePass * createGCOVProfilerPass(const GCOVOptions &Options=GCOVOptions::getDefault())
FunctionPass * createThreadSanitizerPass()
FunctionPass * createMemorySanitizerPass(int TrackOrigins=0)
ModulePass * createInstrProfilingPass(const InstrProfOptions &Options=InstrProfOptions())
Insert frontend instrumentation based profiling.
FunctionPass class - This class is used to implement most global optimizations.
std::string InstrProfileOutput
SanitizerCoverageOptions()
enum llvm::SanitizerCoverageOptions::Type CoverageType
Options for the frontend instrumentation based profiling pass.
GCOVOptions(bool A, bool B, bool C, bool F, bool P, bool U, bool L, bool N)
FunctionPass * createAddressSanitizerFunctionPass(bool CompileKernel=false)
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
__attribute__((weak)) dfsan_label dfsan_create_label(const char *desc
ModulePass * createDataFlowSanitizerPass(const std::vector< std::string > &ABIListFiles=std::vector< std::string >(), void *(*getArgTLS)()=nullptr, void *(*getRetValTLS)()=nullptr)
ModulePass * createSanitizerCoverageModulePass(const SanitizerCoverageOptions &Options=SanitizerCoverageOptions())
ModulePass * createAddressSanitizerModulePass(bool CompileKernel=false)