[llvm] [NVPTX] Add NewPM boilerplate to NVPTXPrologEpilog (PR #215332)

Aiden Grossman via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 10 17:02:18 PDT 2026


================
@@ -277,3 +262,34 @@ NVPTXPrologEpilogPass::calculateFrameObjectOffsets(MachineFunction &Fn) {
   int64_t StackSize = Offset - LocalAreaOffset;
   MFI.setStackSize(StackSize);
 }
+
+namespace {
+class NVPTXPrologEpilogLegacyPass : public MachineFunctionPass {
+public:
+  static char ID;
+  NVPTXPrologEpilogLegacyPass() : MachineFunctionPass(ID) {}
+
+  bool runOnMachineFunction(MachineFunction &MF) override {
+    return NVPTXPrologEpilog().run(MF);
+  }
+
+  StringRef getPassName() const override { return "NVPTX Prolog Epilog Pass"; }
+};
+} // end anonymous namespace
+
+char NVPTXPrologEpilogLegacyPass::ID = 0;
+
+INITIALIZE_PASS(NVPTXPrologEpilogLegacyPass, DEBUG_TYPE,
+                "NVPTX Prologue/Epilogue Insertion", false, false)
+
+MachineFunctionPass *llvm::createNVPTXPrologEpilogLegacyPass() {
+  return new NVPTXPrologEpilogLegacyPass();
+}
+
+PreservedAnalyses
+NVPTXPrologEpilogPass::run(MachineFunction &MF,
+                           MachineFunctionAnalysisManager &MFAM) {
+  if (!NVPTXPrologEpilog().run(MF))
+    return PreservedAnalyses::all();
+  return getMachineFunctionPassPreservedAnalyses().preserveSet<CFGAnalyses>();
----------------
boomanaiden154 wrote:

We should preserve CFG analyses in the LegacyPM too.

https://github.com/llvm/llvm-project/pull/215332


More information about the llvm-commits mailing list