Skip to content

Commit 3cc523d

Browse files
[NewPM] Remove UnifyFunctionExitNodesLegacyPass (#72816)
UnifyFunctionExitNodesLegacyPass isn't used anywhere in upstream and thus isn't tested at all. For these reasons, remove it.
1 parent 61332cb commit 3cc523d

File tree

5 files changed

+0
-49
lines changed

5 files changed

+0
-49
lines changed

llvm/include/llvm/InitializePasses.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,6 @@ void initializeTwoAddressInstructionPassPass(PassRegistry&);
323323
void initializeTypeBasedAAWrapperPassPass(PassRegistry&);
324324
void initializeTypePromotionLegacyPass(PassRegistry&);
325325
void initializeUniformityInfoWrapperPassPass(PassRegistry &);
326-
void initializeUnifyFunctionExitNodesLegacyPassPass(PassRegistry &);
327326
void initializeUnifyLoopExitsLegacyPassPass(PassRegistry &);
328327
void initializeUnpackMachineBundlesPass(PassRegistry&);
329328
void initializeUnreachableBlockElimLegacyPassPass(PassRegistry&);

llvm/include/llvm/LinkAllPasses.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
#include "llvm/Transforms/Scalar/Scalarizer.h"
4545
#include "llvm/Transforms/Utils.h"
4646
#include "llvm/Transforms/Utils/SymbolRewriter.h"
47-
#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
4847
#include "llvm/Transforms/Vectorize/LoadStoreVectorizer.h"
4948
#include <cstdlib>
5049

@@ -119,7 +118,6 @@ namespace {
119118
(void) llvm::createSingleLoopExtractorPass();
120119
(void) llvm::createTailCallEliminationPass();
121120
(void)llvm::createTLSVariableHoistPass();
122-
(void) llvm::createUnifyFunctionExitNodesPass();
123121
(void) llvm::createInstCountPass();
124122
(void) llvm::createConstantHoistingPass();
125123
(void) llvm::createCodeGenPreparePass();

llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,6 @@
1919

2020
namespace llvm {
2121

22-
class UnifyFunctionExitNodesLegacyPass : public FunctionPass {
23-
public:
24-
static char ID; // Pass identification, replacement for typeid
25-
UnifyFunctionExitNodesLegacyPass();
26-
27-
// We can preserve non-critical-edgeness when we unify function exit nodes
28-
void getAnalysisUsage(AnalysisUsage &AU) const override;
29-
30-
bool runOnFunction(Function &F) override;
31-
};
32-
33-
Pass *createUnifyFunctionExitNodesPass();
34-
3522
class UnifyFunctionExitNodesPass
3623
: public PassInfoMixin<UnifyFunctionExitNodesPass> {
3724
public:

llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,9 @@
1616
#include "llvm/IR/Function.h"
1717
#include "llvm/IR/Instructions.h"
1818
#include "llvm/IR/Type.h"
19-
#include "llvm/InitializePasses.h"
2019
#include "llvm/Transforms/Utils.h"
2120
using namespace llvm;
2221

23-
char UnifyFunctionExitNodesLegacyPass::ID = 0;
24-
25-
UnifyFunctionExitNodesLegacyPass::UnifyFunctionExitNodesLegacyPass()
26-
: FunctionPass(ID) {
27-
initializeUnifyFunctionExitNodesLegacyPassPass(
28-
*PassRegistry::getPassRegistry());
29-
}
30-
31-
INITIALIZE_PASS(UnifyFunctionExitNodesLegacyPass, "mergereturn",
32-
"Unify function exit nodes", false, false)
33-
34-
Pass *llvm::createUnifyFunctionExitNodesPass() {
35-
return new UnifyFunctionExitNodesLegacyPass();
36-
}
37-
38-
void UnifyFunctionExitNodesLegacyPass::getAnalysisUsage(
39-
AnalysisUsage &AU) const {
40-
// We preserve the non-critical-edgeness property
41-
AU.addPreservedID(BreakCriticalEdgesID);
42-
}
43-
4422
namespace {
4523

4624
bool unifyUnreachableBlocks(Function &F) {
@@ -108,16 +86,6 @@ bool unifyReturnBlocks(Function &F) {
10886
}
10987
} // namespace
11088

111-
// Unify all exit nodes of the CFG by creating a new BasicBlock, and converting
112-
// all returns to unconditional branches to this new basic block. Also, unify
113-
// all unreachable blocks.
114-
bool UnifyFunctionExitNodesLegacyPass::runOnFunction(Function &F) {
115-
bool Changed = false;
116-
Changed |= unifyUnreachableBlocks(F);
117-
Changed |= unifyReturnBlocks(F);
118-
return Changed;
119-
}
120-
12189
PreservedAnalyses UnifyFunctionExitNodesPass::run(Function &F,
12290
FunctionAnalysisManager &AM) {
12391
bool Changed = false;

llvm/lib/Transforms/Utils/Utils.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ void llvm::initializeTransformUtils(PassRegistry &Registry) {
3030
initializeLowerInvokeLegacyPassPass(Registry);
3131
initializeLowerSwitchLegacyPassPass(Registry);
3232
initializePromoteLegacyPassPass(Registry);
33-
initializeUnifyFunctionExitNodesLegacyPassPass(Registry);
3433
initializeStripGCRelocatesLegacyPass(Registry);
3534
initializePredicateInfoPrinterLegacyPassPass(Registry);
3635
initializeFixIrreduciblePass(Registry);

0 commit comments

Comments
 (0)