LLVM 22.0.0git
llvm::RISCV::VSETVLIInfo Class Reference

Defines the abstract state with which the forward dataflow models the values of the VL and VTYPE registers after insertion. More...

#include "Target/RISCV/RISCVVSETVLIInfoAnalysis.h"

Public Member Functions

 VSETVLIInfo ()
bool isValid () const
void setUnknown ()
bool isUnknown () const
void setAVLRegDef (const VNInfo *VNInfo, Register AVLReg)
void setAVLImm (unsigned Imm)
void setAVLVLMAX ()
bool hasAVLImm () const
bool hasAVLReg () const
bool hasAVLVLMAX () const
Register getAVLReg () const
unsigned getAVLImm () const
const VNInfogetAVLVNInfo () const
const MachineInstrgetAVLDefMI (const LiveIntervals *LIS) const
void setAVL (const VSETVLIInfo &Info)
bool hasSEWLMULRatioOnly () const
unsigned getSEW () const
RISCVVType::VLMUL getVLMUL () const
bool getTailAgnostic () const
bool getMaskAgnostic () const
bool getAltFmt () const
unsigned getTWiden () const
bool hasNonZeroAVL (const LiveIntervals *LIS) const
bool hasEquallyZeroAVL (const VSETVLIInfo &Other, const LiveIntervals *LIS) const
bool hasSameAVLLatticeValue (const VSETVLIInfo &Other) const
bool hasSameAVL (const VSETVLIInfo &Other) const
void setVTYPE (unsigned VType)
void setVTYPE (RISCVVType::VLMUL L, unsigned S, bool TA, bool MA, bool Altfmt, unsigned W)
void setAltFmt (bool AF)
void setVLMul (RISCVVType::VLMUL VLMul)
unsigned encodeVTYPE () const
bool hasSameVTYPE (const VSETVLIInfo &Other) const
unsigned getSEWLMULRatio () const
bool hasSameVLMAX (const VSETVLIInfo &Other) const
bool hasCompatibleVTYPE (const DemandedFields &Used, const VSETVLIInfo &Require) const
bool isCompatible (const DemandedFields &Used, const VSETVLIInfo &Require, const LiveIntervals *LIS) const
bool operator== (const VSETVLIInfo &Other) const
bool operator!= (const VSETVLIInfo &Other) const
VSETVLIInfo intersect (const VSETVLIInfo &Other) const
LLVM_DUMP_METHOD void dump () const
 Support for debugging, callable in GDB: V->dump()
void print (raw_ostream &OS) const
 Implement operator<<.

Static Public Member Functions

static VSETVLIInfo getUnknown ()

Detailed Description

Defines the abstract state with which the forward dataflow models the values of the VL and VTYPE registers after insertion.

Definition at line 171 of file RISCVVSETVLIInfoAnalysis.h.

Constructor & Destructor Documentation

◆ VSETVLIInfo()

Member Function Documentation

◆ dump()

LLVM_DUMP_METHOD void llvm::RISCV::VSETVLIInfo::dump ( ) const
inline

Support for debugging, callable in GDB: V->dump()

Definition at line 513 of file RISCVVSETVLIInfoAnalysis.h.

References llvm::dbgs(), LLVM_DUMP_METHOD, and print().

◆ encodeVTYPE()

unsigned llvm::RISCV::VSETVLIInfo::encodeVTYPE ( ) const
inline

◆ getAltFmt()

bool llvm::RISCV::VSETVLIInfo::getAltFmt ( ) const
inline

Definition at line 293 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), isUnknown(), and isValid().

◆ getAVLDefMI()

const MachineInstr * llvm::RISCV::VSETVLIInfo::getAVLDefMI ( const LiveIntervals * LIS) const
inline

◆ getAVLImm()

unsigned llvm::RISCV::VSETVLIInfo::getAVLImm ( ) const
inline

Definition at line 236 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), AVLImm, and hasAVLImm().

Referenced by hasNonZeroAVL(), and hasSameAVLLatticeValue().

◆ getAVLReg()

Register llvm::RISCV::VSETVLIInfo::getAVLReg ( ) const
inline

Definition at line 232 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), AVLRegDef, and hasAVLReg().

Referenced by hasSameAVLLatticeValue(), and print().

◆ getAVLVNInfo()

const VNInfo * llvm::RISCV::VSETVLIInfo::getAVLVNInfo ( ) const
inline

Definition at line 240 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), AVLRegDef, and hasAVLReg().

Referenced by getAVLDefMI(), hasSameAVL(), and hasSameAVLLatticeValue().

◆ getMaskAgnostic()

bool llvm::RISCV::VSETVLIInfo::getMaskAgnostic ( ) const
inline

Definition at line 288 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), isUnknown(), and isValid().

◆ getSEW()

unsigned llvm::RISCV::VSETVLIInfo::getSEW ( ) const
inline

Definition at line 273 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), hasSEWLMULRatioOnly(), isUnknown(), and isValid().

◆ getSEWLMULRatio()

unsigned llvm::RISCV::VSETVLIInfo::getSEWLMULRatio ( ) const
inline

◆ getTailAgnostic()

bool llvm::RISCV::VSETVLIInfo::getTailAgnostic ( ) const
inline

Definition at line 283 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), isUnknown(), and isValid().

◆ getTWiden()

unsigned llvm::RISCV::VSETVLIInfo::getTWiden ( ) const
inline

Definition at line 298 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), isUnknown(), and isValid().

◆ getUnknown()

VSETVLIInfo llvm::RISCV::VSETVLIInfo::getUnknown ( )
inlinestatic

Definition at line 205 of file RISCVVSETVLIInfoAnalysis.h.

References Info, and VSETVLIInfo().

Referenced by intersect().

◆ getVLMUL()

RISCVVType::VLMUL llvm::RISCV::VSETVLIInfo::getVLMUL ( ) const
inline

Definition at line 278 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), hasSEWLMULRatioOnly(), isUnknown(), and isValid().

◆ hasAVLImm()

bool llvm::RISCV::VSETVLIInfo::hasAVLImm ( ) const
inline

Definition at line 229 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by getAVLImm(), hasNonZeroAVL(), and hasSameAVLLatticeValue().

◆ hasAVLReg()

bool llvm::RISCV::VSETVLIInfo::hasAVLReg ( ) const
inline

◆ hasAVLVLMAX()

bool llvm::RISCV::VSETVLIInfo::hasAVLVLMAX ( ) const
inline

Definition at line 231 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by hasNonZeroAVL(), and hasSameAVLLatticeValue().

◆ hasCompatibleVTYPE()

bool llvm::RISCV::VSETVLIInfo::hasCompatibleVTYPE ( const DemandedFields & Used,
const VSETVLIInfo & Require ) const

◆ hasEquallyZeroAVL()

bool llvm::RISCV::VSETVLIInfo::hasEquallyZeroAVL ( const VSETVLIInfo & Other,
const LiveIntervals * LIS ) const
inline

Definition at line 316 of file RISCVVSETVLIInfoAnalysis.h.

References hasNonZeroAVL(), hasSameAVL(), llvm::Other, and VSETVLIInfo().

Referenced by isCompatible().

◆ hasNonZeroAVL()

bool llvm::RISCV::VSETVLIInfo::hasNonZeroAVL ( const LiveIntervals * LIS) const
inline

◆ hasSameAVL()

bool llvm::RISCV::VSETVLIInfo::hasSameAVL ( const VSETVLIInfo & Other) const
inline

◆ hasSameAVLLatticeValue()

bool llvm::RISCV::VSETVLIInfo::hasSameAVLLatticeValue ( const VSETVLIInfo & Other) const
inline

◆ hasSameVLMAX()

bool llvm::RISCV::VSETVLIInfo::hasSameVLMAX ( const VSETVLIInfo & Other) const
inline

◆ hasSameVTYPE()

bool llvm::RISCV::VSETVLIInfo::hasSameVTYPE ( const VSETVLIInfo & Other) const
inline

Definition at line 393 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), isUnknown(), isValid(), llvm::Other, and VSETVLIInfo().

Referenced by operator==().

◆ hasSEWLMULRatioOnly()

bool llvm::RISCV::VSETVLIInfo::hasSEWLMULRatioOnly ( ) const
inline

Definition at line 271 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by getSEW(), and getVLMUL().

◆ intersect()

VSETVLIInfo llvm::RISCV::VSETVLIInfo::intersect ( const VSETVLIInfo & Other) const
inline

◆ isCompatible()

bool llvm::RISCV::VSETVLIInfo::isCompatible ( const DemandedFields & Used,
const VSETVLIInfo & Require,
const LiveIntervals * LIS ) const
inline

◆ isUnknown()

◆ isValid()

◆ operator!=()

bool llvm::RISCV::VSETVLIInfo::operator!= ( const VSETVLIInfo & Other) const
inline

Definition at line 478 of file RISCVVSETVLIInfoAnalysis.h.

References llvm::Other, and VSETVLIInfo().

◆ operator==()

bool llvm::RISCV::VSETVLIInfo::operator== ( const VSETVLIInfo & Other) const
inline

◆ print()

void llvm::RISCV::VSETVLIInfo::print ( raw_ostream & OS) const
inline

Implement operator<<.

Definition at line 520 of file RISCVVSETVLIInfoAnalysis.h.

References AVLImm, getAVLReg(), isUnknown(), isValid(), and llvm::printReg().

Referenced by dump().

◆ setAltFmt()

void llvm::RISCV::VSETVLIInfo::setAltFmt ( bool AF)
inline

Definition at line 380 of file RISCVVSETVLIInfoAnalysis.h.

◆ setAVL()

void llvm::RISCV::VSETVLIInfo::setAVL ( const VSETVLIInfo & Info)
inline

◆ setAVLImm()

void llvm::RISCV::VSETVLIInfo::setAVLImm ( unsigned Imm)
inline

◆ setAVLRegDef()

void llvm::RISCV::VSETVLIInfo::setAVLRegDef ( const VNInfo * VNInfo,
Register AVLReg )
inline

◆ setAVLVLMAX()

void llvm::RISCV::VSETVLIInfo::setAVLVLMAX ( )
inline

◆ setUnknown()

void llvm::RISCV::VSETVLIInfo::setUnknown ( )
inline

Definition at line 212 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by setAVL().

◆ setVLMul()

void llvm::RISCV::VSETVLIInfo::setVLMul ( RISCVVType::VLMUL VLMul)
inline

Definition at line 382 of file RISCVVSETVLIInfoAnalysis.h.

◆ setVTYPE() [1/2]

void llvm::RISCV::VSETVLIInfo::setVTYPE ( RISCVVType::VLMUL L,
unsigned S,
bool TA,
bool MA,
bool Altfmt,
unsigned W )
inline

Definition at line 368 of file RISCVVSETVLIInfoAnalysis.h.

References assert(), isUnknown(), and isValid().

◆ setVTYPE() [2/2]

Member Data Documentation

◆ AVLImm

unsigned llvm::RISCV::VSETVLIInfo::AVLImm

Definition at line 180 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by getAVLImm(), print(), setAVLImm(), and VSETVLIInfo().

◆ AVLRegDef

AVLDef llvm::RISCV::VSETVLIInfo::AVLRegDef

Definition at line 179 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by getAVLReg(), getAVLVNInfo(), and setAVLRegDef().


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