class SCEVNAryExpr
Declaration
class SCEVNAryExpr : public SCEV { /* full declaration omitted */ };
Description
This node is a base class providing common functionality for n'ary operators.
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:142
Inherits from: SCEV
Member Variables
- protected const llvm::SCEV* const* Operands
- protected size_t NumOperands
Inherited from SCEV:
Method Overview
- protected SCEVNAryExpr(const llvm::FoldingSetNodeIDRef ID, enum SCEVTypes T, const llvm::SCEV *const * O, size_t N)
- public static bool classof(const llvm::SCEV * S)
- public llvm::SCEV::NoWrapFlags getNoWrapFlags(llvm::SCEV::NoWrapFlags Mask = NoWrapMask) const
- public size_t getNumOperands() const
- public const llvm::SCEV * getOperand(unsigned int i) const
- public llvm::Type * getType() const
- public bool hasNoSelfWrap() const
- public bool hasNoSignedWrap() const
- public bool hasNoUnsignedWrap() const
- public llvm::SCEVNAryExpr::op_iterator op_begin() const
- public llvm::SCEVNAryExpr::op_iterator op_end() const
- public llvm::SCEVNAryExpr::op_range operands() const
Inherited from SCEV:
- public dump
- public getExpressionSize
- public getSCEVType
- public getType
- public isAllOnesValue
- public isNonConstantNegative
- public isOne
- public isZero
- public print
Inherited from FoldingSetBase::Node:
Methods
¶SCEVNAryExpr(const llvm::FoldingSetNodeIDRef ID,
enum SCEVTypes T,
const llvm::SCEV* const* O,
size_t N)
SCEVNAryExpr(const llvm::FoldingSetNodeIDRef ID,
enum SCEVTypes T,
const llvm::SCEV* const* O,
size_t N)
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:151
Parameters
- const llvm::FoldingSetNodeIDRef ID
- enum SCEVTypes T
- const llvm::SCEV* const* O
- size_t N
¶static bool classof(const llvm::SCEV* S)
static bool classof(const llvm::SCEV* S)
Description
Methods for support type inquiry through isa, cast, and dyn_cast:
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:192
Parameters
- const llvm::SCEV* S
¶llvm::SCEV::NoWrapFlags getNoWrapFlags(
llvm::SCEV::NoWrapFlags Mask =
NoWrapMask) const
llvm::SCEV::NoWrapFlags getNoWrapFlags(
llvm::SCEV::NoWrapFlags Mask =
NoWrapMask) const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:175
Parameters
- llvm::SCEV::NoWrapFlags Mask = NoWrapMask
¶size_t getNumOperands() const
size_t getNumOperands() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:157
¶const llvm::SCEV* getOperand(unsigned int i) const
const llvm::SCEV* getOperand(unsigned int i) const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:159
Parameters
- unsigned int i
¶llvm::Type* getType() const
llvm::Type* getType() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:173
¶bool hasNoSelfWrap() const
bool hasNoSelfWrap() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:187
¶bool hasNoSignedWrap() const
bool hasNoSignedWrap() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:183
¶bool hasNoUnsignedWrap() const
bool hasNoUnsignedWrap() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:179
¶llvm::SCEVNAryExpr::op_iterator op_begin() const
llvm::SCEVNAryExpr::op_iterator op_begin() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:167
¶llvm::SCEVNAryExpr::op_iterator op_end() const
llvm::SCEVNAryExpr::op_iterator op_end() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:168
¶llvm::SCEVNAryExpr::op_range operands() const
llvm::SCEVNAryExpr::op_range operands() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:169