#include <ScalarEvolutionExpander.h>

Public Member Functions | |
| SCEVExpander (ScalarEvolution &se) | |
| SCEVExpander - Construct a SCEVExpander in "canonical" mode. | |
| void | clear () |
| Value * | getOrInsertCanonicalInductionVariable (const Loop *L, const Type *Ty) |
| Value * | expandCodeFor (const SCEV *SH, const Type *Ty, Instruction *I) |
| void | setIVIncInsertPos (const Loop *L, Instruction *Pos) |
| setIVIncInsertPos - Set the current IV increment loop and position. | |
| void | setPostInc (const Loop *L) |
| void | disableCanonicalMode () |
Friends | |
| struct | SCEVVisitor< SCEVExpander, Value * > |
Clients should create an instance of this class when rewriting is needed, and destroy it when finished to allow the release of the associated memory.
| void llvm::SCEVExpander::clear | ( | ) | [inline] |
clear - Erase the contents of the InsertedExpressions map so that users trying to expand the same expression into multiple BasicBlocks or different places within the same BasicBlock can do so.
| void llvm::SCEVExpander::disableCanonicalMode | ( | ) | [inline] |
disableCanonicalMode - Disable the behavior of expanding expressions in canonical form rather than in a more literal form. Non-canonical mode is useful for late optimization passes.
| Value* llvm::SCEVExpander::expandCodeFor | ( | const SCEV * | SH, | |
| const Type * | Ty, | |||
| Instruction * | I | |||
| ) | [inline] |
expandCodeFor - Insert code to directly compute the specified SCEV expression into the program. The inserted code is inserted into the specified block.
| Value* llvm::SCEVExpander::getOrInsertCanonicalInductionVariable | ( | const Loop * | L, | |
| const Type * | Ty | |||
| ) |
getOrInsertCanonicalInductionVariable - This method returns the canonical induction variable of the specified type for the specified loop (inserting one if there is none). A canonical induction variable starts at zero and steps by one on each iteration.
| void llvm::SCEVExpander::setPostInc | ( | const Loop * | L | ) | [inline] |
setPostInc - If L is non-null, enable post-inc expansion for addrecs referring to the given loop. If L is null, disable post-inc expansion completely. Post-inc expansion is only supported in non-canonical mode.
1.5.8