LLVM API Documentation
#include <ScalarEvolutionExpressions.h>


Public Types | |
| typedef const SCEV *const * | op_iterator |
Public Member Functions | |
| size_t | getNumOperands () const |
| const SCEV * | getOperand (unsigned i) const |
| op_iterator | op_begin () const |
| op_iterator | op_end () const |
| Type * | getType () const |
| NoWrapFlags | getNoWrapFlags (NoWrapFlags Mask=NoWrapMask) const |
Static Public Member Functions | |
| static bool | classof (const SCEV *S) |
| Methods for support type inquiry through isa, cast, and dyn_cast: | |
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 |
SCEVNAryExpr - This node is a base class providing common functionality for n'ary operators.
Definition at line 133 of file ScalarEvolutionExpressions.h.
| typedef const SCEV* const* llvm::SCEVNAryExpr::op_iterator |
Definition at line 153 of file ScalarEvolutionExpressions.h.
| llvm::SCEVNAryExpr::SCEVNAryExpr | ( | const FoldingSetNodeIDRef | ID, |
| enum SCEVTypes | T, | ||
| const SCEV *const * | O, | ||
| size_t | N | ||
| ) | [inline, protected] |
Definition at line 142 of file ScalarEvolutionExpressions.h.
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented in llvm::SCEVUMaxExpr, llvm::SCEVSMaxExpr, llvm::SCEVAddRecExpr, llvm::SCEVMulExpr, llvm::SCEVAddExpr, and llvm::SCEVCommutativeExpr.
Definition at line 164 of file ScalarEvolutionExpressions.h.
References llvm::SCEV::getSCEVType(), llvm::scAddExpr, llvm::scAddRecExpr, llvm::scMulExpr, llvm::scSMaxExpr, and llvm::scUMaxExpr.
| NoWrapFlags llvm::SCEVNAryExpr::getNoWrapFlags | ( | NoWrapFlags | Mask = NoWrapMask | ) | const [inline] |
Definition at line 159 of file ScalarEvolutionExpressions.h.
References llvm::SCEV::SubclassData.
Referenced by llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getMulExpr(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), getPreStartForSignExtend(), llvm::SCEV::print(), llvm::SCEVRewriter::visitAddRecExpr(), and llvm::SCEVApplyRewriter::visitAddRecExpr().
| size_t llvm::SCEVNAryExpr::getNumOperands | ( | ) | const [inline] |
Definition at line 147 of file ScalarEvolutionExpressions.h.
References NumOperands.
Referenced by BuildConstantFromSCEV(), CollectAddOperandsWithScales(), llvm::SCEVAddRecExpr::evaluateAtIteration(), llvm::ScalarEvolution::getAddExpr(), getConstantPart(), llvm::ScalarEvolution::getMulExpr(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), getPreStartForSignExtend(), llvm::SCEVAddExpr::getType(), llvm::SCEVAddRecExpr::isAffine(), isMulSExtable(), llvm::SCEVAddRecExpr::isQuadratic(), llvm::SCEV::print(), SolveQuadraticEquation(), llvm::SCEVRewriter::visitAddExpr(), llvm::SCEVRewriter::visitAddRecExpr(), llvm::SCEVApplyRewriter::visitAddRecExpr(), llvm::SCEVRewriter::visitMulExpr(), llvm::SCEVRewriter::visitSMaxExpr(), and llvm::SCEVRewriter::visitUMaxExpr().
Definition at line 148 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::SCEV::isNonConstantNegative(), llvm::SCEV::print(), SolveQuadraticEquation(), llvm::SCEVRewriter::visitAddExpr(), llvm::SCEVRewriter::visitAddRecExpr(), llvm::SCEVApplyRewriter::visitAddRecExpr(), llvm::SCEVRewriter::visitMulExpr(), llvm::SCEVRewriter::visitSMaxExpr(), and llvm::SCEVRewriter::visitUMaxExpr().
| Type* llvm::SCEVNAryExpr::getType | ( | ) | const [inline] |
getType - Return the LLVM type of this SCEV expression.
Reimplemented from llvm::SCEV.
Reimplemented in llvm::SCEVAddExpr.
Definition at line 157 of file ScalarEvolutionExpressions.h.
References getOperand(), and llvm::SCEV::getType().
Referenced by CollectSubexprs(), llvm::SCEVAddRecExpr::evaluateAtIteration(), FindLoopCounter(), llvm::ScalarEvolution::getMulExpr(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), getPreStartForSignExtend(), isAddRecSExtable(), isExistingPhi(), and isMulSExtable().
| op_iterator llvm::SCEVNAryExpr::op_begin | ( | ) | const [inline] |
Definition at line 154 of file ScalarEvolutionExpressions.h.
References Operands.
Referenced by CollectAddOperandsWithScales(), llvm::ScalarEvolution::getAddExpr(), getExprBase(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), getPreStartForSignExtend(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::SCEV::print(), and llvm::SCEVTraversal< SV >::visitAll().
| op_iterator llvm::SCEVNAryExpr::op_end | ( | ) | const [inline] |
Definition at line 155 of file ScalarEvolutionExpressions.h.
References NumOperands, and Operands.
Referenced by CollectAddOperandsWithScales(), llvm::ScalarEvolution::getAddExpr(), getExprBase(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), getPreStartForSignExtend(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::SCEV::print(), and llvm::SCEVTraversal< SV >::visitAll().
size_t llvm::SCEVNAryExpr::NumOperands [protected] |
Definition at line 140 of file ScalarEvolutionExpressions.h.
Referenced by getNumOperands(), getOperand(), and op_end().
const SCEV* const* llvm::SCEVNAryExpr::Operands [protected] |
Definition at line 139 of file ScalarEvolutionExpressions.h.
Referenced by llvm::SCEVAddRecExpr::getNumIterationsInRange(), getOperand(), llvm::SCEVAddRecExpr::getStart(), op_begin(), and op_end().