[llvm] [NewPM] Port MachineDominanceFrontierAnalysis (PR #177709)

Anshul Nigham via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 31 18:20:19 PST 2026


================
@@ -73,11 +70,43 @@ class MachineDominanceFrontier : public MachineFunctionPass {
     return Base.find(B);
   }
 
+  bool analyze(MachineDominatorTree &MDT);
+
+  void releaseMemory();
+};
+
+class MachineDominanceFrontierWrapperPass : public MachineFunctionPass {
+private:
+  MachineDominanceFrontier MDF;
+
+public:
+  MachineDominanceFrontierWrapperPass();
+
+  MachineDominanceFrontierWrapperPass(
+      const MachineDominanceFrontierWrapperPass &) = delete;
+  MachineDominanceFrontierWrapperPass &
+  operator=(const MachineDominanceFrontierWrapperPass &) = delete;
+
+  static char ID;
+
   bool runOnMachineFunction(MachineFunction &F) override;
 
+  void getAnalysisUsage(AnalysisUsage &AU) const override;
+
   void releaseMemory() override;
 
-  void getAnalysisUsage(AnalysisUsage &AU) const override;
+  MachineDominanceFrontier &getMDF() { return MDF; }
+};
+
+class MachineDominanceFrontierAnalysis
+    : public AnalysisInfoMixin<MachineDominanceFrontierAnalysis> {
----------------
nigham wrote:

As discussed, skipping this for now.

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


More information about the llvm-commits mailing list