[llvm-branch-commits] [SPIRV] Mark NewPM Passes RequirePassInfoMixin (PR #218202)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sat Aug 22 22:44:51 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-spir-v
Author: Aiden Grossman (boomanaiden154)
<details>
<summary>Changes</summary>
These were converted from PassInfoMixin to OptionalPassInfoMixin when it
was originally introduced given none of these classes defined
isRequired. However, the LegacyPM versions of the passes never call
skipFunction and they are necessary for lowering, so mark them required.
This changes the behavior on the function passes. This is a no-op on the
module passes, but more clearly indicates intent.
---
Full diff: https://github.com/llvm/llvm-project/pull/218202.diff
13 Files Affected:
- (modified) llvm/lib/Target/SPIRV/SPIRVCBufferAccess.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVFinalizeShaderLinkage.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVPushConstantAccess.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVRegularizer.h (+1-1)
- (modified) llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h (+1-1)
``````````diff
diff --git a/llvm/lib/Target/SPIRV/SPIRVCBufferAccess.h b/llvm/lib/Target/SPIRV/SPIRVCBufferAccess.h
index 6ac0a9c6eed6f..1097d75c406d2 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCBufferAccess.h
+++ b/llvm/lib/Target/SPIRV/SPIRVCBufferAccess.h
@@ -12,7 +12,7 @@
namespace llvm {
-class SPIRVCBufferAccess : public OptionalPassInfoMixin<SPIRVCBufferAccess> {
+class SPIRVCBufferAccess : public RequiredPassInfoMixin<SPIRVCBufferAccess> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
};
diff --git a/llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.h b/llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.h
index 55e10c9aca962..2cbe590cde8a3 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.h
+++ b/llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.h
@@ -17,7 +17,7 @@ class PassRegistry;
/// Lower llvm.global_ctors and llvm.global_dtors to special kernels.
class SPIRVCtorDtorLoweringPass
- : public OptionalPassInfoMixin<SPIRVCtorDtorLoweringPass> {
+ : public RequiredPassInfoMixin<SPIRVCtorDtorLoweringPass> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
};
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.h b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.h
index 1e75bec07d097..a31f9d32761f3 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.h
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.h
@@ -16,7 +16,7 @@ namespace llvm {
class SPIRVTargetMachine;
class SPIRVEmitIntrinsicsPass
- : public OptionalPassInfoMixin<SPIRVEmitIntrinsicsPass> {
+ : public RequiredPassInfoMixin<SPIRVEmitIntrinsicsPass> {
const SPIRVTargetMachine &TM;
public:
diff --git a/llvm/lib/Target/SPIRV/SPIRVFinalizeShaderLinkage.h b/llvm/lib/Target/SPIRV/SPIRVFinalizeShaderLinkage.h
index c8ba6d513ca1c..340ce914bcc9a 100644
--- a/llvm/lib/Target/SPIRV/SPIRVFinalizeShaderLinkage.h
+++ b/llvm/lib/Target/SPIRV/SPIRVFinalizeShaderLinkage.h
@@ -21,7 +21,7 @@ namespace llvm {
class SPIRVTargetMachine;
class SPIRVFinalizeShaderLinkage
- : public OptionalPassInfoMixin<SPIRVFinalizeShaderLinkage> {
+ : public RequiredPassInfoMixin<SPIRVFinalizeShaderLinkage> {
const SPIRVTargetMachine &TM;
public:
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.h b/llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.h
index 874a790054b1f..860c1b41087ce 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.h
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.h
@@ -14,7 +14,7 @@
namespace llvm {
class SPIRVLegalizeImplicitBinding
- : public OptionalPassInfoMixin<SPIRVLegalizeImplicitBinding> {
+ : public RequiredPassInfoMixin<SPIRVLegalizeImplicitBinding> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
};
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.h b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.h
index cad6fb3760a81..408369f88b84f 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.h
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.h
@@ -16,7 +16,7 @@ namespace llvm {
class SPIRVTargetMachine;
class SPIRVLegalizePointerCast
- : public OptionalPassInfoMixin<SPIRVLegalizePointerCast> {
+ : public RequiredPassInfoMixin<SPIRVLegalizePointerCast> {
const SPIRVTargetMachine &TM;
public:
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.h b/llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.h
index a84cd83974941..86c840bf2f969 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.h
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.h
@@ -16,7 +16,7 @@ namespace llvm {
class SPIRVTargetMachine;
class SPIRVLegalizeZeroSizeArrays
- : public OptionalPassInfoMixin<SPIRVLegalizeZeroSizeArrays> {
+ : public RequiredPassInfoMixin<SPIRVLegalizeZeroSizeArrays> {
const SPIRVTargetMachine &TM;
public:
diff --git a/llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.h b/llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.h
index abff1a349522d..e3559932deb38 100644
--- a/llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.h
+++ b/llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.h
@@ -14,7 +14,7 @@
namespace llvm {
class SPIRVMergeRegionExitTargets
- : public OptionalPassInfoMixin<SPIRVMergeRegionExitTargets> {
+ : public RequiredPassInfoMixin<SPIRVMergeRegionExitTargets> {
public:
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
};
diff --git a/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.h b/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.h
index f8924ad61ed92..49436f616f07e 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.h
+++ b/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.h
@@ -16,7 +16,7 @@ namespace llvm {
class SPIRVTargetMachine;
class SPIRVPrepareFunctions
- : public OptionalPassInfoMixin<SPIRVPrepareFunctions> {
+ : public RequiredPassInfoMixin<SPIRVPrepareFunctions> {
const SPIRVTargetMachine &TM;
public:
diff --git a/llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.h b/llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.h
index 429a4c53b243a..395a2fd7303cd 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.h
+++ b/llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.h
@@ -13,7 +13,7 @@
namespace llvm {
-class SPIRVPrepareGlobals : public OptionalPassInfoMixin<SPIRVPrepareGlobals> {
+class SPIRVPrepareGlobals : public RequiredPassInfoMixin<SPIRVPrepareGlobals> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
};
diff --git a/llvm/lib/Target/SPIRV/SPIRVPushConstantAccess.h b/llvm/lib/Target/SPIRV/SPIRVPushConstantAccess.h
index ea5330f431817..be234871d2778 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPushConstantAccess.h
+++ b/llvm/lib/Target/SPIRV/SPIRVPushConstantAccess.h
@@ -15,7 +15,7 @@
namespace llvm {
class SPIRVPushConstantAccess
- : public OptionalPassInfoMixin<SPIRVPushConstantAccess> {
+ : public RequiredPassInfoMixin<SPIRVPushConstantAccess> {
const SPIRVTargetMachine &TM;
public:
diff --git a/llvm/lib/Target/SPIRV/SPIRVRegularizer.h b/llvm/lib/Target/SPIRV/SPIRVRegularizer.h
index 9b86c2d4622ab..8279d33eb8bf9 100644
--- a/llvm/lib/Target/SPIRV/SPIRVRegularizer.h
+++ b/llvm/lib/Target/SPIRV/SPIRVRegularizer.h
@@ -13,7 +13,7 @@
namespace llvm {
-class SPIRVRegularizer : public OptionalPassInfoMixin<SPIRVRegularizer> {
+class SPIRVRegularizer : public RequiredPassInfoMixin<SPIRVRegularizer> {
public:
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
};
diff --git a/llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h b/llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
index eec39ced6a2ff..9f698b0218ef8 100644
--- a/llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
+++ b/llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
@@ -19,7 +19,7 @@
namespace llvm {
class SPIRVStructurizerWrapper
- : public OptionalPassInfoMixin<SPIRVStructurizerWrapper> {
+ : public RequiredPassInfoMixin<SPIRVStructurizerWrapper> {
public:
PreservedAnalyses run(Function &M, FunctionAnalysisManager &AM);
};
``````````
</details>
https://github.com/llvm/llvm-project/pull/218202
More information about the llvm-branch-commits
mailing list