LLVM
8.0.1
|
Loop unroll pass that will support both full and partial unrolling. More...
#include "llvm/Transforms/Scalar/LoopUnrollPass.h"
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. More... | |
PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< LoopUnrollPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. More... | |
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 103 of file LoopUnrollPass.h.
|
inlineexplicit |
This uses the target information (or flags) to control the thresholds for different unrolling stategies but supports all of them.
Definition at line 109 of file LoopUnrollPass.h.
References F(), and llvm::LoopFullUnrollPass::run().
PreservedAnalyses LoopUnrollPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Definition at line 1338 of file LoopUnrollPass.cpp.
References llvm::PreservedAnalyses::all(), appendLoopsToWorklist(), llvm::SmallVectorBase::empty(), F(), llvm::formLCSSARecursively(), llvm::FullyUnrolled, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), llvm::getLoopPassPreservedAnalyses(), llvm::Loop::getName(), llvm::GlobalValue::getParent(), llvm::LoopBase< BlockT, LoopT >::getParentLoop(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::ProfileSummaryInfo::hasHugeWorkingSetSize(), llvm::None, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::simplifyLoop(), tryToUnrollLoop(), llvm::Unmodified, and llvm::LoopBase< BlockT, LoopT >::verifyLoop().