LLVM API Documentation
00001 //===- Transforms/Instrumentation.h - Instrumentation passes ----*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file defines constructor functions for instrumentation passes. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_H 00015 #define LLVM_TRANSFORMS_INSTRUMENTATION_H 00016 00017 namespace llvm { 00018 00019 class ModulePass; 00020 class FunctionPass; 00021 00022 // Insert function profiling instrumentation 00023 ModulePass *createFunctionProfilerPass(); 00024 00025 // Insert block profiling instrumentation 00026 ModulePass *createBlockProfilerPass(); 00027 00028 // Insert edge profiling instrumentation 00029 ModulePass *createEdgeProfilerPass(); 00030 00031 // Random Sampling Profiling Framework 00032 ModulePass* createNullProfilerRSPass(); 00033 FunctionPass* createRSProfilingPass(); 00034 00035 } // End llvm namespace 00036 00037 #endif