Skip to content

Commit d09315d

Browse files
authored
[opt][NewPM] Add isRequired to passes named as *PrinterPass (#76516)
Passes that print the result of analysis passes should be of interest, and are expected to run even if a function for example is marked as optnone. So when adding such passes explicitly to a pipeline it makes sense to run the pass regardless of standard instrumentation gates such as OptNoneInstrumentation. In this patch all passes named as *PrinterPass are marked as required. That should make sure that those passes are executed without being skipped due to standard instrumentations. The polly passes are not touched in this patch. Partial fix for: #76762
1 parent 1d27669 commit d09315d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+75
-1
lines changed

llvm/include/llvm/Analysis/AliasSetTracker.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,7 @@ class AliasSetsPrinterPass : public PassInfoMixin<AliasSetsPrinterPass> {
411411
public:
412412
explicit AliasSetsPrinterPass(raw_ostream &OS);
413413
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
414+
static bool isRequired() { return true; }
414415
};
415416

416417
} // end namespace llvm

llvm/include/llvm/Analysis/AssumptionCache.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ class AssumptionPrinterPass : public PassInfoMixin<AssumptionPrinterPass> {
189189
explicit AssumptionPrinterPass(raw_ostream &OS) : OS(OS) {}
190190

191191
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
192+
193+
static bool isRequired() { return true; }
192194
};
193195

194196
/// An immutable pass that tracks lazily created \c AssumptionCache

llvm/include/llvm/Analysis/BlockFrequencyInfo.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,8 @@ class BlockFrequencyPrinterPass
134134
explicit BlockFrequencyPrinterPass(raw_ostream &OS) : OS(OS) {}
135135

136136
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
137+
138+
static bool isRequired() { return true; }
137139
};
138140

139141
/// Legacy analysis pass which computes \c BlockFrequencyInfo.

llvm/include/llvm/Analysis/BranchProbabilityInfo.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,8 @@ class BranchProbabilityPrinterPass
436436
explicit BranchProbabilityPrinterPass(raw_ostream &OS) : OS(OS) {}
437437

438438
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
439+
440+
static bool isRequired() { return true; }
439441
};
440442

441443
/// Legacy analysis pass which computes \c BranchProbabilityInfo.

llvm/include/llvm/Analysis/CFGSCCPrinter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class CFGSCCPrinterPass : public PassInfoMixin<CFGSCCPrinterPass> {
1919
public:
2020
explicit CFGSCCPrinterPass(raw_ostream &OS) : OS(OS) {}
2121
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
22+
static bool isRequired() { return true; }
2223
};
2324
} // namespace llvm
2425

llvm/include/llvm/Analysis/CallGraph.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,8 @@ class CallGraphPrinterPass : public PassInfoMixin<CallGraphPrinterPass> {
322322
explicit CallGraphPrinterPass(raw_ostream &OS) : OS(OS) {}
323323

324324
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
325+
326+
static bool isRequired() { return true; }
325327
};
326328

327329
/// Printer pass for the summarized \c CallGraphAnalysis results.
@@ -333,6 +335,8 @@ class CallGraphSCCsPrinterPass
333335
explicit CallGraphSCCsPrinterPass(raw_ostream &OS) : OS(OS) {}
334336

335337
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
338+
339+
static bool isRequired() { return true; }
336340
};
337341

338342
/// The \c ModulePass which wraps up a \c CallGraph and the logic to

llvm/include/llvm/Analysis/CallPrinter.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@ class ModulePass;
2424
class CallGraphDOTPrinterPass : public PassInfoMixin<CallGraphDOTPrinterPass> {
2525
public:
2626
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
27+
static bool isRequired() { return true; }
2728
};
2829

2930
/// Pass for viewing the call graph
3031
class CallGraphViewerPass : public PassInfoMixin<CallGraphViewerPass> {
3132
public:
3233
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
34+
static bool isRequired() { return true; }
3335
};
3436

3537
ModulePass *createCallGraphViewerPass();

llvm/include/llvm/Analysis/CostModel.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ class CostModelPrinterPass : public PassInfoMixin<CostModelPrinterPass> {
2020
explicit CostModelPrinterPass(raw_ostream &OS) : OS(OS) {}
2121

2222
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
23+
24+
static bool isRequired() { return true; }
2325
};
2426
} // end namespace llvm
2527

llvm/include/llvm/Analysis/CycleAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ class CycleInfoPrinterPass : public PassInfoMixin<CycleInfoPrinterPass> {
6868
explicit CycleInfoPrinterPass(raw_ostream &OS);
6969

7070
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
71+
72+
static bool isRequired() { return true; }
7173
};
7274

7375
} // end namespace llvm

llvm/include/llvm/Analysis/DDG.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,7 @@ class DDGAnalysisPrinterPass : public PassInfoMixin<DDGAnalysisPrinterPass> {
427427
explicit DDGAnalysisPrinterPass(raw_ostream &OS) : OS(OS) {}
428428
PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
429429
LoopStandardAnalysisResults &AR, LPMUpdater &U);
430+
static bool isRequired() { return true; }
430431

431432
private:
432433
raw_ostream &OS;

llvm/include/llvm/Analysis/DDGPrinter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class DDGDotPrinterPass : public PassInfoMixin<DDGDotPrinterPass> {
2929
public:
3030
PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
3131
LoopStandardAnalysisResults &AR, LPMUpdater &U);
32+
static bool isRequired() { return true; }
3233
};
3334

3435
//===--------------------------------------------------------------------===//

llvm/include/llvm/Analysis/Delinearization.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ struct DelinearizationPrinterPass
140140
: public PassInfoMixin<DelinearizationPrinterPass> {
141141
explicit DelinearizationPrinterPass(raw_ostream &OS);
142142
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
143+
static bool isRequired() { return true; }
143144

144145
private:
145146
raw_ostream &OS;

llvm/include/llvm/Analysis/DemandedBits.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ class DemandedBitsPrinterPass : public PassInfoMixin<DemandedBitsPrinterPass> {
120120
explicit DemandedBitsPrinterPass(raw_ostream &OS) : OS(OS) {}
121121

122122
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
123+
124+
static bool isRequired() { return true; }
123125
};
124126

125127
} // end namespace llvm

llvm/include/llvm/Analysis/DependenceAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -994,6 +994,8 @@ namespace llvm {
994994

995995
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM);
996996

997+
static bool isRequired() { return true; }
998+
997999
private:
9981000
raw_ostream &OS;
9991001
bool NormalizeResults;

llvm/include/llvm/Analysis/DominanceFrontier.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ class DominanceFrontierPrinterPass
204204
explicit DominanceFrontierPrinterPass(raw_ostream &OS);
205205

206206
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
207+
208+
static bool isRequired() { return true; }
207209
};
208210

209211
} // end namespace llvm

llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ class FunctionPropertiesPrinterPass
157157
explicit FunctionPropertiesPrinterPass(raw_ostream &OS) : OS(OS) {}
158158

159159
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
160+
161+
static bool isRequired() { return true; }
160162
};
161163

162164
/// Correctly update FunctionPropertiesInfo post-inlining. A

llvm/include/llvm/Analysis/IRSimilarityIdentifier.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,6 +1198,7 @@ class IRSimilarityAnalysisPrinterPass
11981198
public:
11991199
explicit IRSimilarityAnalysisPrinterPass(raw_ostream &OS) : OS(OS) {}
12001200
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
1201+
static bool isRequired() { return true; }
12011202
};
12021203

12031204
} // end namespace llvm

llvm/include/llvm/Analysis/InlineAdvisor.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ class InlineAdvisorAnalysis : public AnalysisInfoMixin<InlineAdvisorAnalysis> {
341341
Result run(Module &M, ModuleAnalysisManager &MAM) { return Result(M, MAM); }
342342
};
343343

344-
/// Printer pass for the FunctionPropertiesAnalysis results.
344+
/// Printer pass for the InlineAdvisorAnalysis results.
345345
class InlineAdvisorAnalysisPrinterPass
346346
: public PassInfoMixin<InlineAdvisorAnalysisPrinterPass> {
347347
raw_ostream &OS;
@@ -353,6 +353,7 @@ class InlineAdvisorAnalysisPrinterPass
353353

354354
PreservedAnalyses run(LazyCallGraph::SCC &InitialC, CGSCCAnalysisManager &AM,
355355
LazyCallGraph &CG, CGSCCUpdateResult &UR);
356+
static bool isRequired() { return true; }
356357
};
357358

358359
std::unique_ptr<InlineAdvisor>

llvm/include/llvm/Analysis/InlineCost.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ struct InlineCostAnnotationPrinterPass
343343
public:
344344
explicit InlineCostAnnotationPrinterPass(raw_ostream &OS) : OS(OS) {}
345345
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM);
346+
static bool isRequired() { return true; }
346347
};
347348
} // namespace llvm
348349

llvm/include/llvm/Analysis/InlineSizeEstimatorAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ class InlineSizeEstimatorAnalysisPrinterPass
4040
explicit InlineSizeEstimatorAnalysisPrinterPass(raw_ostream &OS) : OS(OS) {}
4141

4242
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
43+
44+
static bool isRequired() { return true; }
4345
};
4446
} // namespace llvm
4547
#endif // LLVM_ANALYSIS_INLINESIZEESTIMATORANALYSIS_H

llvm/include/llvm/Analysis/LazyCallGraph.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1288,6 +1288,8 @@ class LazyCallGraphPrinterPass
12881288
explicit LazyCallGraphPrinterPass(raw_ostream &OS);
12891289

12901290
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
1291+
1292+
static bool isRequired() { return true; }
12911293
};
12921294

12931295
/// A pass which prints the call graph as a DOT file to a \c raw_ostream.
@@ -1301,6 +1303,8 @@ class LazyCallGraphDOTPrinterPass
13011303
explicit LazyCallGraphDOTPrinterPass(raw_ostream &OS);
13021304

13031305
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
1306+
1307+
static bool isRequired() { return true; }
13041308
};
13051309

13061310
} // end namespace llvm

llvm/include/llvm/Analysis/LazyValueInfo.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ class LazyValueInfoPrinterPass
157157
explicit LazyValueInfoPrinterPass(raw_ostream &OS) : OS(OS) {}
158158

159159
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
160+
161+
static bool isRequired() { return true; }
160162
};
161163

162164
/// Wrapper around LazyValueInfo.

llvm/include/llvm/Analysis/LoopCacheAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,8 @@ class LoopCachePrinterPass : public PassInfoMixin<LoopCachePrinterPass> {
291291

292292
PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
293293
LoopStandardAnalysisResults &AR, LPMUpdater &U);
294+
295+
static bool isRequired() { return true; }
294296
};
295297

296298
} // namespace llvm

llvm/include/llvm/Analysis/LoopInfo.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,7 @@ class LoopPrinterPass : public PassInfoMixin<LoopPrinterPass> {
580580
public:
581581
explicit LoopPrinterPass(raw_ostream &OS) : OS(OS) {}
582582
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
583+
static bool isRequired() { return true; }
583584
};
584585

585586
/// Verifier pass for the \c LoopAnalysis results.

llvm/include/llvm/Analysis/LoopNestAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@ class LoopNestPrinterPass : public PassInfoMixin<LoopNestPrinterPass> {
217217

218218
PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
219219
LoopStandardAnalysisResults &AR, LPMUpdater &U);
220+
221+
static bool isRequired() { return true; }
220222
};
221223

222224
} // namespace llvm

llvm/include/llvm/Analysis/MemDerefPrinter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class MemDerefPrinterPass : public PassInfoMixin<MemDerefPrinterPass> {
1818
public:
1919
MemDerefPrinterPass(raw_ostream &OS) : OS(OS) {}
2020
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
21+
static bool isRequired() { return true; }
2122
};
2223
} // namespace llvm
2324

llvm/include/llvm/Analysis/MemorySSA.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -953,6 +953,8 @@ class MemorySSAPrinterPass : public PassInfoMixin<MemorySSAPrinterPass> {
953953
: OS(OS), EnsureOptimizedUses(EnsureOptimizedUses) {}
954954

955955
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
956+
957+
static bool isRequired() { return true; }
956958
};
957959

958960
/// Printer pass for \c MemorySSA via the walker.
@@ -964,6 +966,8 @@ class MemorySSAWalkerPrinterPass
964966
explicit MemorySSAWalkerPrinterPass(raw_ostream &OS) : OS(OS) {}
965967

966968
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
969+
970+
static bool isRequired() { return true; }
967971
};
968972

969973
/// Verifier pass for \c MemorySSA.

llvm/include/llvm/Analysis/ModuleDebugInfoPrinter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class ModuleDebugInfoPrinterPass
2323
public:
2424
explicit ModuleDebugInfoPrinterPass(raw_ostream &OS);
2525
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
26+
static bool isRequired() { return true; }
2627
};
2728
} // end namespace llvm
2829

llvm/include/llvm/Analysis/MustExecute.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,7 @@ class MustExecutePrinterPass : public PassInfoMixin<MustExecutePrinterPass> {
547547
public:
548548
MustExecutePrinterPass(raw_ostream &OS) : OS(OS) {}
549549
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
550+
static bool isRequired() { return true; }
550551
};
551552

552553
class MustBeExecutedContextPrinterPass
@@ -556,6 +557,7 @@ class MustBeExecutedContextPrinterPass
556557
public:
557558
MustBeExecutedContextPrinterPass(raw_ostream &OS) : OS(OS) {}
558559
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
560+
static bool isRequired() { return true; }
559561
};
560562

561563
} // namespace llvm

llvm/include/llvm/Analysis/PhiValues.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ class PhiValuesPrinterPass : public PassInfoMixin<PhiValuesPrinterPass> {
132132
public:
133133
explicit PhiValuesPrinterPass(raw_ostream &OS) : OS(OS) {}
134134
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
135+
static bool isRequired() { return true; }
135136
};
136137

137138
/// Wrapper pass for the legacy pass manager

llvm/include/llvm/Analysis/PostDominators.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ class PostDominatorTreePrinterPass
6868
explicit PostDominatorTreePrinterPass(raw_ostream &OS);
6969

7070
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
71+
72+
static bool isRequired() { return true; }
7173
};
7274

7375
struct PostDominatorTreeWrapperPass : public FunctionPass {

llvm/include/llvm/Analysis/ProfileSummaryInfo.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,7 @@ class ProfileSummaryPrinterPass
389389
public:
390390
explicit ProfileSummaryPrinterPass(raw_ostream &OS) : OS(OS) {}
391391
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
392+
static bool isRequired() { return true; }
392393
};
393394

394395
} // end namespace llvm

llvm/include/llvm/Analysis/RegionInfo.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -983,6 +983,8 @@ class RegionInfoPrinterPass : public PassInfoMixin<RegionInfoPrinterPass> {
983983
explicit RegionInfoPrinterPass(raw_ostream &OS);
984984

985985
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
986+
987+
static bool isRequired() { return true; }
986988
};
987989

988990
/// Verifier pass for the \c RegionInfo.

llvm/include/llvm/Analysis/ScalarEvolution.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2257,6 +2257,8 @@ class ScalarEvolutionPrinterPass
22572257
explicit ScalarEvolutionPrinterPass(raw_ostream &OS) : OS(OS) {}
22582258

22592259
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
2260+
2261+
static bool isRequired() { return true; }
22602262
};
22612263

22622264
class ScalarEvolutionWrapperPass : public FunctionPass {

llvm/include/llvm/Analysis/StackLifetime.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ class StackLifetimePrinterPass
190190
StackLifetimePrinterPass(raw_ostream &OS, StackLifetime::LivenessType Type)
191191
: Type(Type), OS(OS) {}
192192
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
193+
static bool isRequired() { return true; }
193194
void printPipeline(raw_ostream &OS,
194195
function_ref<StringRef(StringRef)> MapClassName2PassName);
195196
};

llvm/include/llvm/Analysis/StackSafetyAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ class StackSafetyPrinterPass : public PassInfoMixin<StackSafetyPrinterPass> {
105105
public:
106106
explicit StackSafetyPrinterPass(raw_ostream &OS) : OS(OS) {}
107107
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
108+
static bool isRequired() { return true; }
108109
};
109110

110111
/// StackSafetyInfo wrapper for the legacy pass manager
@@ -143,6 +144,7 @@ class StackSafetyGlobalPrinterPass
143144
public:
144145
explicit StackSafetyGlobalPrinterPass(raw_ostream &OS) : OS(OS) {}
145146
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
147+
static bool isRequired() { return true; }
146148
};
147149

148150
/// This pass performs the global (interprocedural) stack safety analysis

llvm/include/llvm/Analysis/StructuralHash.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ class StructuralHashPrinterPass
2424
: OS(OS), EnableDetailedStructuralHash(Detailed) {}
2525

2626
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
27+
28+
static bool isRequired() { return true; }
2729
};
2830

2931
} // namespace llvm

llvm/include/llvm/Analysis/UniformityAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ class UniformityInfoPrinterPass
4747
explicit UniformityInfoPrinterPass(raw_ostream &OS);
4848

4949
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
50+
51+
static bool isRequired() { return true; }
5052
};
5153

5254
/// Legacy analysis pass which computes a \ref CycleInfo.

llvm/include/llvm/IR/Dominators.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,8 @@ class DominatorTreePrinterPass
293293
explicit DominatorTreePrinterPass(raw_ostream &OS);
294294

295295
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
296+
297+
static bool isRequired() { return true; }
296298
};
297299

298300
/// Verifier pass for the \c DominatorTree.

0 commit comments

Comments
 (0)