blob: 27505859100bada34cd100bebd7180f46ff7b91f [file] [log] [blame]
Owen Anderson97868682010-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"
Chandler Carruth8a8cd2b2014-01-07 11:48:04 +000017#include "llvm/PassRegistry.h"
Owen Anderson97868682010-10-07 20:17:24 +000018
19using namespace llvm;
20
21/// initializeInstrumentation - Initialize all passes in the TransformUtils
22/// library.
23void llvm::initializeInstrumentation(PassRegistry &Registry) {
Chandler Carruthc8acd7c2012-07-22 05:19:32 +000024 initializeAddressSanitizerPass(Registry);
Kostya Serebryanydfe9e792012-11-28 10:31:36 +000025 initializeAddressSanitizerModulePass(Registry);
Chandler Carruthc8acd7c2012-07-22 05:19:32 +000026 initializeBoundsCheckingPass(Registry);
Chandler Carruthc8acd7c2012-07-22 05:19:32 +000027 initializeGCOVProfilerPass(Registry);
Justin Bogner61ba2e32014-12-08 18:02:35 +000028 initializeInstrProfilingPass(Registry);
Evgeniy Stepanovd4bd7b72012-11-29 09:57:20 +000029 initializeMemorySanitizerPass(Registry);
Kostya Serebryanye2a0e412012-02-13 22:50:51 +000030 initializeThreadSanitizerPass(Registry);
Kostya Serebryany29a18dc2014-11-11 22:14:37 +000031 initializeSanitizerCoverageModulePass(Registry);
Peter Collingbournee5d5b0c2013-08-07 22:47:18 +000032 initializeDataFlowSanitizerPass(Registry);
Peter Collingbourne82437bf2015-06-15 21:07:11 +000033 initializeSafeStackPass(Registry);
Owen Anderson97868682010-10-07 20:17:24 +000034}
35
36/// LLVMInitializeInstrumentation - C binding for
37/// initializeInstrumentation.
38void LLVMInitializeInstrumentation(LLVMPassRegistryRef R) {
39 initializeInstrumentation(*unwrap(R));
40}