|
LLVM 23.0.0git
|
A struct that represents some properties of the register usage of a loop. More...
#include "Transforms/Vectorize/VPlanAnalysis.h"
Public Member Functions | |
| InstructionCost | spillCost (const TargetTransformInfo &TTI, TargetTransformInfo::TargetCostKind CostKind, unsigned OverrideMaxNumRegs=0) const |
| Calculate the estimated cost of any spills due to using more registers than the number available for the target. | |
Public Attributes | |
| SmallMapVector< unsigned, unsigned, 4 > | LoopInvariantRegs |
| Holds the number of loop invariant values that are used in the loop. | |
| SmallMapVector< unsigned, unsigned, 4 > | MaxLocalUsers |
| Holds the maximum number of concurrent live intervals in the loop. | |
A struct that represents some properties of the register usage of a loop.
Definition at line 80 of file VPlanAnalysis.h.
| InstructionCost VPRegisterUsage::spillCost | ( | const TargetTransformInfo & | TTI, |
| TargetTransformInfo::TargetCostKind | CostKind, | ||
| unsigned | OverrideMaxNumRegs = 0 ) const |
Calculate the estimated cost of any spills due to using more registers than the number available for the target.
If non-zero, OverrideMaxNumRegs is used in place of the target's number of registers.
Definition at line 396 of file VPlanAnalysis.cpp.
References CostKind, llvm::dbgs(), LLVM_DEBUG, and MaxLocalUsers.
Referenced by llvm::VPlanTransforms::replaceWideCanonicalIVWithWideIV().
| SmallMapVector<unsigned, unsigned, 4> llvm::VPRegisterUsage::LoopInvariantRegs |
Holds the number of loop invariant values that are used in the loop.
The key is ClassID of target-provided register class.
Definition at line 83 of file VPlanAnalysis.h.
Referenced by llvm::calculateRegisterUsageForPlan().
| SmallMapVector<unsigned, unsigned, 4> llvm::VPRegisterUsage::MaxLocalUsers |
Holds the maximum number of concurrent live intervals in the loop.
The key is ClassID of target-provided register class.
Definition at line 86 of file VPlanAnalysis.h.
Referenced by llvm::calculateRegisterUsageForPlan(), llvm::VPlanTransforms::replaceWideCanonicalIVWithWideIV(), and spillCost().