[llvm-branch-commits] [llvm] [CodeGen][NPM] Port PostRAHazardRecognizer to NPM (PR #130066)

Christudasan Devadasan via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Mar 10 05:52:42 PDT 2025


================
@@ -40,30 +41,45 @@ using namespace llvm;
 STATISTIC(NumNoops, "Number of noops inserted");
 
 namespace {
-  class PostRAHazardRecognizer : public MachineFunctionPass {
+struct PostRAHazardRecognizer {
+  bool run(MachineFunction &MF);
+};
 
-  public:
-    static char ID;
-    PostRAHazardRecognizer() : MachineFunctionPass(ID) {}
+class PostRAHazardRecognizerLegacy : public MachineFunctionPass {
 
-    void getAnalysisUsage(AnalysisUsage &AU) const override {
-      AU.setPreservesCFG();
-      MachineFunctionPass::getAnalysisUsage(AU);
-    }
+public:
+  static char ID;
+  PostRAHazardRecognizerLegacy() : MachineFunctionPass(ID) {}
 
-    bool runOnMachineFunction(MachineFunction &Fn) override;
+  void getAnalysisUsage(AnalysisUsage &AU) const override {
+    AU.setPreservesCFG();
+    MachineFunctionPass::getAnalysisUsage(AU);
+  }
 
-  };
-  char PostRAHazardRecognizer::ID = 0;
+  bool runOnMachineFunction(MachineFunction &Fn) override {
+    return PostRAHazardRecognizer().run(Fn);
+  }
+};
+char PostRAHazardRecognizerLegacy::ID = 0;
 
-}
+} // namespace
 
-char &llvm::PostRAHazardRecognizerID = PostRAHazardRecognizer::ID;
+char &llvm::PostRAHazardRecognizerID = PostRAHazardRecognizerLegacy::ID;
 
-INITIALIZE_PASS(PostRAHazardRecognizer, DEBUG_TYPE,
+INITIALIZE_PASS(PostRAHazardRecognizerLegacy, DEBUG_TYPE,
                 "Post RA hazard recognizer", false, false)
 
-bool PostRAHazardRecognizer::runOnMachineFunction(MachineFunction &Fn) {
+PreservedAnalyses
+llvm::PostRAHazardRecognizerPass::run(MachineFunction &MF,
+                                      MachineFunctionAnalysisManager &MFAM) {
+  if (!PostRAHazardRecognizer().run(MF))
+    return PreservedAnalyses::all();
+  auto PA = getMachineFunctionPassPreservedAnalyses();
----------------
cdevadas wrote:

```suggestion
    return PreservedAnalyses::all();
    
  auto PA = getMachineFunctionPassPreservedAnalyses();
```

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


More information about the llvm-branch-commits mailing list