LLVM 22.0.0git
llvm::RISCV::DemandedFields Struct Reference

Which subfields of VL or VTYPE have values we need to preserve? More...

#include "Target/RISCV/RISCVVSETVLIInfoAnalysis.h"

Public Types

enum  : uint8_t { SEWEqual = 3 , SEWGreaterThanOrEqualAndLessThan64 , SEWGreaterThanOrEqual = 1 , SEWNone = 0 }
enum  : uint8_t { LMULEqual = 2 , LMULLessThanOrEqualToM1 = 1 , LMULNone = 0 }

Public Member Functions

bool usedVTYPE () const
bool usedVL ()
void demandVTYPE ()
void demandVL ()
void doUnion (const DemandedFields &B)
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 DemandedFields all ()

Public Attributes

bool VLAny = false
bool VLZeroness = false
enum llvm::RISCV::DemandedFields:: { ... }  SEW = SEWNone
enum llvm::RISCV::DemandedFields:: { ... }  LMUL = LMULNone
bool SEWLMULRatio = false
bool TailPolicy = false
bool MaskPolicy = false
bool VILL = false
bool TWiden = false
bool AltFmt = false

Detailed Description

Which subfields of VL or VTYPE have values we need to preserve?

Definition at line 24 of file RISCVVSETVLIInfoAnalysis.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : uint8_t
Enumerator
LMULEqual 
LMULLessThanOrEqualToM1 
LMULNone 

Definition at line 41 of file RISCVVSETVLIInfoAnalysis.h.

◆ anonymous enum

anonymous enum : uint8_t
Enumerator
SEWEqual 
SEWGreaterThanOrEqualAndLessThan64 
SEWGreaterThanOrEqual 
SEWNone 

Definition at line 31 of file RISCVVSETVLIInfoAnalysis.h.

Member Function Documentation

◆ all()

DemandedFields llvm::RISCV::DemandedFields::all ( )
inlinestatic

Definition at line 82 of file RISCVVSETVLIInfoAnalysis.h.

References DF.

◆ demandVL()

void llvm::RISCV::DemandedFields::demandVL ( )
inline

Definition at line 77 of file RISCVVSETVLIInfoAnalysis.h.

References VLAny, and VLZeroness.

Referenced by llvm::RISCV::getDemanded().

◆ demandVTYPE()

void llvm::RISCV::DemandedFields::demandVTYPE ( )
inline

◆ doUnion()

void llvm::RISCV::DemandedFields::doUnion ( const DemandedFields & B)
inline

Definition at line 90 of file RISCVVSETVLIInfoAnalysis.h.

References AltFmt, B(), LMUL, MaskPolicy, SEW, SEWLMULRatio, TailPolicy, TWiden, VILL, VLAny, and VLZeroness.

◆ dump()

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

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

Definition at line 105 of file RISCVVSETVLIInfoAnalysis.h.

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

◆ print()

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

◆ usedVL()

bool llvm::RISCV::DemandedFields::usedVL ( )
inline

Definition at line 62 of file RISCVVSETVLIInfoAnalysis.h.

References VLAny, and VLZeroness.

◆ usedVTYPE()

bool llvm::RISCV::DemandedFields::usedVTYPE ( ) const
inline

Definition at line 56 of file RISCVVSETVLIInfoAnalysis.h.

References AltFmt, LMUL, MaskPolicy, SEW, SEWLMULRatio, TailPolicy, TWiden, and VILL.

Member Data Documentation

◆ AltFmt

bool llvm::RISCV::DemandedFields::AltFmt = false

◆ []

enum { ... } llvm::RISCV::DemandedFields::LMUL

◆ MaskPolicy

bool llvm::RISCV::DemandedFields::MaskPolicy = false

◆ []

enum { ... } llvm::RISCV::DemandedFields::SEW

◆ SEWLMULRatio

bool llvm::RISCV::DemandedFields::SEWLMULRatio = false

◆ TailPolicy

bool llvm::RISCV::DemandedFields::TailPolicy = false

◆ TWiden

bool llvm::RISCV::DemandedFields::TWiden = false

◆ VILL

bool llvm::RISCV::DemandedFields::VILL = false

Definition at line 51 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by demandVTYPE(), doUnion(), print(), and usedVTYPE().

◆ VLAny

bool llvm::RISCV::DemandedFields::VLAny = false

Definition at line 27 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by demandVL(), doUnion(), llvm::RISCV::getDemanded(), print(), and usedVL().

◆ VLZeroness

bool llvm::RISCV::DemandedFields::VLZeroness = false

Definition at line 29 of file RISCVVSETVLIInfoAnalysis.h.

Referenced by demandVL(), doUnion(), llvm::RISCV::getDemanded(), print(), and usedVL().


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