blob: 8ba102559bb6aeb9423d6d10587dd34e57be63d0 [file] [log] [blame]
Owen Andersonaa4897f2010-10-07 20:17:24 +00001//===-- 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
18using namespace llvm;
19
20/// initializeInstrumentation - Initialize all passes in the TransformUtils
21/// library.
22void llvm::initializeInstrumentation(PassRegistry &Registry) {
Chandler Carruth9b4df492012-07-22 05:19:32 +000023 initializeAddressSanitizerPass(Registry);
Kostya Serebryany1416edc2012-11-28 10:31:36 +000024 initializeAddressSanitizerModulePass(Registry);
Chandler Carruth9b4df492012-07-22 05:19:32 +000025 initializeBoundsCheckingPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000026 initializeEdgeProfilerPass(Registry);
Chandler Carruth9b4df492012-07-22 05:19:32 +000027 initializeGCOVProfilerPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000028 initializeOptimalEdgeProfilerPass(Registry);
Andrew Trick04317cc2011-01-29 01:09:53 +000029 initializePathProfilerPass(Registry);
Evgeniy Stepanovaa4f97d2012-11-29 09:57:20 +000030 initializeMemorySanitizerPass(Registry);
Kostya Serebryany60ebb1942012-02-13 22:50:51 +000031 initializeThreadSanitizerPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000032}
33
34/// LLVMInitializeInstrumentation - C binding for
35/// initializeInstrumentation.
36void LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
37 initializeInstrumentation(*unwrap(R));
38}