LLVM  16.0.0git
Public Member Functions | List of all members
llvm::ExtraVectorPassManager Struct Reference

A pass manager to run a set of extra function simplification passes after vectorization, if requested. More...

#include "llvm/Transforms/Vectorize/LoopVectorize.h"

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

Public Member Functions

PreservedAnalyses run (Function &F, FunctionAnalysisManager &AM)
 
- Public Member Functions inherited from llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >
 PassManager ()=default
 Construct a pass manager. More...
 
 PassManager (PassManager &&Arg)
 
PassManageroperator= (PassManager &&RHS)
 
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 
PreservedAnalyses run (IRUnitT &IR, AnalysisManagerT &AM, ExtraArgTs... ExtraArgs)
 Run all of the passes in this manager over the given unit of IR. More...
 
template<typename PassT >
LLVM_ATTRIBUTE_MINSIZE std::enable_if_t<!std::is_same< PassT, PassManager >::value > addPass (PassT &&Pass)
 
template<typename PassT >
LLVM_ATTRIBUTE_MINSIZE std::enable_if_t< std::is_same< PassT, PassManager >::value > addPass (PassT &&Pass)
 When adding a pass manager pass that has the same type as this pass manager, simply move the passes over. More...
 
bool isEmpty () const
 Returns if the pass manager contains any passes. More...
 
PreservedAnalyses run (LazyCallGraph::SCC &InitialC, CGSCCAnalysisManager &AM, LazyCallGraph &G, CGSCCUpdateResult &UR)
 
PreservedAnalyses run (LazyCallGraph::SCC &InitialC, CGSCCAnalysisManager &AM, LazyCallGraph &G, CGSCCUpdateResult &UR)
 Explicitly specialize the pass manager run method to handle call graph updates. More...
 
- Public Member Functions inherited from llvm::PassInfoMixin< PassManager< IRUnitT, AnalysisManager< IRUnitT >, ExtraArgTs... > >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >
static bool isRequired ()
 
- Static Public Member Functions inherited from llvm::PassInfoMixin< PassManager< IRUnitT, AnalysisManager< IRUnitT >, ExtraArgTs... > >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...
 
- Protected Types inherited from llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >
using PassConceptT = detail::PassConcept< IRUnitT, AnalysisManagerT, ExtraArgTs... >
 
- Protected Attributes inherited from llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >
std::vector< std::unique_ptr< PassConceptT > > Passes
 

Detailed Description

A pass manager to run a set of extra function simplification passes after vectorization, if requested.

LoopVectorize caches the ShouldRunExtraVectorPasses analysis to request extra simplifications, if they could be beneficial.

Definition at line 105 of file LoopVectorize.h.

Member Function Documentation

◆ run()

PreservedAnalyses llvm::ExtraVectorPassManager::run ( Function F,
FunctionAnalysisManager AM 
)
inline

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