[llvm] 0f4e9e7 - [CodeGen] Add no-op machine function pass for test purpose (#79541)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 26 00:16:40 PST 2024


Author: paperchalice
Date: 2024-01-26T16:16:35+08:00
New Revision: 0f4e9e718b4e79d3f760fd7ea399c23fc97a7716

URL: https://github.com/llvm/llvm-project/commit/0f4e9e718b4e79d3f760fd7ea399c23fc97a7716
DIFF: https://github.com/llvm/llvm-project/commit/0f4e9e718b4e79d3f760fd7ea399c23fc97a7716.diff

LOG: [CodeGen] Add no-op machine function pass for test purpose (#79541)

Added: 
    

Modified: 
    llvm/include/llvm/Passes/MachinePassRegistry.def
    llvm/include/llvm/Passes/PassBuilder.h

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Passes/MachinePassRegistry.def b/llvm/include/llvm/Passes/MachinePassRegistry.def
index ffea0ffd3045498..9df3bae107b17ec 100644
--- a/llvm/include/llvm/Passes/MachinePassRegistry.def
+++ b/llvm/include/llvm/Passes/MachinePassRegistry.def
@@ -127,6 +127,7 @@ MACHINE_FUNCTION_ANALYSIS("pass-instrumentation", PassInstrumentationAnalysis,
 #endif
 // MACHINE_FUNCTION_PASS("free-machine-function", FreeMachineFunctionPass, ())
 // MACHINE_FUNCTION_PASS("mir-printer", PrintMIRPass, ())
+MACHINE_FUNCTION_PASS("no-op-machine-function", NoOpMachineFunctionPass, ())
 #undef MACHINE_FUNCTION_PASS
 
 // After a pass is converted to new pass manager, its entry should be moved from

diff  --git a/llvm/include/llvm/Passes/PassBuilder.h b/llvm/include/llvm/Passes/PassBuilder.h
index 7339b8a988232d8..10c5b7c00bae332 100644
--- a/llvm/include/llvm/Passes/PassBuilder.h
+++ b/llvm/include/llvm/Passes/PassBuilder.h
@@ -852,6 +852,14 @@ struct NoOpLoopPass : PassInfoMixin<NoOpLoopPass> {
   }
 };
 
+/// No-op machine function pass which does nothing.
+struct NoOpMachineFunctionPass
+    : public MachinePassInfoMixin<NoOpMachineFunctionPass> {
+  PreservedAnalyses run(MachineFunction &, MachineFunctionAnalysisManager &) {
+    return PreservedAnalyses::all();
+  }
+};
+
 /// No-op loop analysis.
 class NoOpLoopAnalysis : public AnalysisInfoMixin<NoOpLoopAnalysis> {
   friend AnalysisInfoMixin<NoOpLoopAnalysis>;


        


More information about the llvm-commits mailing list