1//===-- Instrumentation.cpp - TransformUtils Infrastructure ---------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file defines the common initialization infrastructure for the
11// Instrumentation library.
12//
13//===----------------------------------------------------------------------===//
14
15#include "llvm/InitializePasses.h"
16#include "llvm-c/Initialization.h"
17#include "llvm/PassRegistry.h"
18
19using namespace llvm;
20
21/// initializeInstrumentation - Initialize all passes in the TransformUtils
22/// library.
23void llvm::initializeInstrumentation(PassRegistry &Registry) {
24  initializeAddressSanitizerPass(Registry);
25  initializeAddressSanitizerModulePass(Registry);
26  initializeBoundsCheckingPass(Registry);
27  initializeGCOVProfilerPass(Registry);
28  initializeMemorySanitizerPass(Registry);
29  initializeThreadSanitizerPass(Registry);
30  initializeDataFlowSanitizerPass(Registry);
31}
32
33/// LLVMInitializeInstrumentation - C binding for
34/// initializeInstrumentation.
35void LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
36  initializeInstrumentation(*unwrap(R));
37}
38