[llvm] 1decc0e - [PassManager] Mark some codegen passes as required (#196172)
via llvm-commits
llvm-commits at lists.llvm.org
Wed May 6 13:51:15 PDT 2026
Author: Arthur Eubanks
Date: 2026-05-06T20:51:10Z
New Revision: 1decc0e01d945b75484001ad89a6ac31c3639501
URL: https://github.com/llvm/llvm-project/commit/1decc0e01d945b75484001ad89a6ac31c3639501
DIFF: https://github.com/llvm/llvm-project/commit/1decc0e01d945b75484001ad89a6ac31c3639501.diff
LOG: [PassManager] Mark some codegen passes as required (#196172)
These are required for lowering but were accidentally added as optional.
Added:
Modified:
llvm/include/llvm/CodeGen/AtomicExpand.h
llvm/include/llvm/CodeGen/DwarfEHPrepare.h
llvm/include/llvm/CodeGen/GCMetadata.h
llvm/include/llvm/CodeGen/IndirectBrExpand.h
llvm/include/llvm/CodeGen/InlineAsmPrepare.h
llvm/include/llvm/CodeGen/JMCInstrumenter.h
llvm/include/llvm/CodeGen/LowerEmuTLS.h
llvm/include/llvm/CodeGen/MachineCFGPrinter.h
llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
llvm/include/llvm/CodeGen/MachineInstrBundle.h
llvm/include/llvm/CodeGen/MachineStripDebug.h
llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
llvm/include/llvm/CodeGen/RegUsageInfoPropagate.h
llvm/include/llvm/CodeGen/ReplaceWithVeclib.h
llvm/include/llvm/CodeGen/SafeStack.h
llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
llvm/include/llvm/CodeGen/SjLjEHPrepare.h
llvm/include/llvm/CodeGen/StackColoring.h
llvm/include/llvm/CodeGen/StackProtector.h
llvm/include/llvm/CodeGen/WasmEHPrepare.h
llvm/include/llvm/CodeGen/WinEHPrepare.h
Removed:
################################################################################
diff --git a/llvm/include/llvm/CodeGen/AtomicExpand.h b/llvm/include/llvm/CodeGen/AtomicExpand.h
index 7b9d44773e83f..d7f8dd1f33e65 100644
--- a/llvm/include/llvm/CodeGen/AtomicExpand.h
+++ b/llvm/include/llvm/CodeGen/AtomicExpand.h
@@ -16,7 +16,7 @@ namespace llvm {
class Function;
class TargetMachine;
-class AtomicExpandPass : public OptionalPassInfoMixin<AtomicExpandPass> {
+class AtomicExpandPass : public RequiredPassInfoMixin<AtomicExpandPass> {
private:
const TargetMachine *TM;
diff --git a/llvm/include/llvm/CodeGen/DwarfEHPrepare.h b/llvm/include/llvm/CodeGen/DwarfEHPrepare.h
index e4202928f6b2a..8f71feb20ef63 100644
--- a/llvm/include/llvm/CodeGen/DwarfEHPrepare.h
+++ b/llvm/include/llvm/CodeGen/DwarfEHPrepare.h
@@ -20,7 +20,7 @@ namespace llvm {
class TargetMachine;
-class DwarfEHPreparePass : public OptionalPassInfoMixin<DwarfEHPreparePass> {
+class DwarfEHPreparePass : public RequiredPassInfoMixin<DwarfEHPreparePass> {
const TargetMachine *TM;
public:
diff --git a/llvm/include/llvm/CodeGen/GCMetadata.h b/llvm/include/llvm/CodeGen/GCMetadata.h
index dc69887686c46..f7974ccba90a9 100644
--- a/llvm/include/llvm/CodeGen/GCMetadata.h
+++ b/llvm/include/llvm/CodeGen/GCMetadata.h
@@ -226,7 +226,7 @@ class GCFunctionAnalysis : public AnalysisInfoMixin<GCFunctionAnalysis> {
/// and custom intrinsic lowering.
///
/// This pass requires `CollectorMetadataAnalysis`.
-class GCLoweringPass : public OptionalPassInfoMixin<GCLoweringPass> {
+class GCLoweringPass : public RequiredPassInfoMixin<GCLoweringPass> {
public:
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM);
};
diff --git a/llvm/include/llvm/CodeGen/IndirectBrExpand.h b/llvm/include/llvm/CodeGen/IndirectBrExpand.h
index 47ba7327280a1..6f729fa8ba122 100644
--- a/llvm/include/llvm/CodeGen/IndirectBrExpand.h
+++ b/llvm/include/llvm/CodeGen/IndirectBrExpand.h
@@ -16,7 +16,7 @@ namespace llvm {
class TargetMachine;
class IndirectBrExpandPass
- : public OptionalPassInfoMixin<IndirectBrExpandPass> {
+ : public RequiredPassInfoMixin<IndirectBrExpandPass> {
const TargetMachine *TM;
public:
diff --git a/llvm/include/llvm/CodeGen/InlineAsmPrepare.h b/llvm/include/llvm/CodeGen/InlineAsmPrepare.h
index 1ded964b03b9c..fe52cf54259d1 100644
--- a/llvm/include/llvm/CodeGen/InlineAsmPrepare.h
+++ b/llvm/include/llvm/CodeGen/InlineAsmPrepare.h
@@ -14,7 +14,7 @@
namespace llvm {
class InlineAsmPreparePass
- : public OptionalPassInfoMixin<InlineAsmPreparePass> {
+ : public RequiredPassInfoMixin<InlineAsmPreparePass> {
public:
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM);
};
diff --git a/llvm/include/llvm/CodeGen/JMCInstrumenter.h b/llvm/include/llvm/CodeGen/JMCInstrumenter.h
index ee2d78c6cd922..6f1a690a8b096 100644
--- a/llvm/include/llvm/CodeGen/JMCInstrumenter.h
+++ b/llvm/include/llvm/CodeGen/JMCInstrumenter.h
@@ -13,7 +13,7 @@
namespace llvm {
-class JMCInstrumenterPass : public OptionalPassInfoMixin<JMCInstrumenterPass> {
+class JMCInstrumenterPass : public RequiredPassInfoMixin<JMCInstrumenterPass> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
};
diff --git a/llvm/include/llvm/CodeGen/LowerEmuTLS.h b/llvm/include/llvm/CodeGen/LowerEmuTLS.h
index 75aec168223d4..73dcbd1eef5ac 100644
--- a/llvm/include/llvm/CodeGen/LowerEmuTLS.h
+++ b/llvm/include/llvm/CodeGen/LowerEmuTLS.h
@@ -19,7 +19,7 @@
namespace llvm {
-class LowerEmuTLSPass : public OptionalPassInfoMixin<LowerEmuTLSPass> {
+class LowerEmuTLSPass : public RequiredPassInfoMixin<LowerEmuTLSPass> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
};
diff --git a/llvm/include/llvm/CodeGen/MachineCFGPrinter.h b/llvm/include/llvm/CodeGen/MachineCFGPrinter.h
index 990201dfce589..bee79a9273b93 100644
--- a/llvm/include/llvm/CodeGen/MachineCFGPrinter.h
+++ b/llvm/include/llvm/CodeGen/MachineCFGPrinter.h
@@ -90,7 +90,7 @@ struct DOTGraphTraits<DOTMachineFuncInfo *> : public DefaultDOTGraphTraits {
}
};
-class MachineCFGPrinterPass : public PassInfoMixin<MachineCFGPrinterPass> {
+class MachineCFGPrinterPass : public RequiredPassInfoMixin<MachineCFGPrinterPass> {
public:
LLVM_ABI PreservedAnalyses run(MachineFunction &MF,
MachineFunctionAnalysisManager &MFAM);
diff --git a/llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h b/llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
index b8372de4f94f0..d08432f1ae87f 100644
--- a/llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
+++ b/llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
@@ -47,7 +47,7 @@ class MachineFunctionAnalysis
};
class FreeMachineFunctionPass
- : public OptionalPassInfoMixin<FreeMachineFunctionPass> {
+ : public RequiredPassInfoMixin<FreeMachineFunctionPass> {
public:
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM);
};
diff --git a/llvm/include/llvm/CodeGen/MachineInstrBundle.h b/llvm/include/llvm/CodeGen/MachineInstrBundle.h
index a581b6ef270b1..ad3347c41854e 100644
--- a/llvm/include/llvm/CodeGen/MachineInstrBundle.h
+++ b/llvm/include/llvm/CodeGen/MachineInstrBundle.h
@@ -296,14 +296,14 @@ LLVM_ABI PhysRegInfo AnalyzePhysRegInBundle(const MachineInstr &MI,
const TargetRegisterInfo *TRI);
class FinalizeBundleTestPass
- : public OptionalPassInfoMixin<FinalizeBundleTestPass> {
+ : public RequiredPassInfoMixin<FinalizeBundleTestPass> {
public:
- LLVM_ABI PreservedAnalyses run(MachineFunction &MF,
- MachineFunctionAnalysisManager &MFAM);
+ PreservedAnalyses run(MachineFunction &MF,
+ MachineFunctionAnalysisManager &MFAM);
};
class UnpackMachineBundlesPass
- : public OptionalPassInfoMixin<UnpackMachineBundlesPass> {
+ : public RequiredPassInfoMixin<UnpackMachineBundlesPass> {
public:
UnpackMachineBundlesPass(
diff --git a/llvm/include/llvm/CodeGen/MachineStripDebug.h b/llvm/include/llvm/CodeGen/MachineStripDebug.h
index c6873967d49a8..096debd0058ef 100644
--- a/llvm/include/llvm/CodeGen/MachineStripDebug.h
+++ b/llvm/include/llvm/CodeGen/MachineStripDebug.h
@@ -22,7 +22,7 @@
namespace llvm {
class StripDebugMachineModulePass
- : public OptionalPassInfoMixin<StripDebugMachineModulePass> {
+ : public RequiredPassInfoMixin<StripDebugMachineModulePass> {
public:
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
};
diff --git a/llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h b/llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
index c163402b37775..b04870c913472 100644
--- a/llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
+++ b/llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
@@ -21,7 +21,7 @@ class Module;
class TargetMachine;
struct PreISelIntrinsicLoweringPass
- : OptionalPassInfoMixin<PreISelIntrinsicLoweringPass> {
+ : RequiredPassInfoMixin<PreISelIntrinsicLoweringPass> {
const TargetMachine *TM;
PreISelIntrinsicLoweringPass(const TargetMachine *TM) : TM(TM) {}
diff --git a/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h b/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
index 964d7e169ba05..7539097dd0597 100644
--- a/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
+++ b/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
@@ -14,7 +14,7 @@
namespace llvm {
class ProcessImplicitDefsPass
- : public OptionalPassInfoMixin<ProcessImplicitDefsPass> {
+ : public RequiredPassInfoMixin<ProcessImplicitDefsPass> {
public:
PreservedAnalyses run(MachineFunction &MF,
MachineFunctionAnalysisManager &MFAM);
diff --git a/llvm/include/llvm/CodeGen/RegUsageInfoPropagate.h b/llvm/include/llvm/CodeGen/RegUsageInfoPropagate.h
index 3b030b1f1a7df..f22d456c14974 100644
--- a/llvm/include/llvm/CodeGen/RegUsageInfoPropagate.h
+++ b/llvm/include/llvm/CodeGen/RegUsageInfoPropagate.h
@@ -14,7 +14,7 @@
namespace llvm {
class RegUsageInfoPropagationPass
- : public OptionalPassInfoMixin<RegUsageInfoPropagationPass> {
+ : public RequiredPassInfoMixin<RegUsageInfoPropagationPass> {
public:
PreservedAnalyses run(MachineFunction &MF,
MachineFunctionAnalysisManager &MFAM);
diff --git a/llvm/include/llvm/CodeGen/ReplaceWithVeclib.h b/llvm/include/llvm/CodeGen/ReplaceWithVeclib.h
index 770fd4618570c..d65a6d7a33df6 100644
--- a/llvm/include/llvm/CodeGen/ReplaceWithVeclib.h
+++ b/llvm/include/llvm/CodeGen/ReplaceWithVeclib.h
@@ -21,7 +21,7 @@
namespace llvm {
class Function;
-struct ReplaceWithVeclib : public OptionalPassInfoMixin<ReplaceWithVeclib> {
+struct ReplaceWithVeclib : public RequiredPassInfoMixin<ReplaceWithVeclib> {
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
};
diff --git a/llvm/include/llvm/CodeGen/SafeStack.h b/llvm/include/llvm/CodeGen/SafeStack.h
index fd917c83f6dac..3c8485cb37e9e 100644
--- a/llvm/include/llvm/CodeGen/SafeStack.h
+++ b/llvm/include/llvm/CodeGen/SafeStack.h
@@ -15,7 +15,7 @@ namespace llvm {
class TargetMachine;
-class SafeStackPass : public OptionalPassInfoMixin<SafeStackPass> {
+class SafeStackPass : public RequiredPassInfoMixin<SafeStackPass> {
const TargetMachine *TM;
public:
diff --git a/llvm/include/llvm/CodeGen/ShadowStackGCLowering.h b/llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
index 432662f5883f5..e0c122d2788d9 100644
--- a/llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
+++ b/llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
@@ -14,7 +14,7 @@
namespace llvm {
class ShadowStackGCLoweringPass
- : public OptionalPassInfoMixin<ShadowStackGCLoweringPass> {
+ : public RequiredPassInfoMixin<ShadowStackGCLoweringPass> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
};
diff --git a/llvm/include/llvm/CodeGen/SjLjEHPrepare.h b/llvm/include/llvm/CodeGen/SjLjEHPrepare.h
index 99899d94dfcc9..fc5b022f89f6f 100644
--- a/llvm/include/llvm/CodeGen/SjLjEHPrepare.h
+++ b/llvm/include/llvm/CodeGen/SjLjEHPrepare.h
@@ -15,7 +15,7 @@ namespace llvm {
class TargetMachine;
-class SjLjEHPreparePass : public OptionalPassInfoMixin<SjLjEHPreparePass> {
+class SjLjEHPreparePass : public RequiredPassInfoMixin<SjLjEHPreparePass> {
const TargetMachine *TM;
public:
diff --git a/llvm/include/llvm/CodeGen/StackColoring.h b/llvm/include/llvm/CodeGen/StackColoring.h
index 0d020981cc04b..718bad0afc2a9 100644
--- a/llvm/include/llvm/CodeGen/StackColoring.h
+++ b/llvm/include/llvm/CodeGen/StackColoring.h
@@ -13,7 +13,7 @@
namespace llvm {
-class StackColoringPass : public OptionalPassInfoMixin<StackColoringPass> {
+class StackColoringPass : public RequiredPassInfoMixin<StackColoringPass> {
public:
PreservedAnalyses run(MachineFunction &MF,
MachineFunctionAnalysisManager &MFAM);
diff --git a/llvm/include/llvm/CodeGen/StackProtector.h b/llvm/include/llvm/CodeGen/StackProtector.h
index 6e336ccf45aca..9d262b8d9c16c 100644
--- a/llvm/include/llvm/CodeGen/StackProtector.h
+++ b/llvm/include/llvm/CodeGen/StackProtector.h
@@ -82,7 +82,7 @@ class SSPLayoutAnalysis : public AnalysisInfoMixin<SSPLayoutAnalysis> {
SSPLayoutMap *Layout = nullptr);
};
-class StackProtectorPass : public OptionalPassInfoMixin<StackProtectorPass> {
+class StackProtectorPass : public RequiredPassInfoMixin<StackProtectorPass> {
const TargetMachine *TM;
public:
diff --git a/llvm/include/llvm/CodeGen/WasmEHPrepare.h b/llvm/include/llvm/CodeGen/WasmEHPrepare.h
index 90a26c322bfb9..0b2fbdc3f296d 100644
--- a/llvm/include/llvm/CodeGen/WasmEHPrepare.h
+++ b/llvm/include/llvm/CodeGen/WasmEHPrepare.h
@@ -13,7 +13,7 @@
namespace llvm {
-class WasmEHPreparePass : public OptionalPassInfoMixin<WasmEHPreparePass> {
+class WasmEHPreparePass : public RequiredPassInfoMixin<WasmEHPreparePass> {
public:
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM);
};
diff --git a/llvm/include/llvm/CodeGen/WinEHPrepare.h b/llvm/include/llvm/CodeGen/WinEHPrepare.h
index dc99f59351d84..ff762ce86f1da 100644
--- a/llvm/include/llvm/CodeGen/WinEHPrepare.h
+++ b/llvm/include/llvm/CodeGen/WinEHPrepare.h
@@ -13,7 +13,7 @@
namespace llvm {
-class WinEHPreparePass : public OptionalPassInfoMixin<WinEHPreparePass> {
+class WinEHPreparePass : public RequiredPassInfoMixin<WinEHPreparePass> {
bool DemoteCatchSwitchPHIOnly;
public:
More information about the llvm-commits
mailing list