LLVM 24.0.0git
llvm::SCEVVScale Class Reference

This class represents the value of vscale, as used when defining the length of a scalable vector or returned by the llvm.vscale() intrinsic. More...

#include "llvm/Analysis/ScalarEvolutionExpressions.h"

Inheritance diagram for llvm::SCEVVScale:
[legend]

Static Public Member Functions

static bool classof (const SCEV *S)
 Methods for support type inquiry through isa, cast, and dyn_cast:

Friends

class ScalarEvolution

Additional Inherited Members

Public Types inherited from llvm::SCEV
using NoWrapFlags = SCEVNoWrapFlags
Public Member Functions inherited from llvm::SCEV
 SCEV (const FoldingSetNodeIDRef ID, SCEVTypes SCEVTy, unsigned short ExpressionSize, Type *Ty)
 SCEV (const SCEV &)=delete
SCEVoperator= (const SCEV &)=delete
SCEVTypes getSCEVType () const
TypegetType () const
 Return the LLVM type of this SCEV expression.
LLVM_ABI ArrayRef< SCEVUseoperands () const
 Return operands of this SCEV expression.
LLVM_ABI bool isZero () const
 Return true if the expression is a constant zero.
LLVM_ABI bool isOne () const
 Return true if the expression is a constant one.
LLVM_ABI bool isAllOnesValue () const
 Return true if the expression is a constant all-ones value.
LLVM_ABI bool isNonConstantNegative () const
 Return true if the specified scev is negated, but not a constant.
unsigned short getExpressionSize () const
LLVM_ABI void print (raw_ostream &OS) const
 Print out the internal representation of this scalar to the specified stream.
LLVM_ABI void dump () const
 This method is used for debugging.
LLVM_ABI void computeAndSetCanonical (ScalarEvolution &SE)
 Compute and set the canonical SCEV, by constructing a SCEV with the same operands, but all SCEVUse flags dropped.
const SCEVgetCanonical () const
 Return the canonical SCEV.
Public Member Functions inherited from llvm::FoldingSetBase::Node
 Node ()=default
void * getNextInBucket () const
void SetNextInBucket (void *N)
Static Public Attributes inherited from llvm::SCEV
static constexpr auto FlagAnyWrap = SCEVNoWrapFlags::FlagAnyWrap
static constexpr auto FlagNW = SCEVNoWrapFlags::FlagNW
static constexpr auto FlagNUW = SCEVNoWrapFlags::FlagNUW
static constexpr auto FlagNSW = SCEVNoWrapFlags::FlagNSW
static constexpr auto NoWrapMask = SCEVNoWrapFlags::NoWrapMask
Protected Attributes inherited from llvm::SCEV
const unsigned short ExpressionSize
unsigned short SubclassData = 0
 This field is initialized to zero and may be used in subclasses to store miscellaneous information.
const SCEVCanonicalSCEV = nullptr
 Pointer to the canonical version of the SCEV, i.e.
Type *const Ty
 Immutable type of the SCEV.

Detailed Description

This class represents the value of vscale, as used when defining the length of a scalable vector or returned by the llvm.vscale() intrinsic.

Definition at line 79 of file ScalarEvolutionExpressions.h.

Member Function Documentation

◆ classof()

bool llvm::SCEVVScale::classof ( const SCEV * S)
inlinestatic

Methods for support type inquiry through isa, cast, and dyn_cast:

Definition at line 87 of file ScalarEvolutionExpressions.h.

References llvm::SCEV::getSCEVType(), llvm::SCEV::SCEV(), and llvm::scVScale.

◆ ScalarEvolution

friend class ScalarEvolution
friend

Definition at line 80 of file ScalarEvolutionExpressions.h.

References ScalarEvolution, llvm::SCEV::SCEV(), and llvm::scVScale.

Referenced by ScalarEvolution.


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