X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FTransforms%2FInstrumentation.h;h=baa6364f5090e45f8ae210408b8a04c4e7609c39;hb=2d24e2a396a1d211baaeedf32148a3b657240170;hp=84e3e54c205dc895270c1bb63d5b527fc654592d;hpb=701f5ac73c782da45d5007f72f7d3dc514166acd;p=oota-llvm.git diff --git a/include/llvm/Transforms/Instrumentation.h b/include/llvm/Transforms/Instrumentation.h index 84e3e54c205..baa6364f509 100644 --- a/include/llvm/Transforms/Instrumentation.h +++ b/include/llvm/Transforms/Instrumentation.h @@ -2,12 +2,12 @@ // // 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. // //===----------------------------------------------------------------------===// @@ -17,49 +17,23 @@ namespace llvm { class ModulePass; -class FunctionPass; -// Reoptimizer support pass: add instrumentation calls to back-edges of loops -FunctionPass *createLoopInstrumentationPass (); - -// Reoptimizer support pass: combine multiple back-edges w/ same target into one -FunctionPass *createCombineBranchesPass(); - -// Reoptimizer support pass: emit table of global functions -ModulePass *createEmitFunctionTablePass (); - -// Reoptimizer support pass: insert function profiling instrumentation -ModulePass *createFunctionProfilerPass(); - -// Reoptimizer support pass: insert block profiling instrumentation -ModulePass *createBlockProfilerPass(); - -// Reoptimizer support pass: insert edge profiling instrumentation +// Insert edge profiling instrumentation ModulePass *createEdgeProfilerPass(); -// Reoptimizer support pass: insert basic block tracing instrumentation -ModulePass *createTraceBasicBlockPass(); +// Insert optimal edge profiling instrumentation +ModulePass *createOptimalEdgeProfilerPass(); -// Reoptimizer support pass: insert counting of execute paths instrumentation -FunctionPass *createProfilePathsPass(); - -// Random Sampling Profiling Framework -ModulePass* createBlockProfilerRSPass(); -ModulePass* createFunctionProfilerRSPass(); -ModulePass* createNullProfilerRSPass(); -FunctionPass* createRSProfilingPass(); - - -//===----------------------------------------------------------------------===// -// Support for inserting LLVM code to print values at basic block and function -// exits. -// +// Insert path profiling instrumentation +ModulePass *createPathProfilerPass(); -// 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(); } // End llvm namespace