LLVM: llvm::LoopUnrollPass Class Reference (original) (raw)
Loop unroll pass that will support both full and partial unrolling. More...
#include "[llvm/Transforms/Scalar/LoopUnrollPass.h](LoopUnrollPass%5F8h%5Fsource.html)"
Inheritance diagram for llvm::LoopUnrollPass:
| Public Member Functions | |
|---|---|
| LoopUnrollPass (LoopUnrollOptions UnrollOpts={}) | |
| This uses the target information (or flags) to control the thresholds for different unrolling stategies but supports all of them. | |
| PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
| void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
| Public Member Functions inherited from llvm::PassInfoMixin< LoopUnrollPass > | |
| void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Detailed Description
Loop unroll pass that will support both full and partial unrolling.
It is a function pass to have access to function and module analyses. It will also put loops into canonical form (simplified and LCSSA).
Definition at line 133 of file LoopUnrollPass.h.
Constructor & Destructor Documentation
| llvm::LoopUnrollPass::LoopUnrollPass ( LoopUnrollOptions UnrollOpts = {}) | inlineexplicit |
|---|
This uses the target information (or flags) to control the thresholds for different unrolling stategies but supports all of them.
Definition at line 139 of file LoopUnrollPass.h.
Member Function Documentation
◆ printPipeline()
◆ run()
Definition at line 1596 of file LoopUnrollPass.cpp.
References llvm::PreservedAnalyses::all(), llvm::appendLoopsToWorklist(), Changed, llvm::LoopInfoBase< BlockT, LoopT >::empty(), llvm::PriorityWorklist< T, VectorT, MapT >::empty(), F, llvm::formLCSSARecursively(), llvm::FullyUnrolled, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), llvm::getLoopPassPreservedAnalyses(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), LAM, llvm::PriorityWorklist< T, VectorT, MapT >::pop_back_val(), llvm::simplifyLoop(), tryToUnrollLoop(), llvm::Unmodified, and llvm::LoopBase< BlockT, LoopT >::verifyLoop().
The documentation for this class was generated from the following files:
- include/llvm/Transforms/Scalar/LoopUnrollPass.h
- lib/Transforms/Scalar/LoopUnrollPass.cpp