X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FTransforms%2FInstrumentation.h;h=bbf3a69d246d79b086f7e01d5f9230825606dec3;hb=bef377b7d7ce31edb40c87f8786d1b7bb6cdd6b1;hp=c28d3fb8d977d8d33714aaa16338feb7e64949bb;hpb=f858f7f3804ea20b80a38dab9b1b2d098e1df2a1;p=oota-llvm.git diff --git a/include/llvm/Transforms/Instrumentation.h b/include/llvm/Transforms/Instrumentation.h index c28d3fb8d97..bbf3a69d246 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. // //===----------------------------------------------------------------------===// @@ -19,26 +19,24 @@ namespace llvm { class ModulePass; class FunctionPass; -// Reoptimizer support pass: add instrumentation calls to back-edges of loops -ModulePass *createLoopInstrumentationPass (); - -// Reoptimizer support pass: combine multiple back-edges w/ same target into one -FunctionPass *createCombineBranchesPass(); +// Insert edge profiling instrumentation +ModulePass *createEdgeProfilerPass(); -// Reoptimizer support pass: emit table of global functions -FunctionPass *createEmitFunctionTablePass (); +// Insert optimal edge profiling instrumentation +ModulePass *createOptimalEdgeProfilerPass(); +// Insert path profiling instrumentation +ModulePass *createPathProfilerPass(); -//===----------------------------------------------------------------------===// -// Support for inserting LLVM code to print values at basic block and function -// exits. -// - -// Just trace function entry/exit -FunctionPass *createTraceValuesPassForBasicBlocks(); +// Insert GCOV profiling instrumentation +ModulePass *createGCOVProfilerPass(bool EmitNotes = true, bool EmitData = true, + bool Use402Format = false, + bool UseExtraChecksum = false); -// Trace BB's and methods -FunctionPass *createTraceValuesPassForFunction(); +// Insert AddressSanitizer (address sanity checking) instrumentation +ModulePass *createAddressSanitizerPass(); +// Insert ThreadSanitizer (race detection) instrumentation +FunctionPass *createThreadSanitizerPass(); } // End llvm namespace