Skip to content

Commit d449d3d

Browse files
authored
[CodeGen] Remove FinalizeMachineBundles pass (#149806)
Replace its only use in the AMDGPU R600 backend with a call to finalizeBundles.
1 parent 756ac65 commit d449d3d

File tree

7 files changed

+3
-28
lines changed

7 files changed

+3
-28
lines changed

llvm/docs/ReleaseNotes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ Changes to LLVM infrastructure
8686
* Added the support for ``fmaximum`` and ``fminimum`` in ``atomicrmw`` instruction. The
8787
comparison is expected to match the behavior of ``llvm.maximum.*`` and
8888
``llvm.minimum.*`` respectively.
89+
* Removed the codegen pass ``finalize-mi-bundles``. The same functionality is
90+
still available as an API function ``llvm::finalizeBundles``.
8991

9092
Changes to building LLVM
9193
------------------------

llvm/include/llvm/CodeGen/Passes.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -438,10 +438,6 @@ LLVM_ABI extern char &UnpackMachineBundlesID;
438438
LLVM_ABI FunctionPass *
439439
createUnpackMachineBundles(std::function<bool(const MachineFunction &)> Ftor);
440440

441-
/// FinalizeMachineBundles - This pass finalize machine instruction
442-
/// bundles (created earlier, e.g. during pre-RA scheduling).
443-
LLVM_ABI extern char &FinalizeMachineBundlesID;
444-
445441
/// StackMapLiveness - This pass analyses the register live-out set of
446442
/// stackmap/patchpoint intrinsics and attaches the calculated information to
447443
/// the intrinsic for later emission to the StackMap.

llvm/include/llvm/InitializePasses.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@ LLVM_ABI void initializeExpandVariadicsPass(PassRegistry &);
119119
LLVM_ABI void initializeExternalAAWrapperPassPass(PassRegistry &);
120120
LLVM_ABI void initializeFEntryInserterLegacyPass(PassRegistry &);
121121
LLVM_ABI void initializeFinalizeISelPass(PassRegistry &);
122-
LLVM_ABI void initializeFinalizeMachineBundlesPass(PassRegistry &);
123122
LLVM_ABI void initializeFixIrreduciblePass(PassRegistry &);
124123
LLVM_ABI void initializeFixupStatepointCallerSavedLegacyPass(PassRegistry &);
125124
LLVM_ABI void initializeFlattenCFGLegacyPassPass(PassRegistry &);

llvm/lib/CodeGen/CodeGen.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ void llvm::initializeCodeGen(PassRegistry &Registry) {
4545
initializeExpandPostRALegacyPass(Registry);
4646
initializeFEntryInserterLegacyPass(Registry);
4747
initializeFinalizeISelPass(Registry);
48-
initializeFinalizeMachineBundlesPass(Registry);
4948
initializeFixupStatepointCallerSavedLegacyPass(Registry);
5049
initializeFuncletLayoutPass(Registry);
5150
initializeGCMachineCodeAnalysisPass(Registry);

llvm/lib/CodeGen/MachineInstrBundle.cpp

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -83,27 +83,6 @@ llvm::createUnpackMachineBundles(
8383
return new UnpackMachineBundles(std::move(Ftor));
8484
}
8585

86-
namespace {
87-
class FinalizeMachineBundles : public MachineFunctionPass {
88-
public:
89-
static char ID; // Pass identification
90-
FinalizeMachineBundles() : MachineFunctionPass(ID) {
91-
initializeFinalizeMachineBundlesPass(*PassRegistry::getPassRegistry());
92-
}
93-
94-
bool runOnMachineFunction(MachineFunction &MF) override;
95-
};
96-
} // end anonymous namespace
97-
98-
char FinalizeMachineBundles::ID = 0;
99-
char &llvm::FinalizeMachineBundlesID = FinalizeMachineBundles::ID;
100-
INITIALIZE_PASS(FinalizeMachineBundles, "finalize-mi-bundles",
101-
"Finalize machine instruction bundles", false, false)
102-
103-
bool FinalizeMachineBundles::runOnMachineFunction(MachineFunction &MF) {
104-
return llvm::finalizeBundles(MF);
105-
}
106-
10786
/// Return the first found DebugLoc that has a DILocation, given a range of
10887
/// instructions. The search range is from FirstMI to LastMI (exclusive). If no
10988
/// DILocation is found, then an empty location is returned.

llvm/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,5 +270,6 @@ bool R600ExpandSpecialInstrsPass::runOnMachineFunction(MachineFunction &MF) {
270270
MI.eraseFromParent();
271271
}
272272
}
273+
finalizeBundles(MF);
273274
return false;
274275
}

llvm/lib/Target/AMDGPU/R600TargetMachine.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ void R600PassConfig::addPreSched2() {
138138
void R600PassConfig::addPreEmitPass() {
139139
addPass(createR600MachineCFGStructurizerPass());
140140
addPass(createR600ExpandSpecialInstrsPass());
141-
addPass(&FinalizeMachineBundlesID);
142141
addPass(createR600Packetizer());
143142
addPass(createR600ControlFlowFinalizer());
144143
}

0 commit comments

Comments
 (0)