[llvm] Mark printer passes as required (PR #196126)

via llvm-commits llvm-commits at lists.llvm.org
Wed May 6 10:23:23 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-debuginfo

Author: Arthur Eubanks (aeubanks)

<details>
<summary>Changes</summary>

Printer passes should run even on optnone functions.

---
Full diff: https://github.com/llvm/llvm-project/pull/196126.diff


9 Files Affected:

- (modified) llvm/include/llvm/Analysis/DOTGraphTraitsPass.h (+2-2) 
- (modified) llvm/include/llvm/Analysis/HashRecognize.h (+1-1) 
- (modified) llvm/include/llvm/Analysis/ScalarEvolutionDivision.h (+1-1) 
- (modified) llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h (+1-1) 
- (modified) llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h (+1-1) 
- (modified) llvm/include/llvm/CodeGen/LiveDebugVariables.h (+1-1) 
- (modified) llvm/include/llvm/CodeGen/LiveStacks.h (+1-1) 
- (modified) llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h (+1-1) 
- (modified) llvm/include/llvm/Transforms/Scalar/LoopPassManager.h (+1-1) 


``````````diff
diff --git a/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h b/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
index 198c93ee07a45..fe48f9910acae 100644
--- a/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
+++ b/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
@@ -44,7 +44,7 @@ template <typename AnalysisT, bool IsSimple,
           typename AnalysisGraphTraitsT =
               DefaultAnalysisGraphTraits<typename AnalysisT::Result &, GraphT>>
 struct DOTGraphTraitsViewer
-    : OptionalPassInfoMixin<DOTGraphTraitsViewer<AnalysisT, IsSimple, GraphT,
+    : RequiredPassInfoMixin<DOTGraphTraitsViewer<AnalysisT, IsSimple, GraphT,
                                                  AnalysisGraphTraitsT>> {
   DOTGraphTraitsViewer(StringRef GraphName) : Name(GraphName) {}
 
@@ -124,7 +124,7 @@ template <typename AnalysisT, bool IsSimple,
           typename AnalysisGraphTraitsT =
               DefaultAnalysisGraphTraits<typename AnalysisT::Result &, GraphT>>
 struct DOTGraphTraitsPrinter
-    : OptionalPassInfoMixin<DOTGraphTraitsPrinter<AnalysisT, IsSimple, GraphT,
+    : RequiredPassInfoMixin<DOTGraphTraitsPrinter<AnalysisT, IsSimple, GraphT,
                                                   AnalysisGraphTraitsT>> {
   DOTGraphTraitsPrinter(StringRef GraphName) : Name(GraphName) {}
 
diff --git a/llvm/include/llvm/Analysis/HashRecognize.h b/llvm/include/llvm/Analysis/HashRecognize.h
index 71f8142cf056d..778f18f1d3871 100644
--- a/llvm/include/llvm/Analysis/HashRecognize.h
+++ b/llvm/include/llvm/Analysis/HashRecognize.h
@@ -94,7 +94,7 @@ class HashRecognize {
 };
 
 class HashRecognizePrinterPass
-    : public OptionalPassInfoMixin<HashRecognizePrinterPass> {
+    : public RequiredPassInfoMixin<HashRecognizePrinterPass> {
   raw_ostream &OS;
 
 public:
diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionDivision.h b/llvm/include/llvm/Analysis/ScalarEvolutionDivision.h
index 43f366e6550d4..7be8856f13f8c 100644
--- a/llvm/include/llvm/Analysis/ScalarEvolutionDivision.h
+++ b/llvm/include/llvm/Analysis/ScalarEvolutionDivision.h
@@ -83,7 +83,7 @@ struct SCEVDivision : public SCEVVisitor<SCEVDivision, void> {
 };
 
 class SCEVDivisionPrinterPass
-    : public OptionalPassInfoMixin<SCEVDivisionPrinterPass> {
+    : public RequiredPassInfoMixin<SCEVDivisionPrinterPass> {
   raw_ostream &OS;
   void runImpl(Function &F, ScalarEvolution &SE);
 
diff --git a/llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h b/llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h
index 4e9f3af2111a7..90a996a8f6901 100644
--- a/llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h
+++ b/llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h
@@ -113,7 +113,7 @@ class DebugAssignmentTrackingAnalysis
 };
 
 class DebugAssignmentTrackingPrinterPass
-    : public OptionalPassInfoMixin<DebugAssignmentTrackingPrinterPass> {
+    : public RequiredPassInfoMixin<DebugAssignmentTrackingPrinterPass> {
   raw_ostream &OS;
 
 public:
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h b/llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
index 02f9df7425623..722a45eeb07e5 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
@@ -193,7 +193,7 @@ class GISelValueTrackingAnalysis
 };
 
 class GISelValueTrackingPrinterPass
-    : public OptionalPassInfoMixin<GISelValueTrackingPrinterPass> {
+    : public RequiredPassInfoMixin<GISelValueTrackingPrinterPass> {
   raw_ostream &OS;
 
 public:
diff --git a/llvm/include/llvm/CodeGen/LiveDebugVariables.h b/llvm/include/llvm/CodeGen/LiveDebugVariables.h
index de008cfe767af..419b60e4e38a5 100644
--- a/llvm/include/llvm/CodeGen/LiveDebugVariables.h
+++ b/llvm/include/llvm/CodeGen/LiveDebugVariables.h
@@ -108,7 +108,7 @@ class LiveDebugVariablesAnalysis
 };
 
 class LiveDebugVariablesPrinterPass
-    : public OptionalPassInfoMixin<LiveDebugVariablesPrinterPass> {
+    : public RequiredPassInfoMixin<LiveDebugVariablesPrinterPass> {
   raw_ostream &OS;
 
 public:
diff --git a/llvm/include/llvm/CodeGen/LiveStacks.h b/llvm/include/llvm/CodeGen/LiveStacks.h
index 5eda0b13cd3fd..6494abbee4edb 100644
--- a/llvm/include/llvm/CodeGen/LiveStacks.h
+++ b/llvm/include/llvm/CodeGen/LiveStacks.h
@@ -125,7 +125,7 @@ class LiveStacksAnalysis : public AnalysisInfoMixin<LiveStacksAnalysis> {
 };
 
 class LiveStacksPrinterPass
-    : public OptionalPassInfoMixin<LiveStacksPrinterPass> {
+    : public RequiredPassInfoMixin<LiveStacksPrinterPass> {
   raw_ostream &OS;
 
 public:
diff --git a/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h b/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
index 6780d2dbd0a7d..e7dd8ff1d05cd 100644
--- a/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
+++ b/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
@@ -66,7 +66,7 @@ class MachineBranchProbabilityAnalysis
 };
 
 class MachineBranchProbabilityPrinterPass
-    : public OptionalPassInfoMixin<MachineBranchProbabilityPrinterPass> {
+    : public RequiredPassInfoMixin<MachineBranchProbabilityPrinterPass> {
   raw_ostream &OS;
 
 public:
diff --git a/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h b/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
index 86e53f15ba456..de9e63c125f5e 100644
--- a/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
+++ b/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
@@ -482,7 +482,7 @@ createFunctionToLoopPassAdaptor<LoopPassManager>(LoopPassManager &&LPM,
 }
 
 /// Pass for printing a loop's contents as textual IR.
-class PrintLoopPass : public OptionalPassInfoMixin<PrintLoopPass> {
+class PrintLoopPass : public RequiredPassInfoMixin<PrintLoopPass> {
   raw_ostream &OS;
   std::string Banner;
 

``````````

</details>


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


More information about the llvm-commits mailing list