blob: 9f353967f394ea848989699a6dd7a8d32182015a [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"
Filip Pizlo40be1e82013-05-01 20:59:00 +000016#include "llvm/PassRegistry.h"
Owen Andersonaa4897f2010-10-07 20:17:24 +000017#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) {
Chandler Carruth9b4df492012-07-22 05:19:32 +000024 initializeAddressSanitizerPass(Registry);
Kostya Serebryany1416edc2012-11-28 10:31:36 +000025 initializeAddressSanitizerModulePass(Registry);
Chandler Carruth9b4df492012-07-22 05:19:32 +000026 initializeBoundsCheckingPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000027 initializeEdgeProfilerPass(Registry);
Chandler Carruth9b4df492012-07-22 05:19:32 +000028 initializeGCOVProfilerPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000029 initializeOptimalEdgeProfilerPass(Registry);
Andrew Trick04317cc2011-01-29 01:09:53 +000030 initializePathProfilerPass(Registry);
Evgeniy Stepanovaa4f97d2012-11-29 09:57:20 +000031 initializeMemorySanitizerPass(Registry);
Kostya Serebryany60ebb1942012-02-13 22:50:51 +000032 initializeThreadSanitizerPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000033}
34
35/// LLVMInitializeInstrumentation - C binding for
36/// initializeInstrumentation.
37void LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
38 initializeInstrumentation(*unwrap(R));
39}