LLVM  8.0.1
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::SCEVAddExpr Class Reference

This node represents an addition of some number of SCEVs. More...

#include "llvm/Analysis/ScalarEvolutionExpressions.h"

Inheritance diagram for llvm::SCEVAddExpr:
Inheritance graph
[legend]
Collaboration diagram for llvm::SCEVAddExpr:
Collaboration graph
[legend]

Public Member Functions

TypegetType () const
 
- Public Member Functions inherited from llvm::SCEVCommutativeExpr
void setNoWrapFlags (NoWrapFlags Flags)
 Set flags for a non-recurrence without clearing previously set flags. More...
 
- Public Member Functions inherited from llvm::SCEVNAryExpr
size_t getNumOperands () const
 
const SCEVgetOperand (unsigned i) const
 
op_iterator op_begin () const
 
op_iterator op_end () const
 
op_range operands () const
 
TypegetType () const
 
NoWrapFlags getNoWrapFlags (NoWrapFlags Mask=NoWrapMask) const
 
bool hasNoUnsignedWrap () const
 
bool hasNoSignedWrap () const
 
bool hasNoSelfWrap () const
 
- Public Member Functions inherited from llvm::SCEV
 SCEV (const FoldingSetNodeIDRef ID, unsigned SCEVTy)
 
 SCEV (const SCEV &)=delete
 
SCEVoperator= (const SCEV &)=delete
 
unsigned 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...
 
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...
 
- Static Public Member Functions inherited from llvm::SCEVCommutativeExpr
static bool classof (const SCEV *S)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 
- Static Public Member Functions inherited from llvm::SCEVNAryExpr
static bool classof (const SCEV *S)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 

Friends

class ScalarEvolution
 

Additional Inherited Members

- Public Types inherited from llvm::SCEVNAryExpr
using op_iterator = const SCEV *const *
 
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...
 
- Protected Member Functions inherited from llvm::SCEVCommutativeExpr
 SCEVCommutativeExpr (const FoldingSetNodeIDRef ID, enum SCEVTypes T, const SCEV *const *O, size_t N)
 
- Protected Member Functions inherited from llvm::SCEVNAryExpr
 SCEVNAryExpr (const FoldingSetNodeIDRef ID, enum SCEVTypes T, const SCEV *const *O, size_t N)
 
- Protected Attributes inherited from llvm::SCEVNAryExpr
const SCEV *constOperands
 
size_t NumOperands
 
- Protected Attributes inherited from llvm::SCEV
unsigned short SubclassData = 0
 This field is initialized to zero and may be used in subclasses to store miscellaneous information. More...
 

Detailed Description

This node represents an addition of some number of SCEVs.

Definition at line 217 of file ScalarEvolutionExpressions.h.

Member Function Documentation

◆ classof()

static bool llvm::SCEVAddExpr::classof ( const SCEV S)
inlinestatic

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

Definition at line 233 of file ScalarEvolutionExpressions.h.

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

◆ getType()

Type* llvm::SCEVAddExpr::getType ( ) const
inline

Definition at line 225 of file ScalarEvolutionExpressions.h.

Referenced by isAddSExtable(), and PickMostRelevantLoop().

Friends And Related Function Documentation

◆ ScalarEvolution

friend class ScalarEvolution
friend

Definition at line 218 of file ScalarEvolutionExpressions.h.


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