Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::SCEVCastExpr Class Reference

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

#include "llvm/Analysis/ScalarEvolutionExpressions.h"

Inheritance diagram for llvm::SCEVCastExpr:
[legend]

Public Member Functions

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)

Static Public Member Functions

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

Protected Member Functions

LLVM_ABI SCEVCastExpr (const FoldingSetNodeIDRef ID, SCEVTypes SCEVTy, const SCEV *op, Type *ty)

Protected Attributes

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.

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...

Detailed Description

This is the base class for unary cast operator classes.

Definition at line 104 of file ScalarEvolutionExpressions.h.

Constructor & Destructor Documentation

◆ SCEVCastExpr()

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

Member Function Documentation

◆ classof()

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

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

Definition at line 123 of file ScalarEvolutionExpressions.h.

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

◆ getNumOperands()

size_t llvm::SCEVCastExpr::getNumOperands ( ) const
inline

Definition at line 119 of file ScalarEvolutionExpressions.h.

◆ getOperand() [1/2]

◆ getOperand() [2/2]

const SCEV * llvm::SCEVCastExpr::getOperand ( unsigned i) const
inline

Definition at line 114 of file ScalarEvolutionExpressions.h.

References assert(), Op, and llvm::SCEV::SCEV().

◆ getType()

◆ operands()

ArrayRef< const SCEV * > llvm::SCEVCastExpr::operands ( ) const
inline

Definition at line 118 of file ScalarEvolutionExpressions.h.

References Op.

Member Data Documentation

◆ Op

const SCEV* llvm::SCEVCastExpr::Op
protected

◆ Ty

Type* llvm::SCEVCastExpr::Ty
protected

Definition at line 107 of file ScalarEvolutionExpressions.h.

Referenced by getType(), and SCEVCastExpr().


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