[LegacyPM] Remove {,PostInline}EntryExitInstrumenterPass
Following recent changes removing non-core features of the legacy PM/optimization pipeline.
This commit is contained in:
parent
8293645e1b
commit
7225213c0a
|
@ -145,7 +145,6 @@ void initializeEarlyTailDuplicatePass(PassRegistry&);
|
|||
void initializeEdgeBundlesPass(PassRegistry&);
|
||||
void initializeEHContGuardCatchretPass(PassRegistry &);
|
||||
void initializeEliminateAvailableExternallyLegacyPassPass(PassRegistry&);
|
||||
void initializeEntryExitInstrumenterPass(PassRegistry&);
|
||||
void initializeExpandMemCmpPassPass(PassRegistry&);
|
||||
void initializeExpandPostRAPass(PassRegistry&);
|
||||
void initializeExpandReductionsPass(PassRegistry&);
|
||||
|
@ -339,7 +338,6 @@ void initializePostDomOnlyViewerWrapperPassPass(PassRegistry &);
|
|||
void initializePostDomPrinterWrapperPassPass(PassRegistry &);
|
||||
void initializePostDomViewerWrapperPassPass(PassRegistry &);
|
||||
void initializePostDominatorTreeWrapperPassPass(PassRegistry&);
|
||||
void initializePostInlineEntryExitInstrumenterPass(PassRegistry&);
|
||||
void initializePostMachineSchedulerPass(PassRegistry&);
|
||||
void initializePostOrderFunctionAttrsLegacyPassPass(PassRegistry&);
|
||||
void initializePostRAHazardRecognizerPass(PassRegistry&);
|
||||
|
|
|
@ -174,8 +174,6 @@ namespace {
|
|||
(void) llvm::createInstCountPass();
|
||||
(void) llvm::createConstantHoistingPass();
|
||||
(void) llvm::createCodeGenPreparePass();
|
||||
(void) llvm::createEntryExitInstrumenterPass();
|
||||
(void) llvm::createPostInlineEntryExitInstrumenterPass();
|
||||
(void) llvm::createEarlyCSEPass();
|
||||
(void) llvm::createGVNHoistPass();
|
||||
(void) llvm::createMergedLoadStoreMotionPass();
|
||||
|
|
|
@ -48,15 +48,6 @@ extern char &InstructionNamerID;
|
|||
FunctionPass *createLowerSwitchPass();
|
||||
extern char &LowerSwitchID;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// EntryExitInstrumenter pass - Instrument function entry/exit with calls to
|
||||
// mcount(), @__cyg_profile_func_{enter,exit} and the like. There are two
|
||||
// variants, intended to run pre- and post-inlining, respectively.
|
||||
//
|
||||
FunctionPass *createEntryExitInstrumenterPass();
|
||||
FunctionPass *createPostInlineEntryExitInstrumenterPass();
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// BreakCriticalEdges - Break all of the critical edges in the CFG by inserting
|
||||
|
|
|
@ -111,8 +111,6 @@ void llvm::initializeScalarOpts(PassRegistry &Registry) {
|
|||
initializeLoopLoadEliminationPass(Registry);
|
||||
initializeLoopSimplifyCFGLegacyPassPass(Registry);
|
||||
initializeLoopVersioningLegacyPassPass(Registry);
|
||||
initializeEntryExitInstrumenterPass(Registry);
|
||||
initializePostInlineEntryExitInstrumenterPass(Registry);
|
||||
}
|
||||
|
||||
void LLVMAddLoopSimplifyCFGPass(LLVMPassManagerRef PM) {
|
||||
|
|
|
@ -117,65 +117,6 @@ static bool runOnFunction(Function &F, bool PostInlining) {
|
|||
return Changed;
|
||||
}
|
||||
|
||||
namespace {
|
||||
struct EntryExitInstrumenter : public FunctionPass {
|
||||
static char ID;
|
||||
EntryExitInstrumenter() : FunctionPass(ID) {
|
||||
initializeEntryExitInstrumenterPass(*PassRegistry::getPassRegistry());
|
||||
}
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const override {
|
||||
AU.addPreserved<GlobalsAAWrapperPass>();
|
||||
AU.addPreserved<DominatorTreeWrapperPass>();
|
||||
}
|
||||
bool runOnFunction(Function &F) override { return ::runOnFunction(F, false); }
|
||||
};
|
||||
char EntryExitInstrumenter::ID = 0;
|
||||
|
||||
struct PostInlineEntryExitInstrumenter : public FunctionPass {
|
||||
static char ID;
|
||||
PostInlineEntryExitInstrumenter() : FunctionPass(ID) {
|
||||
initializePostInlineEntryExitInstrumenterPass(
|
||||
*PassRegistry::getPassRegistry());
|
||||
}
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const override {
|
||||
AU.addPreserved<GlobalsAAWrapperPass>();
|
||||
AU.addPreserved<DominatorTreeWrapperPass>();
|
||||
}
|
||||
bool runOnFunction(Function &F) override { return ::runOnFunction(F, true); }
|
||||
};
|
||||
char PostInlineEntryExitInstrumenter::ID = 0;
|
||||
}
|
||||
|
||||
INITIALIZE_PASS_BEGIN(
|
||||
EntryExitInstrumenter, "ee-instrument",
|
||||
"Instrument function entry/exit with calls to e.g. mcount() (pre inlining)",
|
||||
false, false)
|
||||
INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
|
||||
INITIALIZE_PASS_END(
|
||||
EntryExitInstrumenter, "ee-instrument",
|
||||
"Instrument function entry/exit with calls to e.g. mcount() (pre inlining)",
|
||||
false, false)
|
||||
|
||||
INITIALIZE_PASS_BEGIN(
|
||||
PostInlineEntryExitInstrumenter, "post-inline-ee-instrument",
|
||||
"Instrument function entry/exit with calls to e.g. mcount() "
|
||||
"(post inlining)",
|
||||
false, false)
|
||||
INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
|
||||
INITIALIZE_PASS_END(
|
||||
PostInlineEntryExitInstrumenter, "post-inline-ee-instrument",
|
||||
"Instrument function entry/exit with calls to e.g. mcount() "
|
||||
"(post inlining)",
|
||||
false, false)
|
||||
|
||||
FunctionPass *llvm::createEntryExitInstrumenterPass() {
|
||||
return new EntryExitInstrumenter();
|
||||
}
|
||||
|
||||
FunctionPass *llvm::createPostInlineEntryExitInstrumenterPass() {
|
||||
return new PostInlineEntryExitInstrumenter();
|
||||
}
|
||||
|
||||
PreservedAnalyses
|
||||
llvm::EntryExitInstrumenterPass::run(Function &F, FunctionAnalysisManager &AM) {
|
||||
runOnFunction(F, PostInlining);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: opt -ee-instrument < %s | opt -inline | opt -post-inline-ee-instrument | llc -mtriple=powerpc64-unknown-linux-gnu | FileCheck %s
|
||||
; RUN: opt -S -passes='function(ee-instrument),cgscc(inline),function(ee-instrument<post-inline>)' %s | llc -mtriple=powerpc64-unknown-linux-gnu | FileCheck %s
|
||||
|
||||
; The run-line mimics how Clang might run the instrumentation passes.
|
||||
|
||||
|
|
|
@ -359,8 +359,6 @@ int main(int argc, char **argv) {
|
|||
initializeCodeGen(*Registry);
|
||||
initializeLoopStrengthReducePass(*Registry);
|
||||
initializeLowerIntrinsicsPass(*Registry);
|
||||
initializeEntryExitInstrumenterPass(*Registry);
|
||||
initializePostInlineEntryExitInstrumenterPass(*Registry);
|
||||
initializeUnreachableBlockElimLegacyPassPass(*Registry);
|
||||
initializeConstantHoistingLegacyPassPass(*Registry);
|
||||
initializeScalarOpts(*Registry);
|
||||
|
|
|
@ -519,8 +519,6 @@ int main(int argc, char **argv) {
|
|||
initializeIndirectBrExpandPassPass(Registry);
|
||||
initializeInterleavedLoadCombinePass(Registry);
|
||||
initializeInterleavedAccessPass(Registry);
|
||||
initializeEntryExitInstrumenterPass(Registry);
|
||||
initializePostInlineEntryExitInstrumenterPass(Registry);
|
||||
initializeUnreachableBlockElimLegacyPassPass(Registry);
|
||||
initializeExpandReductionsPass(Registry);
|
||||
initializeExpandVectorPredicationPass(Registry);
|
||||
|
|
Loading…
Reference in New Issue