LLVM  16.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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:
Inheritance graph
Collaboration diagram for llvm::SCEVCastExpr:
Collaboration graph

Public Types

using op_iterator = std::array< const SCEV *, 1 >::const_iterator
using op_range = iterator_range< op_iterator >
- 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

const SCEVgetOperand () const
const SCEVgetOperand (unsigned i) const
op_range 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
TypegetType () const
 Return the LLVM type of this SCEV expression. More...
bool isZero () const
 Return true if the expression is a constant zero. More...
bool isOne () const
 Return true if the expression is a constant one. More...
bool isAllOnesValue () const
 Return true if the expression is a constant all-ones value. More...
bool isNonConstantNegative () const
 Return true if the specified scev is negated, but not a constant. More...
unsigned short getExpressionSize () const
void print (raw_ostream &OS) const
 Print out the internal representation of this scalar to the specified stream. More...
void dump () const
 This method is used for debugging. More...
- 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: More...

Protected Member Functions

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

Protected Attributes

std::array< const SCEV *, 1 > Operands
- 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. More...

Detailed Description

This is the base class for unary cast operator classes.

Definition at line 86 of file ScalarEvolutionExpressions.h.

Member Typedef Documentation

◆ op_iterator

Definition at line 100 of file ScalarEvolutionExpressions.h.

◆ op_range

Definition at line 101 of file ScalarEvolutionExpressions.h.

Constructor & Destructor Documentation

◆ SCEVCastExpr()

SCEVCastExpr::SCEVCastExpr ( const FoldingSetNodeIDRef  ID,
const SCEV op,
Type ty 

Definition at line 493 of file ScalarEvolution.cpp.

References op, and Operands.

Member Function Documentation

◆ classof()

static bool llvm::SCEVCastExpr::classof ( const SCEV S)

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

Definition at line 110 of file ScalarEvolutionExpressions.h.

References S, llvm::scPtrToInt, llvm::scSignExtend, llvm::scTruncate, and llvm::scZeroExtend.

◆ getNumOperands()

size_t llvm::SCEVCastExpr::getNumOperands ( ) const

Definition at line 106 of file ScalarEvolutionExpressions.h.

◆ getOperand() [1/2]

const SCEV* llvm::SCEVCastExpr::getOperand ( ) const

◆ getOperand() [2/2]

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

Definition at line 96 of file ScalarEvolutionExpressions.h.

References assert(), i, and Operands.

◆ getType()

Type* llvm::SCEVCastExpr::getType ( ) const

◆ operands()

op_range llvm::SCEVCastExpr::operands ( ) const

Definition at line 103 of file ScalarEvolutionExpressions.h.

References llvm::make_range(), and Operands.

Member Data Documentation

◆ Operands

std::array<const SCEV *, 1> llvm::SCEVCastExpr::Operands

Definition at line 88 of file ScalarEvolutionExpressions.h.

Referenced by getOperand(), operands(), and SCEVCastExpr().

◆ Ty

Type* llvm::SCEVCastExpr::Ty

Definition at line 89 of file ScalarEvolutionExpressions.h.

Referenced by getType().

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