LLVM API Documentation
#include <ScalarEvolutionExpressions.h>


Public Types | |
| typedef std::vector < SCEVHandle >::const_iterator | op_iterator |
Public Member Functions | |
| unsigned | getNumOperands () const |
| const SCEVHandle & | getOperand (unsigned i) const |
| const std::vector< SCEVHandle > & | getOperands () const |
| op_iterator | op_begin () const |
| op_iterator | op_end () const |
| virtual bool | isLoopInvariant (const Loop *L) const |
| virtual bool | hasComputableLoopEvolution (const Loop *L) const |
| SCEVHandle | replaceSymbolicValuesWithConcrete (const SCEVHandle &Sym, const SCEVHandle &Conc, ScalarEvolution &SE) const |
| virtual const char * | getOperationStr () const =0 |
| virtual const Type * | getType () const |
| virtual void | print (std::ostream &OS) const |
| void | print (std::ostream *OS) const |
Static Public Member Functions | |
| static bool | classof (const SCEVCommutativeExpr *S) |
| Methods for support type inquiry through isa, cast, and dyn_cast:. | |
| static bool | classof (const SCEV *S) |
Protected Member Functions | |
| SCEVCommutativeExpr (enum SCEVTypes T, const std::vector< SCEVHandle > &ops) | |
| ~SCEVCommutativeExpr () | |
Friends | |
| class | ScalarEvolution |
Definition at line 202 of file ScalarEvolutionExpressions.h.
| typedef std::vector<SCEVHandle>::const_iterator llvm::SCEVCommutativeExpr::op_iterator |
Definition at line 223 of file ScalarEvolutionExpressions.h.
| llvm::SCEVCommutativeExpr::SCEVCommutativeExpr | ( | enum SCEVTypes | T, | |
| const std::vector< SCEVHandle > & | ops | |||
| ) | [inline, protected] |
Definition at line 208 of file ScalarEvolutionExpressions.h.
| SCEVCommutativeExpr::~SCEVCommutativeExpr | ( | ) | [protected] |
| unsigned llvm::SCEVCommutativeExpr::getNumOperands | ( | ) | const [inline] |
Definition at line 216 of file ScalarEvolutionExpressions.h.
Referenced by llvm::ScalarEvolution::getAddExpr(), hasComputableLoopEvolution(), isLoopInvariant(), replaceSymbolicValuesWithConcrete(), llvm::SCEVExpander::visitAddExpr(), llvm::SCEVExpander::visitMulExpr(), llvm::SCEVExpander::visitSMaxExpr(), and llvm::SCEVExpander::visitUMaxExpr().
| const SCEVHandle& llvm::SCEVCommutativeExpr::getOperand | ( | unsigned | i | ) | const [inline] |
Definition at line 217 of file ScalarEvolutionExpressions.h.
Referenced by llvm::ScalarEvolution::getAddExpr(), getType(), hasComputableLoopEvolution(), isLoopInvariant(), isNonConstantNegative(), replaceSymbolicValuesWithConcrete(), llvm::SCEVExpander::visitAddExpr(), llvm::SCEVExpander::visitMulExpr(), llvm::SCEVExpander::visitSMaxExpr(), and llvm::SCEVExpander::visitUMaxExpr().
| const std::vector<SCEVHandle>& llvm::SCEVCommutativeExpr::getOperands | ( | ) | const [inline] |
Definition at line 222 of file ScalarEvolutionExpressions.h.
| op_iterator llvm::SCEVCommutativeExpr::op_begin | ( | ) | const [inline] |
Definition at line 224 of file ScalarEvolutionExpressions.h.
Referenced by llvm::ScalarEvolution::getAddExpr().
| op_iterator llvm::SCEVCommutativeExpr::op_end | ( | ) | const [inline] |
Definition at line 225 of file ScalarEvolutionExpressions.h.
Referenced by llvm::ScalarEvolution::getAddExpr().
| virtual bool llvm::SCEVCommutativeExpr::isLoopInvariant | ( | const Loop * | L | ) | const [inline, virtual] |
isLoopInvariant - Return true if the value of this SCEV is unchanging in the specified loop.
Implements llvm::SCEV.
Definition at line 228 of file ScalarEvolutionExpressions.h.
References getNumOperands(), and getOperand().
Referenced by hasComputableLoopEvolution().
| virtual bool llvm::SCEVCommutativeExpr::hasComputableLoopEvolution | ( | const Loop * | L | ) | const [inline, virtual] |
hasComputableLoopEvolution - Return true if this SCEV changes value in a known way in the specified loop. This property being true implies that the value is variant in the loop AND that we can emit an expression to compute the value of the expression at any particular loop iteration.
Implements llvm::SCEV.
Definition at line 237 of file ScalarEvolutionExpressions.h.
References getNumOperands(), getOperand(), and isLoopInvariant().
| SCEVHandle SCEVCommutativeExpr::replaceSymbolicValuesWithConcrete | ( | const SCEVHandle & | Sym, | |
| const SCEVHandle & | Conc, | |||
| ScalarEvolution & | SE | |||
| ) | const [virtual] |
replaceSymbolicValuesWithConcrete - If this SCEV internally references the symbolic value "Sym", construct and return a new SCEV that produces the same value, but which uses the concrete value Conc instead of the symbolic value. If this SCEV does not use the symbolic value, it returns itself.
Implements llvm::SCEV.
Definition at line 278 of file ScalarEvolution.cpp.
References llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getMulExpr(), getNumOperands(), getOperand(), llvm::ScalarEvolution::getSMaxExpr(), llvm::ScalarEvolution::getUMaxExpr(), and H.
| virtual const char* llvm::SCEVCommutativeExpr::getOperationStr | ( | ) | const [pure virtual] |
Implemented in llvm::SCEVAddExpr, llvm::SCEVMulExpr, llvm::SCEVSMaxExpr, and llvm::SCEVUMaxExpr.
Referenced by print().
| virtual const Type* llvm::SCEVCommutativeExpr::getType | ( | ) | const [inline, virtual] |
getType - Return the LLVM type of this SCEV expression.
Implements llvm::SCEV.
Definition at line 255 of file ScalarEvolutionExpressions.h.
References getOperand().
| void SCEVCommutativeExpr::print | ( | std::ostream & | OS | ) | const [virtual] |
print - Print out the internal representation of this scalar to the specified stream. This should really only be used for debugging purposes.
Implements llvm::SCEV.
Definition at line 268 of file ScalarEvolution.cpp.
References getOperationStr().
Referenced by print().
| void llvm::SCEVCommutativeExpr::print | ( | std::ostream * | OS | ) | const [inline] |
Reimplemented from llvm::SCEV.
Definition at line 257 of file ScalarEvolutionExpressions.h.
References print().
| static bool llvm::SCEVCommutativeExpr::classof | ( | const SCEVCommutativeExpr * | S | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:.
Definition at line 260 of file ScalarEvolutionExpressions.h.
| static bool llvm::SCEVCommutativeExpr::classof | ( | const SCEV * | S | ) | [inline, static] |
Reimplemented in llvm::SCEVAddExpr, llvm::SCEVMulExpr, llvm::SCEVSMaxExpr, and llvm::SCEVUMaxExpr.
Definition at line 261 of file ScalarEvolutionExpressions.h.
References llvm::SCEV::getSCEVType(), llvm::scAddExpr, llvm::scMulExpr, llvm::scSMaxExpr, and llvm::scUMaxExpr.
friend class ScalarEvolution [friend] |
Reimplemented in llvm::SCEVAddExpr, llvm::SCEVMulExpr, llvm::SCEVSMaxExpr, and llvm::SCEVUMaxExpr.
Definition at line 203 of file ScalarEvolutionExpressions.h.
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.