// Register the AliasAnalysis interface, providing a nice name to refer to.
namespace {
- const int AliasAnalysis::ID = 0;
RegisterAnalysisGroup<AliasAnalysis> Z("Alias Analysis");
}
+const int AliasAnalysis::ID = 0;
//===----------------------------------------------------------------------===//
// Default chaining methods
}
};
-const int CallGraph::ID = 0;
+
RegisterAnalysisGroup<CallGraph> X("Call Graph");
-const int BasicCallGraph::ID = 0;
RegisterPass<BasicCallGraph> Y("basiccg", "Basic CallGraph Construction");
RegisterAnalysisGroup<CallGraph, true> Z(Y);
} //End anonymous namespace
+const int CallGraph::ID = 0;
+const int BasicCallGraph::ID = 0;
+
void CallGraph::initialize(Module &M) {
Mod = &M;
}
// Register the ProfileInfo interface, providing a nice name to refer to.
namespace {
- const int ProfileInfo::ID = 0;
RegisterAnalysisGroup<ProfileInfo> Z("Profile Information");
}
+const int ProfileInfo::ID = 0;
ProfileInfo::~ProfileInfo() {}
cl::init(100));
namespace {
- const int ScalarEvolution::ID = 0;
RegisterPass<ScalarEvolution>
R("scalar-evolution", "Scalar Evolution Analysis");
}
+const int ScalarEvolution::ID = 0;
//===----------------------------------------------------------------------===//
// SCEV class definitions
STATISTIC(numFolded , "Number of loads/stores folded into instructions");
STATISTIC(numAborts , "Number of times interval joining aborted");
+const int LiveIntervals::ID = 0;
namespace {
- const int LiveIntervals::ID = 0;
RegisterPass<LiveIntervals> X("liveintervals", "Live Interval Analysis");
static cl::opt<bool>
// Handle the Pass registration stuff necessary to use TargetData's.
namespace {
- const int MachineModuleInfo::ID = 0;
RegisterPass<MachineModuleInfo> X("machinemoduleinfo", "Module Information");
}
+const int MachineModuleInfo::ID = 0;
//===----------------------------------------------------------------------===//
// Handle the Pass registration stuff necessary to use TargetData's.
namespace {
// Register the default SparcV9 implementation...
- const int TargetData::ID = 0;
RegisterPass<TargetData> X("targetdata", "Target Data Layout");
}
+const int TargetData::ID = 0;
//===----------------------------------------------------------------------===//
// Support for StructLayout
}
};
- const int RSProfilers::ID = 0;
static RegisterAnalysisGroup<RSProfilers> A("Profiling passes");
- const int NullProfilerRS::ID = 0;
static RegisterPass<NullProfilerRS> NP("insert-null-profiling-rs",
"Measure profiling framework overhead");
static RegisterAnalysisGroup<RSProfilers, true> NPT(NP);
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
};
- const int ProfilerRS::ID = 0;
RegisterPass<ProfilerRS> X("insert-rs-profiling-framework",
"Insert random sampling instrumentation framework");
}
+const int RSProfilers::ID = 0;
+const int NullProfilerRS::ID = 0;
+const int ProfilerRS::ID = 0;
+
//Local utilities
static void ReplacePhiPred(BasicBlock* btarget,
BasicBlock* bold, BasicBlock* bnew);