Instrumentation.cpp revision 249423
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"
16218885Sdim#include "llvm-c/Initialization.h"
17218885Sdim
18218885Sdimusing namespace llvm;
19218885Sdim
20218885Sdim/// initializeInstrumentation - Initialize all passes in the TransformUtils
21218885Sdim/// library.
22218885Sdimvoid llvm::initializeInstrumentation(PassRegistry &Registry) {
23239462Sdim  initializeAddressSanitizerPass(Registry);
24249423Sdim  initializeAddressSanitizerModulePass(Registry);
25239462Sdim  initializeBoundsCheckingPass(Registry);
26218885Sdim  initializeEdgeProfilerPass(Registry);
27239462Sdim  initializeGCOVProfilerPass(Registry);
28218885Sdim  initializeOptimalEdgeProfilerPass(Registry);
29218885Sdim  initializePathProfilerPass(Registry);
30249423Sdim  initializeMemorySanitizerPass(Registry);
31234353Sdim  initializeThreadSanitizerPass(Registry);
32218885Sdim}
33218885Sdim
34218885Sdim/// LLVMInitializeInstrumentation - C binding for
35218885Sdim/// initializeInstrumentation.
36218885Sdimvoid LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
37218885Sdim  initializeInstrumentation(*unwrap(R));
38218885Sdim}
39