[llvm] [CodeGen][NewPM] Port MachineCycleInfo to NPM (PR #114745)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 24 01:42:13 PST 2025
================
@@ -54,43 +54,63 @@ void MachineCycleInfoWrapperPass::releaseMemory() {
F = nullptr;
}
+AnalysisKey MachineCycleAnalysis::Key;
+
+MachineCycleInfo
+MachineCycleAnalysis::run(MachineFunction &MF,
+ MachineFunctionAnalysisManager &MFAM) {
+ MachineCycleInfo MCI;
+ MCI.compute(MF);
+ return MCI;
+}
+
namespace {
-class MachineCycleInfoPrinterPass : public MachineFunctionPass {
+class MachineCycleInfoPrinterLegacy : public MachineFunctionPass {
public:
static char ID;
- MachineCycleInfoPrinterPass();
+ MachineCycleInfoPrinterLegacy();
bool runOnMachineFunction(MachineFunction &F) override;
void getAnalysisUsage(AnalysisUsage &AU) const override;
};
} // namespace
-char MachineCycleInfoPrinterPass::ID = 0;
+char MachineCycleInfoPrinterLegacy::ID = 0;
-MachineCycleInfoPrinterPass::MachineCycleInfoPrinterPass()
+MachineCycleInfoPrinterLegacy::MachineCycleInfoPrinterLegacy()
: MachineFunctionPass(ID) {
- initializeMachineCycleInfoPrinterPassPass(*PassRegistry::getPassRegistry());
+ initializeMachineCycleInfoPrinterLegacyPass(*PassRegistry::getPassRegistry());
}
-INITIALIZE_PASS_BEGIN(MachineCycleInfoPrinterPass, "print-machine-cycles",
+INITIALIZE_PASS_BEGIN(MachineCycleInfoPrinterLegacy, "print-machine-cycles",
"Print Machine Cycle Info Analysis", true, true)
INITIALIZE_PASS_DEPENDENCY(MachineCycleInfoWrapperPass)
-INITIALIZE_PASS_END(MachineCycleInfoPrinterPass, "print-machine-cycles",
+INITIALIZE_PASS_END(MachineCycleInfoPrinterLegacy, "print-machine-cycles",
"Print Machine Cycle Info Analysis", true, true)
-void MachineCycleInfoPrinterPass::getAnalysisUsage(AnalysisUsage &AU) const {
+void MachineCycleInfoPrinterLegacy::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
AU.addRequired<MachineCycleInfoWrapperPass>();
MachineFunctionPass::getAnalysisUsage(AU);
}
-bool MachineCycleInfoPrinterPass::runOnMachineFunction(MachineFunction &F) {
+bool MachineCycleInfoPrinterLegacy::runOnMachineFunction(MachineFunction &F) {
auto &CI = getAnalysis<MachineCycleInfoWrapperPass>();
CI.print(errs());
return false;
}
+PreservedAnalyses
+MachineCycleInfoPrinterPass::run(MachineFunction &MF,
+ MachineFunctionAnalysisManager &MFAM) {
+ OS << "MachineCycleInfo for function: " << MF.getName() << "\n";
----------------
arsenm wrote:
I think we should rip all of this out. This can be done generically outside the pass if it's useful
https://github.com/llvm/llvm-project/pull/114745
More information about the llvm-commits
mailing list