LLVM  14.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::FunctionToLoopPassAdaptor Class Reference

#include "llvm/Transforms/Scalar/LoopPassManager.h"

Inheritance diagram for llvm::FunctionToLoopPassAdaptor:
Inheritance graph
[legend]
Collaboration diagram for llvm::FunctionToLoopPassAdaptor:
Collaboration graph
[legend]

Public Types

using PassConceptT = detail::PassConcept< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >
 

Public Member Functions

 FunctionToLoopPassAdaptor (std::unique_ptr< PassConceptT > Pass, bool UseMemorySSA=false, bool UseBlockFrequencyInfo=false, bool LoopNestMode=false)
 
PreservedAnalyses run (Function &F, FunctionAnalysisManager &AM)
 Runs the loop passes across every loop in the function. More...
 
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 
bool isLoopNestMode () const
 
- Public Member Functions inherited from llvm::PassInfoMixin< FunctionToLoopPassAdaptor >
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< FunctionToLoopPassAdaptor >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...
 

Detailed Description

Definition at line 414 of file LoopPassManager.h.

Member Typedef Documentation

◆ PassConceptT

Definition at line 419 of file LoopPassManager.h.

Constructor & Destructor Documentation

◆ FunctionToLoopPassAdaptor()

llvm::FunctionToLoopPassAdaptor::FunctionToLoopPassAdaptor ( std::unique_ptr< PassConceptT Pass,
bool  UseMemorySSA = false,
bool  UseBlockFrequencyInfo = false,
bool  LoopNestMode = false 
)
inlineexplicit

Member Function Documentation

◆ isLoopNestMode()

bool llvm::FunctionToLoopPassAdaptor::isLoopNestMode ( ) const
inline

Definition at line 440 of file LoopPassManager.h.

◆ isRequired()

static bool llvm::FunctionToLoopPassAdaptor::isRequired ( )
inlinestatic

Definition at line 438 of file LoopPassManager.h.

◆ printPipeline()

void FunctionToLoopPassAdaptor::printPipeline ( raw_ostream OS,
function_ref< StringRef(StringRef)>  MapClassName2PassName 
)

Definition at line 175 of file LoopPassManager.cpp.

◆ run()

PreservedAnalyses FunctionToLoopPassAdaptor::run ( Function F,
FunctionAnalysisManager AM 
)

Runs the loop passes across every loop in the function.

Definition at line 181 of file LoopPassManager.cpp.

References llvm::PreservedAnalyses::all(), llvm::appendLoopsToWorklist(), assert(), llvm::AMDGPUISD::BFI, llvm::LoopStandardAnalysisResults::DT, llvm::PriorityWorklist< T, SmallVector< T, N >, SmallDenseMap< T, ptrdiff_t > >::empty(), llvm::LoopInfoBase< BlockT, LoopT >::empty(), F, llvm::PreservedAnalyses::getChecker(), llvm::LoopBase< BlockT, LoopT >::getParentLoop(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PriorityWorklist< T, SmallVector< T, N >, SmallDenseMap< T, ptrdiff_t > >::insert(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::invalidate(), IR, llvm::Loop::isRecursivelyLCSSAForm(), llvm::isSpecialPass(), LAM, llvm::LoopStandardAnalysisResults::LI, move, llvm::LoopStandardAnalysisResults::MSSA, llvm::PriorityWorklist< T, SmallVector< T, N >, SmallDenseMap< T, ptrdiff_t > >::pop_back_val(), llvm::PassInstrumentation::popBeforeNonSkippedPassCallback(), llvm::PassInstrumentation::pushBeforeNonSkippedPassCallback(), llvm::report_fatal_error(), llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >::run(), llvm::PassInstrumentation::runAfterPass(), llvm::PassInstrumentation::runAfterPassInvalidated(), llvm::PassInstrumentation::runBeforePass(), llvm::LPMUpdater::skipCurrentLoop(), llvm::DominatorTreeBase< NodeT, IsPostDom >::verify(), llvm::LoopInfoBase< BlockT, LoopT >::verify(), llvm::VerifyDomInfo, llvm::LoopBase< BlockT, LoopT >::verifyLoop(), llvm::VerifyLoopInfo, llvm::MemorySSA::verifyMemorySSA(), and llvm::VerifyMemorySSA.


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