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
This commit is contained in:
Devang Patel
2007-05-02 21:39:20 +00:00
parent 749a89bd53
commit 3e15bf33e0
150 changed files with 312 additions and 313 deletions
@@ -33,11 +33,11 @@ using namespace llvm;
namespace {
class VISIBILITY_HIDDEN FunctionProfiler : public RSProfilers_std {
public:
static const int ID;
static const char ID;
bool runOnModule(Module &M);
};
const int FunctionProfiler::ID = 0;
const char FunctionProfiler::ID = 0;
RegisterPass<FunctionProfiler> X("insert-function-profiling",
"Insert instrumentation for function profiling");
@@ -84,10 +84,10 @@ namespace {
class BlockProfiler : public RSProfilers_std {
bool runOnModule(Module &M);
public:
static const int ID;
static const char ID;
};
const int BlockProfiler::ID = 0;
const char BlockProfiler::ID = 0;
RegisterPass<BlockProfiler> Y("insert-block-profiling",
"Insert instrumentation for block profiling");
RegisterAnalysisGroup<RSProfilers> YG(Y);
@@ -33,11 +33,11 @@ namespace {
class VISIBILITY_HIDDEN EdgeProfiler : public ModulePass {
bool runOnModule(Module &M);
public:
static const int ID; // Pass identifcation, replacement for typeid
static const char ID; // Pass identifcation, replacement for typeid
EdgeProfiler() : ModulePass((intptr_t)&ID) {}
};
const int EdgeProfiler::ID = 0;
const char EdgeProfiler::ID = 0;
RegisterPass<EdgeProfiler> X("insert-edge-profiling",
"Insert instrumentation for edge profiling");
}
@@ -69,7 +69,7 @@ namespace {
/// measuring framework overhead
class VISIBILITY_HIDDEN NullProfilerRS : public RSProfilers {
public:
static const int ID; // Pass identifcation, replacement for typeid
static const char ID; // Pass identifcation, replacement for typeid
bool isProfiling(Value* v) {
return false;
}
@@ -139,7 +139,7 @@ namespace {
/// ProfilerRS - Insert the random sampling framework
struct VISIBILITY_HIDDEN ProfilerRS : public FunctionPass {
static const int ID; // Pass identifcation, replacement for typeid
static const char ID; // Pass identifcation, replacement for typeid
ProfilerRS() : FunctionPass((intptr_t)&ID) {}
std::map<Value*, Value*> TransCache;
@@ -162,9 +162,9 @@ namespace {
"Insert random sampling instrumentation framework");
}
const int RSProfilers::ID = 0;
const int NullProfilerRS::ID = 0;
const int ProfilerRS::ID = 0;
const char RSProfilers::ID = 0;
const char NullProfilerRS::ID = 0;
const char ProfilerRS::ID = 0;
//Local utilities
static void ReplacePhiPred(BasicBlock* btarget,
+1 -1
View File
@@ -17,7 +17,7 @@ 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 int ID;
static const char ID;
std::set<Value*> profcode;
// Lookup up values in profcode
virtual bool isProfiling(Value* v);