[llvm] [NPM] Make few more passes required - 2 (PR #213608)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 3 00:49:12 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Vikram Hegde (vikramRH)

<details>
<summary>Changes</summary>

as discussed in https://github.com/llvm/llvm-project/pull/203511,  few of these should not really be required (such as sink) with O0/opt-none, yet we require this for consistency between legacy and NPM. We need to look at the passes separately and selectively make strictly optimizing passes optional.

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


12 Files Affected:

- (modified) llvm/include/llvm/CodeGen/ExpandReductions.h (+1-1) 
- (modified) llvm/include/llvm/CodeGen/LiveDebugValuesPass.h (+1-1) 
- (modified) llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h (+1-1) 
- (modified) llvm/include/llvm/Transforms/Scalar/FlattenCFG.h (+1-1) 
- (modified) llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h (+1-1) 
- (modified) llvm/include/llvm/Transforms/Scalar/Sink.h (+1-1) 
- (modified) llvm/include/llvm/Transforms/Utils/FixIrreducible.h (+1-1) 
- (modified) llvm/include/llvm/Transforms/Utils/LowerInvoke.h (+1-1) 
- (modified) llvm/include/llvm/Transforms/Utils/LowerSwitch.h (+1-1) 
- (modified) llvm/lib/Target/AMDGPU/AMDGPU.h (+1-1) 
- (modified) llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.h (+1-1) 
- (modified) llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.h (+1-1) 


``````````diff
diff --git a/llvm/include/llvm/CodeGen/ExpandReductions.h b/llvm/include/llvm/CodeGen/ExpandReductions.h
index 25b88aef93ad4..a7c1b3692d229 100644
--- a/llvm/include/llvm/CodeGen/ExpandReductions.h
+++ b/llvm/include/llvm/CodeGen/ExpandReductions.h
@@ -14,7 +14,7 @@
 namespace llvm {
 
 class ExpandReductionsPass
-    : public OptionalPassInfoMixin<ExpandReductionsPass> {
+    : public RequiredPassInfoMixin<ExpandReductionsPass> {
 public:
   LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
 };
diff --git a/llvm/include/llvm/CodeGen/LiveDebugValuesPass.h b/llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
index 437569c08c04a..b098cf27f8057 100644
--- a/llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
+++ b/llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
@@ -13,7 +13,7 @@
 
 namespace llvm {
 
-class LiveDebugValuesPass : public OptionalPassInfoMixin<LiveDebugValuesPass> {
+class LiveDebugValuesPass : public RequiredPassInfoMixin<LiveDebugValuesPass> {
   const bool ShouldEmitDebugEntryValues;
 
 public:
diff --git a/llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h b/llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
index 1c2a8321bae10..0ad6c2612a324 100644
--- a/llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
+++ b/llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
@@ -14,7 +14,7 @@
 namespace llvm {
 
 class RemoveRedundantDebugValuesPass
-    : public OptionalPassInfoMixin<RemoveRedundantDebugValuesPass> {
+    : public RequiredPassInfoMixin<RemoveRedundantDebugValuesPass> {
 public:
   LLVM_ABI PreservedAnalyses run(MachineFunction &MF,
                                  MachineFunctionAnalysisManager &MFAM);
diff --git a/llvm/include/llvm/Transforms/Scalar/FlattenCFG.h b/llvm/include/llvm/Transforms/Scalar/FlattenCFG.h
index 68f74758cb75a..41925e81cf9d0 100644
--- a/llvm/include/llvm/Transforms/Scalar/FlattenCFG.h
+++ b/llvm/include/llvm/Transforms/Scalar/FlattenCFG.h
@@ -17,7 +17,7 @@
 #include "llvm/IR/PassManager.h"
 
 namespace llvm {
-struct FlattenCFGPass : OptionalPassInfoMixin<FlattenCFGPass> {
+struct FlattenCFGPass : RequiredPassInfoMixin<FlattenCFGPass> {
   LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
 };
 } // namespace llvm
diff --git a/llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h b/llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
index 11959e1c67a92..372628b26d5f6 100644
--- a/llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
+++ b/llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
@@ -21,7 +21,7 @@
 namespace llvm {
 
 struct ScalarizeMaskedMemIntrinPass
-    : public OptionalPassInfoMixin<ScalarizeMaskedMemIntrinPass> {
+    : public RequiredPassInfoMixin<ScalarizeMaskedMemIntrinPass> {
   LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
 };
 } // end namespace llvm
diff --git a/llvm/include/llvm/Transforms/Scalar/Sink.h b/llvm/include/llvm/Transforms/Scalar/Sink.h
index f9bd0747ad047..a2cc2e78dfe97 100644
--- a/llvm/include/llvm/Transforms/Scalar/Sink.h
+++ b/llvm/include/llvm/Transforms/Scalar/Sink.h
@@ -21,7 +21,7 @@ namespace llvm {
 class Function;
 
 /// Move instructions into successor blocks when possible.
-class SinkingPass : public OptionalPassInfoMixin<SinkingPass> {
+class SinkingPass : public RequiredPassInfoMixin<SinkingPass> {
 public:
   LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
 };
diff --git a/llvm/include/llvm/Transforms/Utils/FixIrreducible.h b/llvm/include/llvm/Transforms/Utils/FixIrreducible.h
index b10ca1a590a37..332c15970f0f6 100644
--- a/llvm/include/llvm/Transforms/Utils/FixIrreducible.h
+++ b/llvm/include/llvm/Transforms/Utils/FixIrreducible.h
@@ -12,7 +12,7 @@
 #include "llvm/IR/PassManager.h"
 
 namespace llvm {
-struct FixIrreduciblePass : OptionalPassInfoMixin<FixIrreduciblePass> {
+struct FixIrreduciblePass : RequiredPassInfoMixin<FixIrreduciblePass> {
   LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
 };
 } // namespace llvm
diff --git a/llvm/include/llvm/Transforms/Utils/LowerInvoke.h b/llvm/include/llvm/Transforms/Utils/LowerInvoke.h
index a1f5734dafc9e..5bed1309e1d06 100644
--- a/llvm/include/llvm/Transforms/Utils/LowerInvoke.h
+++ b/llvm/include/llvm/Transforms/Utils/LowerInvoke.h
@@ -19,7 +19,7 @@
 
 namespace llvm {
 
-class LowerInvokePass : public OptionalPassInfoMixin<LowerInvokePass> {
+class LowerInvokePass : public RequiredPassInfoMixin<LowerInvokePass> {
 public:
   LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
 };
diff --git a/llvm/include/llvm/Transforms/Utils/LowerSwitch.h b/llvm/include/llvm/Transforms/Utils/LowerSwitch.h
index 652fc91c56f71..7566c340b9009 100644
--- a/llvm/include/llvm/Transforms/Utils/LowerSwitch.h
+++ b/llvm/include/llvm/Transforms/Utils/LowerSwitch.h
@@ -18,7 +18,7 @@
 #include "llvm/IR/PassManager.h"
 
 namespace llvm {
-struct LowerSwitchPass : public OptionalPassInfoMixin<LowerSwitchPass> {
+struct LowerSwitchPass : public RequiredPassInfoMixin<LowerSwitchPass> {
   LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
 };
 } // namespace llvm
diff --git a/llvm/lib/Target/AMDGPU/AMDGPU.h b/llvm/lib/Target/AMDGPU/AMDGPU.h
index c72fa69aa1419..9c507cee6152f 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPU.h
+++ b/llvm/lib/Target/AMDGPU/AMDGPU.h
@@ -509,7 +509,7 @@ void initializeAMDGPURewriteUndefForPHILegacyPass(PassRegistry &);
 extern char &AMDGPURewriteUndefForPHILegacyPassID;
 
 class AMDGPURewriteUndefForPHIPass
-    : public OptionalPassInfoMixin<AMDGPURewriteUndefForPHIPass> {
+    : public RequiredPassInfoMixin<AMDGPURewriteUndefForPHIPass> {
 public:
   AMDGPURewriteUndefForPHIPass() = default;
   PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.h b/llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.h
index 9a692f0979c11..57d4648b202a0 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.h
+++ b/llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.h
@@ -14,7 +14,7 @@
 namespace llvm {
 
 class AMDGPULowerVGPREncodingPass
-    : public OptionalPassInfoMixin<AMDGPULowerVGPREncodingPass> {
+    : public RequiredPassInfoMixin<AMDGPULowerVGPREncodingPass> {
 public:
   PreservedAnalyses run(MachineFunction &MF,
                         MachineFunctionAnalysisManager &MFAM);
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.h b/llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.h
index b8c345cc3359b..02017c65359f5 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.h
+++ b/llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.h
@@ -14,7 +14,7 @@
 namespace llvm {
 
 class AMDGPUPreloadKernArgPrologPass
-    : public OptionalPassInfoMixin<AMDGPUPreloadKernArgPrologPass> {
+    : public RequiredPassInfoMixin<AMDGPUPreloadKernArgPrologPass> {
 public:
   PreservedAnalyses run(MachineFunction &MF,
                         MachineFunctionAnalysisManager &AM);

``````````

</details>


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


More information about the llvm-commits mailing list