LLVM 22.0.0git
llvm::SCEVIntegralCastExpr Class Reference

This is the base class for unary integral cast operator classes. More...

#include "llvm/Analysis/ScalarEvolutionExpressions.h"

Inheritance diagram for llvm::SCEVIntegralCastExpr:
[legend]

Static Public Member Functions

static bool classof (const SCEV *S)
 Methods for support type inquiry through isa, cast, and dyn_cast:
Static Public Member Functions inherited from llvm::SCEVCastExpr
static bool classof (const SCEV *S)
 Methods for support type inquiry through isa, cast, and dyn_cast:

Protected Member Functions

LLVM_ABI SCEVIntegralCastExpr (const FoldingSetNodeIDRef ID, SCEVTypes SCEVTy, const SCEV *op, Type *ty)
Protected Member Functions inherited from llvm::SCEVCastExpr
LLVM_ABI SCEVCastExpr (const FoldingSetNodeIDRef ID, SCEVTypes SCEVTy, const SCEV *op, Type *ty)

Additional Inherited Members

Public Types inherited from llvm::SCEV
enum  NoWrapFlags {
  FlagAnyWrap = 0 , FlagNW = (1 << 0) , FlagNUW = (1 << 1) , FlagNSW = (1 << 2) ,
  NoWrapMask = (1 << 3) - 1
}
 NoWrapFlags are bitfield indices into SubclassData. More...
Public Member Functions inherited from llvm::SCEVCastExpr
const SCEVgetOperand () const
const SCEVgetOperand (unsigned i) const
ArrayRef< const SCEV * > operands () const
size_t getNumOperands () const
TypegetType () const
Public Member Functions inherited from llvm::SCEV
 SCEV (const FoldingSetNodeIDRef ID, SCEVTypes SCEVTy, unsigned short ExpressionSize)
 SCEV (const SCEV &)=delete
SCEVoperator= (const SCEV &)=delete
SCEVTypes getSCEVType () const
LLVM_ABI TypegetType () const
 Return the LLVM type of this SCEV expression.
LLVM_ABI ArrayRef< const SCEV * > operands () 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.
Public Member Functions inherited from llvm::FoldingSetBase::Node
 Node ()=default
void * getNextInBucket () const
void SetNextInBucket (void *N)
Protected Attributes inherited from llvm::SCEVCastExpr
const SCEVOp
TypeTy
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.

Detailed Description

This is the base class for unary integral cast operator classes.

Definition at line 142 of file ScalarEvolutionExpressions.h.

Constructor & Destructor Documentation

◆ SCEVIntegralCastExpr()

SCEVIntegralCastExpr::SCEVIntegralCastExpr ( const FoldingSetNodeIDRef ID,
SCEVTypes SCEVTy,
const SCEV * op,
Type * ty )
protected

Definition at line 522 of file ScalarEvolution.cpp.

References op, and llvm::SCEVCastExpr::SCEVCastExpr().

Member Function Documentation

◆ classof()

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

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

Definition at line 149 of file ScalarEvolutionExpressions.h.

References llvm::SCEV::getSCEVType(), llvm::scSignExtend, llvm::scTruncate, and llvm::scZeroExtend.


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