|
LLVM
3.7.0
|
SCEVNAryExpr - This node is a base class providing common functionality for n'ary operators. More...
#include <ScalarEvolutionExpressions.h>
Public Types | |
| typedef const SCEV *const * | op_iterator |
| typedef iterator_range < op_iterator > | op_range |
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 | |
| size_t | getNumOperands () const |
| const SCEV * | getOperand (unsigned i) const |
| op_iterator | op_begin () const |
| op_iterator | op_end () const |
| op_range | operands () const |
| Type * | getType () const |
| NoWrapFlags | getNoWrapFlags (NoWrapFlags Mask=NoWrapMask) const |
Public Member Functions inherited from llvm::SCEV | |
| SCEV (const FoldingSetNodeIDRef ID, unsigned SCEVTy) | |
| unsigned | getSCEVType () const |
| Type * | getType () const |
| getType - Return the LLVM type of this SCEV expression. More... | |
| bool | isZero () const |
| isZero - Return true if the expression is a constant zero. More... | |
| bool | isOne () const |
| isOne - Return true if the expression is a constant one. More... | |
| bool | isAllOnesValue () const |
| isAllOnesValue - Return true if the expression is a constant all-ones value. More... | |
| bool | isNonConstantNegative () const |
| isNonConstantNegative - Return true if the specified scev is negated, but not a constant. More... | |
| void | print (raw_ostream &OS) const |
| print - Print out the internal representation of this scalar to the specified stream. More... | |
| void | dump () const |
| dump - This method is used for debugging. More... | |
Public Member Functions inherited from llvm::FoldingSetImpl::Node | |
| Node () | |
| 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 | |
| SCEVNAryExpr (const FoldingSetNodeIDRef ID, enum SCEVTypes T, const SCEV *const *O, size_t N) | |
Protected Attributes | |
| const SCEV *const * | Operands |
| size_t | NumOperands |
Protected Attributes inherited from llvm::SCEV | |
| unsigned short | SubclassData |
| SubclassData - This field is initialized to zero and may be used in subclasses to store miscellaneous information. More... | |
SCEVNAryExpr - This node is a base class providing common functionality for n'ary operators.
Definition at line 134 of file ScalarEvolutionExpressions.h.
| typedef const SCEV* const* llvm::SCEVNAryExpr::op_iterator |
Definition at line 154 of file ScalarEvolutionExpressions.h.
Definition at line 155 of file ScalarEvolutionExpressions.h.
|
inlineprotected |
Definition at line 143 of file ScalarEvolutionExpressions.h.
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 169 of file ScalarEvolutionExpressions.h.
References llvm::SCEV::getSCEVType(), llvm::scAddExpr, llvm::scAddRecExpr, llvm::scMulExpr, llvm::scSMaxExpr, and llvm::scUMaxExpr.
|
inline |
Definition at line 164 of file ScalarEvolutionExpressions.h.
References llvm::SCEV::SubclassData.
Referenced by llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getMulExpr(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), getPreStartForExtend(), isNoWrapAddRec(), llvm::SCEV::print(), llvm::SCEVParameterRewriter::visitAddRecExpr(), and llvm::SCEVApplyRewriter::visitAddRecExpr().
|
inline |
Definition at line 148 of file ScalarEvolutionExpressions.h.
References NumOperands.
Referenced by BuildConstantFromSCEV(), CollectAddOperandsWithScales(), llvm::SCEVAddRecExpr::evaluateAtIteration(), llvm::ScalarEvolution::getAddExpr(), getConstantPart(), llvm::ScalarEvolution::getMulExpr(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), getPreStartForExtend(), llvm::SCEVAddExpr::getType(), llvm::ScalarEvolution::getUDivExactExpr(), llvm::SCEVAddRecExpr::isAffine(), isMulSExtable(), llvm::SCEVAddRecExpr::isQuadratic(), MatchNotExpr(), llvm::SCEV::print(), SolveQuadraticEquation(), llvm::SCEVParameterRewriter::visitAddExpr(), llvm::SCEVApplyRewriter::visitAddExpr(), llvm::SCEVParameterRewriter::visitAddRecExpr(), llvm::SCEVApplyRewriter::visitAddRecExpr(), llvm::SCEVParameterRewriter::visitMulExpr(), llvm::SCEVApplyRewriter::visitMulExpr(), llvm::SCEVParameterRewriter::visitSMaxExpr(), llvm::SCEVApplyRewriter::visitSMaxExpr(), llvm::SCEVParameterRewriter::visitUMaxExpr(), and llvm::SCEVApplyRewriter::visitUMaxExpr().
Definition at line 149 of file ScalarEvolutionExpressions.h.
References NumOperands, and Operands.
Referenced by BuildConstantFromSCEV(), CollectAddOperandsWithScales(), llvm::SCEVAddRecExpr::evaluateAtIteration(), llvm::ScalarEvolution::getAddExpr(), getConstantPart(), llvm::ScalarEvolution::getMulExpr(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), llvm::SCEVAddRecExpr::getStepRecurrence(), getType(), llvm::SCEVAddExpr::getType(), llvm::ScalarEvolution::getUDivExactExpr(), llvm::SCEV::isNonConstantNegative(), MatchNotExpr(), llvm::SCEV::print(), SolveQuadraticEquation(), llvm::SCEVParameterRewriter::visitAddExpr(), llvm::SCEVApplyRewriter::visitAddExpr(), llvm::SCEVParameterRewriter::visitAddRecExpr(), llvm::SCEVApplyRewriter::visitAddRecExpr(), llvm::SCEVParameterRewriter::visitMulExpr(), llvm::SCEVApplyRewriter::visitMulExpr(), llvm::SCEVParameterRewriter::visitSMaxExpr(), llvm::SCEVApplyRewriter::visitSMaxExpr(), llvm::SCEVParameterRewriter::visitUMaxExpr(), and llvm::SCEVApplyRewriter::visitUMaxExpr().
|
inline |
Definition at line 162 of file ScalarEvolutionExpressions.h.
References getOperand(), and llvm::SCEV::getType().
Referenced by canBeCheaplyTransformed(), CollectSubexprs(), llvm::SCEVAddRecExpr::evaluateAtIteration(), FindLoopCounter(), llvm::ScalarEvolution::getMulExpr(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), getPreStartForExtend(), isAddRecSExtable(), isExistingPhi(), IsIncrementNSW(), IsIncrementNUW(), and isMulSExtable().
|
inline |
Definition at line 156 of file ScalarEvolutionExpressions.h.
References Operands.
Referenced by CollectAddOperandsWithScales(), llvm::ScalarEvolution::getAddExpr(), getExprBase(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::ScalarEvolution::getUDivExactExpr(), operands(), llvm::SCEV::print(), and llvm::SCEVTraversal< SV >::visitAll().
|
inline |
Definition at line 157 of file ScalarEvolutionExpressions.h.
References NumOperands, and Operands.
Referenced by CollectAddOperandsWithScales(), llvm::ScalarEvolution::getAddExpr(), getExprBase(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::ScalarEvolution::getUDivExactExpr(), operands(), llvm::SCEV::print(), and llvm::SCEVTraversal< SV >::visitAll().
|
inline |
Definition at line 158 of file ScalarEvolutionExpressions.h.
References llvm::make_range(), op_begin(), and op_end().
Referenced by getPreStartForExtend().
|
protected |
Definition at line 141 of file ScalarEvolutionExpressions.h.
Referenced by getNumOperands(), getOperand(), and op_end().
Definition at line 140 of file ScalarEvolutionExpressions.h.
Referenced by llvm::SCEVAddRecExpr::getNumIterationsInRange(), getOperand(), llvm::SCEVAddRecExpr::getStart(), op_begin(), and op_end().
1.8.6