Instrumentation.cpp revision 251662
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/PassRegistry.h"
17#include "llvm-c/Initialization.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  initializeEdgeProfilerPass(Registry);
28  initializeGCOVProfilerPass(Registry);
29  initializeOptimalEdgeProfilerPass(Registry);
30  initializePathProfilerPass(Registry);
31  initializeMemorySanitizerPass(Registry);
32  initializeThreadSanitizerPass(Registry);
33}
34
35/// LLVMInitializeInstrumentation - C binding for
36/// initializeInstrumentation.
37void LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
38  initializeInstrumentation(*unwrap(R));
39}
40