1218885Sdim//===-- Instrumentation.cpp - TransformUtils Infrastructure ---------------===//
2218885Sdim//
3218885Sdim//                     The LLVM Compiler Infrastructure
4218885Sdim//
5218885Sdim// This file is distributed under the University of Illinois Open Source
6218885Sdim// License. See LICENSE.TXT for details.
7218885Sdim//
8218885Sdim//===----------------------------------------------------------------------===//
9218885Sdim//
10218885Sdim// This file defines the common initialization infrastructure for the
11218885Sdim// Instrumentation library.
12218885Sdim//
13218885Sdim//===----------------------------------------------------------------------===//
14218885Sdim
15218885Sdim#include "llvm/InitializePasses.h"
16251662Sdim#include "llvm/PassRegistry.h"
17218885Sdim#include "llvm-c/Initialization.h"
18218885Sdim
19218885Sdimusing namespace llvm;
20218885Sdim
21218885Sdim/// initializeInstrumentation - Initialize all passes in the TransformUtils
22218885Sdim/// library.
23218885Sdimvoid llvm::initializeInstrumentation(PassRegistry &Registry) {
24239462Sdim  initializeAddressSanitizerPass(Registry);
25249423Sdim  initializeAddressSanitizerModulePass(Registry);
26239462Sdim  initializeBoundsCheckingPass(Registry);
27239462Sdim  initializeGCOVProfilerPass(Registry);
28249423Sdim  initializeMemorySanitizerPass(Registry);
29234353Sdim  initializeThreadSanitizerPass(Registry);
30263508Sdim  initializeDataFlowSanitizerPass(Registry);
31218885Sdim}
32218885Sdim
33218885Sdim/// LLVMInitializeInstrumentation - C binding for
34218885Sdim/// initializeInstrumentation.
35218885Sdimvoid LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
36218885Sdim  initializeInstrumentation(*unwrap(R));
37218885Sdim}
38