1218885Sdim//===-- Instrumentation.cpp - TransformUtils Infrastructure ---------------===// 2218885Sdim// 3218885Sdim// The LLVM Compiler Infrastructure 4218885Sdim// 5218885Sdim// This file is distributed under the University of Illinois Open Source 6218885Sdim// License. See LICENSE.TXT for details. 7218885Sdim// 8218885Sdim//===----------------------------------------------------------------------===// 9218885Sdim// 10218885Sdim// This file defines the common initialization infrastructure for the 11218885Sdim// Instrumentation library. 12218885Sdim// 13218885Sdim//===----------------------------------------------------------------------===// 14218885Sdim 15218885Sdim#include "llvm/InitializePasses.h" 16251662Sdim#include "llvm/PassRegistry.h" 17218885Sdim#include "llvm-c/Initialization.h" 18218885Sdim 19218885Sdimusing namespace llvm; 20218885Sdim 21218885Sdim/// initializeInstrumentation - Initialize all passes in the TransformUtils 22218885Sdim/// library. 23218885Sdimvoid llvm::initializeInstrumentation(PassRegistry &Registry) { 24239462Sdim initializeAddressSanitizerPass(Registry); 25249423Sdim initializeAddressSanitizerModulePass(Registry); 26239462Sdim initializeBoundsCheckingPass(Registry); 27239462Sdim initializeGCOVProfilerPass(Registry); 28249423Sdim initializeMemorySanitizerPass(Registry); 29234353Sdim initializeThreadSanitizerPass(Registry); 30263508Sdim initializeDataFlowSanitizerPass(Registry); 31218885Sdim} 32218885Sdim 33218885Sdim/// LLVMInitializeInstrumentation - C binding for 34218885Sdim/// initializeInstrumentation. 35218885Sdimvoid LLVMInitializeInstrumentation(LLVMPassRegistryRef R) { 36218885Sdim initializeInstrumentation(*unwrap(R)); 37218885Sdim} 38