1 //===- Transforms/Instrumentation.h - Instrumentation passes ----*- C++ -*-===// 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 constructor functions for instrumentation passes. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_H 15 #define LLVM_TRANSFORMS_INSTRUMENTATION_H 16 17 namespace llvm { 18 19 class ModulePass; 20 21 // Insert edge profiling instrumentation 22 ModulePass *createEdgeProfilerPass(); 23 24 // Insert optimal edge profiling instrumentation 25 ModulePass *createOptimalEdgeProfilerPass(); 26 27 // Insert path profiling instrumentation 28 ModulePass *createPathProfilerPass(); 29 30 // Insert GCOV profiling instrumentation 31 ModulePass *createGCOVProfilerPass(bool EmitNotes = true, bool EmitData = true, 32 bool Use402Format = false); 33 34 } // End llvm namespace 35 36 #endif 37