Files
llvm-6502/lib/Transforms/Instrumentation/RSProfiling.h
Devang Patel 3e15bf33e0 Use 'static const char' instead of 'static const int'.
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-02 21:39:20 +00:00

32 lines
1.2 KiB
C++

//===- RSProfiling.h - Various profiling using random sampling ----------===//
//
// 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.
//
//===----------------------------------------------------------------------===//
//
// See notes in RSProfiling.cpp
//
//===----------------------------------------------------------------------===//
#include "llvm/Transforms/RSProfiling.h"
#include <set>
namespace llvm {
/// RSProfilers_std - a simple support class for profilers that handles most
/// of the work of chaining and tracking inserted code.
struct RSProfilers_std : public RSProfilers {
static const char ID;
std::set<Value*> profcode;
// Lookup up values in profcode
virtual bool isProfiling(Value* v);
// handles required chaining
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
// places counter updates in basic blocks and recordes added instructions in
// profcode
void IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum,
GlobalValue *CounterArray);
};
}