X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FTransforms%2FInstrumentation.h;h=baa6364f5090e45f8ae210408b8a04c4e7609c39;hb=16717a7c562d05915c1b30792eef24de5b264cc6;hp=035b8d1e0c1476ea789f55d9bd4ebd1c3af1a730;hpb=d0fde30ce850b78371fd1386338350591f9ff494;p=oota-llvm.git diff --git a/include/llvm/Transforms/Instrumentation.h b/include/llvm/Transforms/Instrumentation.h index 035b8d1e0c1..baa6364f509 100644 --- a/include/llvm/Transforms/Instrumentation.h +++ b/include/llvm/Transforms/Instrumentation.h @@ -1,13 +1,13 @@ //===- Transforms/Instrumentation.h - Instrumentation passes ----*- C++ -*-===// -// +// // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. -// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// //===----------------------------------------------------------------------===// // -// This files defines constructor functions for instrumentation passes. +// This file defines constructor functions for instrumentation passes. // //===----------------------------------------------------------------------===// @@ -16,14 +16,24 @@ namespace llvm { -class Pass; +class ModulePass; -//===----------------------------------------------------------------------===// -// Support for inserting LLVM code to print values at basic block and function -// exits. -// -Pass *createTraceValuesPassForFunction(); // Just trace function entry/exit -Pass *createTraceValuesPassForBasicBlocks(); // Trace BB's and methods +// Insert edge profiling instrumentation +ModulePass *createEdgeProfilerPass(); + +// Insert optimal edge profiling instrumentation +ModulePass *createOptimalEdgeProfilerPass(); + +// Insert path profiling instrumentation +ModulePass *createPathProfilerPass(); + +// Insert GCOV profiling instrumentation +ModulePass *createGCOVProfilerPass(bool EmitNotes = true, bool EmitData = true, + bool Use402Format = false, + bool UseExtraChecksum = false); + +// Insert AddressSanitizer (address sanity checking) instrumentation +ModulePass *createAddressSanitizerPass(); } // End llvm namespace