LLVM 22.0.0git
llvm::ExtraLoopPassManager< MarkerTy > Class Template Reference

A pass manager to run a set of extra loop passes if the MarkerTy analysis is present. More...

#include "llvm/Transforms/Utils/ExtraPassManager.h"

Inheritance diagram for llvm::ExtraLoopPassManager< MarkerTy >:
[legend]

Public Member Functions

template<typename PassT>
void addPass (PassT &&Pass)
PreservedAnalyses run (Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U)
Public Member Functions inherited from llvm::PassInfoMixin< ExtraLoopPassManager< MarkerTy > >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)

Static Public Member Functions

static bool isRequired ()
Static Public Member Functions inherited from llvm::PassInfoMixin< ExtraLoopPassManager< MarkerTy > >
static StringRef name ()
 Gets the name of the pass we are mixed into.

Detailed Description

template<typename MarkerTy>
class llvm::ExtraLoopPassManager< MarkerTy >

A pass manager to run a set of extra loop passes if the MarkerTy analysis is present.

This allows passes to request additional transformations on demand. An example is doing additional runs of SimpleLoopUnswitch.

Definition at line 82 of file ExtraPassManager.h.

Member Function Documentation

◆ addPass()

template<typename MarkerTy>
template<typename PassT>
void llvm::ExtraLoopPassManager< MarkerTy >::addPass ( PassT && Pass)
inline

◆ isRequired()

template<typename MarkerTy>
bool llvm::ExtraLoopPassManager< MarkerTy >::isRequired ( )
inlinestatic

Definition at line 100 of file ExtraPassManager.h.

◆ run()


The documentation for this class was generated from the following file: