#include <utility>
Go to the source code of this file.
|
class | llvm::IVVisitor |
| Interface for visiting interesting IV users that are recognized but not simplified by this utility. More...
|
|
struct | llvm::WideIVInfo |
| Collect information about induction variables that are used by sign/zero extend operations. More...
|
|
|
namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations.
|
|
|
std::pair< bool, bool > | llvm::simplifyUsersOfIV (PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT, LoopInfo *LI, const TargetTransformInfo *TTI, SmallVectorImpl< WeakTrackingVH > &Dead, SCEVExpander &Rewriter, IVVisitor *V=nullptr) |
| simplifyUsersOfIV - Simplify instructions that use this induction variable by using ScalarEvolution to analyze the IV's recurrence.
|
|
bool | llvm::simplifyLoopIVs (Loop *L, ScalarEvolution *SE, DominatorTree *DT, LoopInfo *LI, const TargetTransformInfo *TTI, SmallVectorImpl< WeakTrackingVH > &Dead) |
| SimplifyLoopIVs - Simplify users of induction variables within this loop.
|
|
PHINode * | llvm::createWideIV (const WideIVInfo &WI, LoopInfo *LI, ScalarEvolution *SE, SCEVExpander &Rewriter, DominatorTree *DT, SmallVectorImpl< WeakTrackingVH > &DeadInsts, unsigned &NumElimExt, unsigned &NumWidened, bool HasGuards, bool UsePostIncrementRanges) |
| Widen Induction Variables - Extend the width of an IV to cover its widest uses.
|
|