blob: 46394da856ed4ba7c27fdf8366042be1424df4ea [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);
Kostya Serebryany60ebb1942012-02-13 22:50:51 +000030 initializeThreadSanitizerPass(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}