| 
    LLVM 22.0.0git
    
   | 
 
Produce an estimate of the unrolled cost of the specified loop. More...
#include "llvm/Transforms/Utils/UnrollLoop.h"
Public Member Functions | |
| LLVM_ABI | UnrollCostEstimator (const Loop *L, const TargetTransformInfo &TTI, const SmallPtrSetImpl< const Value * > &EphValues, unsigned BEInsns) | 
| LLVM_ABI bool | canUnroll () const | 
| Whether it is legal to unroll this loop.   | |
| uint64_t | getRolledLoopSize () const | 
| LLVM_ABI uint64_t | getUnrolledLoopSize (const TargetTransformInfo::UnrollingPreferences &UP, unsigned CountOverwrite=0) const | 
| Returns loop size estimation for unrolled loop, given the unrolling configuration specified by UP.   | |
Public Attributes | |
| unsigned | NumInlineCandidates | 
| ConvergenceKind | Convergence | 
| bool | ConvergenceAllowsRuntime | 
Produce an estimate of the unrolled cost of the specified loop.
This is used to a) produce a cost estimate for partial unrolling and b) to cheaply estimate cost for full unrolling when we don't want to symbolically evaluate all iterations.
Definition at line 135 of file UnrollLoop.h.
| UnrollCostEstimator::UnrollCostEstimator | ( | const Loop * | L, | 
| const TargetTransformInfo & | TTI, | ||
| const SmallPtrSetImpl< const Value * > & | EphValues, | ||
| unsigned | BEInsns ) | 
Definition at line 684 of file LoopUnrollPass.cpp.
References Convergence, ConvergenceAllowsRuntime, llvm::getLoopConvergenceHeart(), Metrics, NumInlineCandidates, and llvm::Uncontrolled.
| bool UnrollCostEstimator::canUnroll | ( | ) | const | 
Whether it is legal to unroll this loop.
Definition at line 710 of file LoopUnrollPass.cpp.
References Convergence, llvm::dbgs(), llvm::ExtendedLoop, and LLVM_DEBUG.
Referenced by computeHeuristicUnrollFactor(), tryToUnrollAndJamLoop(), and tryToUnrollLoop().
      
  | 
  inline | 
Definition at line 151 of file UnrollLoop.h.
Referenced by computeHeuristicUnrollFactor(), computeUnrollAndJamCount(), llvm::computeUnrollCount(), tryToUnrollAndJamLoop(), and tryToUnrollLoop().
| uint64_t UnrollCostEstimator::getUnrolledLoopSize | ( | const TargetTransformInfo::UnrollingPreferences & | UP, | 
| unsigned | CountOverwrite = 0 ) const | 
Returns loop size estimation for unrolled loop, given the unrolling configuration specified by UP.
Definition at line 729 of file LoopUnrollPass.cpp.
References assert(), llvm::TargetTransformInfo::UnrollingPreferences::BEInsns, and llvm::TargetTransformInfo::UnrollingPreferences::Count.
Referenced by llvm::computeUnrollCount(), shouldFullUnroll(), shouldPartialUnroll(), and shouldPragmaUnroll().
| ConvergenceKind llvm::UnrollCostEstimator::Convergence | 
Definition at line 141 of file UnrollLoop.h.
Referenced by canUnroll(), tryToUnrollAndJamLoop(), and UnrollCostEstimator().
| bool llvm::UnrollCostEstimator::ConvergenceAllowsRuntime | 
Definition at line 142 of file UnrollLoop.h.
Referenced by tryToUnrollLoop(), and UnrollCostEstimator().
| unsigned llvm::UnrollCostEstimator::NumInlineCandidates | 
Definition at line 140 of file UnrollLoop.h.
Referenced by tryToUnrollAndJamLoop(), tryToUnrollLoop(), and UnrollCostEstimator().