blob: 1e0b4a348a17e5e73d3592d3932b3f0798e29e5e [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);
24 initializeBoundsCheckingPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000025 initializeEdgeProfilerPass(Registry);
Chandler Carruth9b4df492012-07-22 05:19:32 +000026 initializeGCOVProfilerPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000027 initializeOptimalEdgeProfilerPass(Registry);
Andrew Trick04317cc2011-01-29 01:09:53 +000028 initializePathProfilerPass(Registry);
Kostya Serebryany60ebb1942012-02-13 22:50:51 +000029 initializeThreadSanitizerPass(Registry);
Owen Andersonaa4897f2010-10-07 20:17:24 +000030}
31
32/// LLVMInitializeInstrumentation - C binding for
33/// initializeInstrumentation.
34void LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
35 initializeInstrumentation(*unwrap(R));
36}