A utility pass template to force an analysis result to be available.
Synopsis
Declared in <llvm/IR/PassManager.h>
template<
typename AnalysisT,
typename IRUnitT,
typename AnalysisManagerT = AnalysisManager<IRUnitT>,
typename... ExtraArgTs>
struct RequireAnalysisPass
: RequiredPassInfoMixin<RequireAnalysisPass<AnalysisT, IRUnitT, AnalysisManagerT, ExtraArgTs...>>
Description
If there are extra arguments at the pass's run level there may also be extra arguments to the analysis manager's getResult routine. We can't guess how to effectively map the arguments from one to the other, and so this specialization just ignores them.
Specific patterns of run‐method extra arguments and analysis manager extra arguments will have to be defined as appropriate specializations.
Base Classes
Name |
Description |
A CRTP mix‐in for passes that should not be skipped. |
Member Functions
Name |
Description |
Print this pass as |
|
Run this pass over some unit of IR. |
Static Member Functions
Name |
Description |
Return true; required passes cannot be skipped. |
Specializations
Name |
Description |
|
A require‐analysis pass specialization for loop transformations. |
An explicit specialization of the require analysis template pass. |
Created with MrDocs