15#ifndef LLVM_TRANSFORMS_UTILS_EXTRAPASSMANAGER_H 
   16#define LLVM_TRANSFORMS_UTILS_EXTRAPASSMANAGER_H 
   29                    FunctionAnalysisManager::Invalidator &) {
 
 
   37                    LoopAnalysisManager::Invalidator &) {
 
 
 
 
   57template <
typename MarkerTy>
 
   64    InnerFPM.addPass(std::move(
Pass));
 
 
   70      PA.intersect(InnerFPM.run(
F, AM));
 
   71    PA.abandon<MarkerTy>();
 
 
 
   81template <
typename MarkerTy>
 
   88    InnerLPM.addPass(std::move(
Pass));
 
 
   95      PA.intersect(InnerLPM.run(L, AM, AR, U));
 
   96    PA.abandon<MarkerTy>();
 
 
 
This header defines various interfaces for pass management in LLVM.
 
This header provides classes for managing a pipeline of passes over loops in LLVM IR.
 
FunctionAnalysisManager FAM
 
PassT::Result * getCachedResult(IRUnitT &IR) const
Get the cached result of an analysis pass for a given IR unit.
 
This class provides an interface for updating the loop pass manager based on mutations to the loop ne...
 
Represents a single loop in the control flow graph.
 
Pass interface - Implemented by all 'passes'.
 
bool preservedWhenStateless()
Return true if the checker's analysis was not abandoned, i.e.
 
A set of analyses that are preserved following a run of a transformation pass.
 
static PreservedAnalyses all()
Construct a special preserved set that preserves all passes.
 
PreservedAnalysisChecker getChecker() const
Build a checker for this PreservedAnalyses and the specified analysis type.
 
This is an optimization pass for GlobalISel generic memory operations.
 
AnalysisManager< Loop, LoopStandardAnalysisResults & > LoopAnalysisManager
The loop analysis manager.
 
PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & > LoopPassManager
The Loop pass manager.
 
PassManager< Function > FunctionPassManager
Convenience typedef for a pass manager over functions.
 
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
 
The adaptor from a function pass to a loop pass computes these analyses and makes them available to t...
 
A CRTP mix-in to automatically provide informational APIs needed for passes.