[llvm] [NVPTX] Add NewPM boilerplate to NVPTXAddressFolder (PR #215334)

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


================
@@ -97,27 +97,33 @@ static bool foldAddresses(MachineFunction &MF) {
 /// ----------------------------------------------------------------------------
 
 namespace {
-struct NVPTXAddressFolderPass : public MachineFunctionPass {
+struct NVPTXAddressFolderLegacyPass : public MachineFunctionPass {
   static char ID;
-  NVPTXAddressFolderPass() : MachineFunctionPass(ID) {}
+  NVPTXAddressFolderLegacyPass() : MachineFunctionPass(ID) {}
 
-  bool runOnMachineFunction(MachineFunction &MF) override;
+  bool runOnMachineFunction(MachineFunction &MF) override {
+    return foldAddresses(MF);
+  }
 
   void getAnalysisUsage(AnalysisUsage &AU) const override {
     MachineFunctionPass::getAnalysisUsage(AU);
   }
 };
 } // namespace
 
-char NVPTXAddressFolderPass::ID = 0;
+char NVPTXAddressFolderLegacyPass::ID = 0;
 
-INITIALIZE_PASS(NVPTXAddressFolderPass, "nvptx-address-folder",
+INITIALIZE_PASS(NVPTXAddressFolderLegacyPass, "nvptx-address-folder",
                 "NVPTX Address Folder", false, false)
 
-bool NVPTXAddressFolderPass::runOnMachineFunction(MachineFunction &MF) {
-  return foldAddresses(MF);
+MachineFunctionPass *llvm::createNVPTXAddressFolderLegacyPass() {
+  return new NVPTXAddressFolderLegacyPass();
 }
 
-MachineFunctionPass *llvm::createNVPTXAddressFolderPass() {
-  return new NVPTXAddressFolderPass();
+PreservedAnalyses
+NVPTXAddressFolderPass::run(MachineFunction &MF,
+                            MachineFunctionAnalysisManager &MFAM) {
+  if (!foldAddresses(MF))
+    return PreservedAnalyses::all();
+  return getMachineFunctionPassPreservedAnalyses().preserveSet<CFGAnalyses>();
----------------
boomanaiden154 wrote:

We should preserve the CFG in the legacy PM too.

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


More information about the llvm-commits mailing list