blob: b1bea389bb1e213548178ff4d00947e91fd1cd0e [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);
Chandler Carruth9b4df492012-07-22 05:19:32 +000027 initializeGCOVProfilerPass(Registry);
Evgeniy Stepanovaa4f97d2012-11-29 09:57:20 +000028 initializeMemorySanitizerPass(Registry);
Kostya Serebryany60ebb1942012-02-13 22:50:51 +000029 initializeThreadSanitizerPass(Registry);
Peter Collingbourne6fa33f52013-08-07 22:47:18 +000030 initializeDataFlowSanitizerPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000031}
32
33/// LLVMInitializeInstrumentation - C binding for
34/// initializeInstrumentation.
35void LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
36 initializeInstrumentation(*unwrap(R));
37}