Skip to content

Commit 33d6bcf

Browse files
committed
fix required analyses
1 parent 0f634cb commit 33d6bcf

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

llvm/include/llvm/Passes/CodeGenPassBuilder.h

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,11 +209,12 @@ template <typename DerivedT, typename TargetMachineT> class CodeGenPassBuilder {
209209
}
210210

211211
template <typename PassT>
212-
void operator()(PassT &&Pass, StringRef Name = PassT::name()) {
212+
void operator()(PassT &&Pass, bool Force = false,
213+
StringRef Name = PassT::name()) {
213214
static_assert((is_detected<is_function_pass_t, PassT>::value ||
214215
is_detected<is_module_pass_t, PassT>::value) &&
215216
"Only module pass and function pass are supported.");
216-
if (!PB.runBeforeAdding(Name))
217+
if (!Force && !PB.runBeforeAdding(Name))
217218
return;
218219

219220
// Add Function Pass
@@ -561,9 +562,12 @@ Error CodeGenPassBuilder<Derived, TargetMachineT>::buildPipeline(
561562

562563
{
563564
AddIRPass addIRPass(MPM, derived());
564-
addIRPass(RequireAnalysisPass<MachineModuleAnalysis, Module>());
565-
addIRPass(RequireAnalysisPass<ProfileSummaryAnalysis, Module>());
566-
addIRPass(RequireAnalysisPass<CollectorMetadataAnalysis, Module>());
565+
addIRPass(RequireAnalysisPass<MachineModuleAnalysis, Module>(),
566+
/*Force=*/true);
567+
addIRPass(RequireAnalysisPass<ProfileSummaryAnalysis, Module>(),
568+
/*Force=*/true);
569+
addIRPass(RequireAnalysisPass<CollectorMetadataAnalysis, Module>(),
570+
/*Force=*/true);
567571
addISelPasses(addIRPass);
568572
}
569573

llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2115,7 +2115,8 @@ void AMDGPUCodeGenPassBuilder::addPreISel(AddIRPass &addPass) const {
21152115

21162116
// FIXME: Why isn't this queried as required from AMDGPUISelDAGToDAG, and why
21172117
// isn't this in addInstSelector?
2118-
addPass(RequireAnalysisPass<UniformityInfoAnalysis, Function>());
2118+
addPass(RequireAnalysisPass<UniformityInfoAnalysis, Function>(),
2119+
/*Force=*/true);
21192120
}
21202121

21212122
void AMDGPUCodeGenPassBuilder::addILPOpts(AddMachinePass &addPass) const {

0 commit comments

Comments
 (0)