LLVM 22.0.0git
llvm::VPRegisterUsage Struct Reference

A struct that represents some properties of the register usage of a loop. More...

#include "Transforms/Vectorize/VPlanAnalysis.h"

Public Member Functions

bool exceedsMaxNumRegs (const TargetTransformInfo &TTI, unsigned OverrideMaxNumRegs=0) const
 Check if any of the tracked live intervals exceeds the number of available registers 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.

Detailed Description

A struct that represents some properties of the register usage of a loop.

Definition at line 76 of file VPlanAnalysis.h.

Member Function Documentation

◆ exceedsMaxNumRegs()

bool VPRegisterUsage::exceedsMaxNumRegs ( const TargetTransformInfo & TTI,
unsigned OverrideMaxNumRegs = 0 ) const

Check if any of the tracked live intervals exceeds the number of available registers for the target.

If non-zero, OverrideMaxNumRegs is used in place of the target's number of registers.

Definition at line 411 of file VPlanAnalysis.cpp.

References llvm::any_of(), and MaxLocalUsers.

Member Data Documentation

◆ LoopInvariantRegs

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 79 of file VPlanAnalysis.h.

Referenced by llvm::calculateRegisterUsageForPlan().

◆ MaxLocalUsers

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 82 of file VPlanAnalysis.h.

Referenced by llvm::calculateRegisterUsageForPlan(), and exceedsMaxNumRegs().


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