Home | History | Annotate | Download | only in Transforms
      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