forked from OSchip/llvm-project
[LegacyPM] Remove GCOVProfilerLegacyPass
Using the legacy PM for the optimization pipeline was deprecated in 13.0.0. Following recent changes to remove non-core features of the legacy PM/optimization pipeline, remove GCOVProfilerLegacyPass. I have checked many LLVM users and only llvm-hs[1] uses the legacy gcov pass. [1]: https://github.com/llvm-hs/llvm-hs/issues/392 Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D123829
This commit is contained in:
parent
1283ccb610
commit
409eb5dc3e
|
@ -172,7 +172,6 @@ void initializeFunctionImportLegacyPassPass(PassRegistry&);
|
|||
void initializeFunctionSpecializationLegacyPassPass(PassRegistry &);
|
||||
void initializeGCMachineCodeAnalysisPass(PassRegistry&);
|
||||
void initializeGCModuleInfoPass(PassRegistry&);
|
||||
void initializeGCOVProfilerLegacyPassPass(PassRegistry&);
|
||||
void initializeGVNHoistLegacyPassPass(PassRegistry&);
|
||||
void initializeGVNLegacyPassPass(PassRegistry&);
|
||||
void initializeGVNSinkLegacyPassPass(PassRegistry&);
|
||||
|
|
|
@ -102,7 +102,6 @@ namespace {
|
|||
(void) llvm::createDomPrinterPass();
|
||||
(void) llvm::createDomOnlyViewerPass();
|
||||
(void) llvm::createDomViewerPass();
|
||||
(void) llvm::createGCOVProfilerPass();
|
||||
(void) llvm::createInstrProfilingLegacyPass();
|
||||
(void) llvm::createFunctionImportPass();
|
||||
(void) llvm::createFunctionInliningPass();
|
||||
|
|
|
@ -75,9 +75,6 @@ struct GCOVOptions {
|
|||
std::string Exclude;
|
||||
};
|
||||
|
||||
ModulePass *createGCOVProfilerPass(const GCOVOptions &Options =
|
||||
GCOVOptions::getDefault());
|
||||
|
||||
ModulePass *createCGProfileLegacyPass();
|
||||
|
||||
// The pgo-specific indirect call promotion function declared below is used by
|
||||
|
|
|
@ -165,39 +165,6 @@ private:
|
|||
StringMap<bool> InstrumentedFiles;
|
||||
};
|
||||
|
||||
class GCOVProfilerLegacyPass : public ModulePass {
|
||||
public:
|
||||
static char ID;
|
||||
GCOVProfilerLegacyPass()
|
||||
: GCOVProfilerLegacyPass(GCOVOptions::getDefault()) {}
|
||||
GCOVProfilerLegacyPass(const GCOVOptions &Opts)
|
||||
: ModulePass(ID), Profiler(Opts) {
|
||||
initializeGCOVProfilerLegacyPassPass(*PassRegistry::getPassRegistry());
|
||||
}
|
||||
StringRef getPassName() const override { return "GCOV Profiler"; }
|
||||
|
||||
bool runOnModule(Module &M) override {
|
||||
auto GetBFI = [this](Function &F) {
|
||||
return &this->getAnalysis<BlockFrequencyInfoWrapperPass>(F).getBFI();
|
||||
};
|
||||
auto GetBPI = [this](Function &F) {
|
||||
return &this->getAnalysis<BranchProbabilityInfoWrapperPass>(F).getBPI();
|
||||
};
|
||||
auto GetTLI = [this](Function &F) -> const TargetLibraryInfo & {
|
||||
return this->getAnalysis<TargetLibraryInfoWrapperPass>().getTLI(F);
|
||||
};
|
||||
return Profiler.runOnModule(M, GetBFI, GetBPI, GetTLI);
|
||||
}
|
||||
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const override {
|
||||
AU.addRequired<BlockFrequencyInfoWrapperPass>();
|
||||
AU.addRequired<TargetLibraryInfoWrapperPass>();
|
||||
}
|
||||
|
||||
private:
|
||||
GCOVProfiler Profiler;
|
||||
};
|
||||
|
||||
struct BBInfo {
|
||||
BBInfo *Group;
|
||||
uint32_t Index;
|
||||
|
@ -233,21 +200,6 @@ struct Edge {
|
|||
};
|
||||
}
|
||||
|
||||
char GCOVProfilerLegacyPass::ID = 0;
|
||||
INITIALIZE_PASS_BEGIN(
|
||||
GCOVProfilerLegacyPass, "insert-gcov-profiling",
|
||||
"Insert instrumentation for GCOV profiling", false, false)
|
||||
INITIALIZE_PASS_DEPENDENCY(BlockFrequencyInfoWrapperPass)
|
||||
INITIALIZE_PASS_DEPENDENCY(BranchProbabilityInfoWrapperPass)
|
||||
INITIALIZE_PASS_DEPENDENCY(TargetLibraryInfoWrapperPass)
|
||||
INITIALIZE_PASS_END(
|
||||
GCOVProfilerLegacyPass, "insert-gcov-profiling",
|
||||
"Insert instrumentation for GCOV profiling", false, false)
|
||||
|
||||
ModulePass *llvm::createGCOVProfilerPass(const GCOVOptions &Options) {
|
||||
return new GCOVProfilerLegacyPass(Options);
|
||||
}
|
||||
|
||||
static StringRef getFunctionName(const DISubprogram *SP) {
|
||||
if (!SP->getLinkageName().empty())
|
||||
return SP->getLinkageName();
|
||||
|
|
|
@ -97,7 +97,6 @@ void llvm::initializeInstrumentation(PassRegistry &Registry) {
|
|||
initializeModuleMemProfilerLegacyPassPass(Registry);
|
||||
initializeBoundsCheckingLegacyPassPass(Registry);
|
||||
initializeControlHeightReductionLegacyPassPass(Registry);
|
||||
initializeGCOVProfilerLegacyPassPass(Registry);
|
||||
initializeCGProfileLegacyPassPass(Registry);
|
||||
initializeInstrOrderFileLegacyPassPass(Registry);
|
||||
initializeInstrProfilingLegacyPassPass(Registry);
|
||||
|
|
Loading…
Reference in New Issue