Searched defs:SCEV (Results 1 - 3 of 3) sorted by relevance

/external/llvm/include/llvm/Analysis/
H A DScalarEvolution.h13 // SCEV class. Given this analysis, trip counts of loops and other important
50 class SCEV;
51 template<> struct FoldingSetTrait<SCEV>;
53 /// SCEV - This class represents an analyzed expression in the program. These
57 class SCEV : public FoldingSetNode { class in namespace:llvm
58 friend struct FoldingSetTrait<SCEV>;
64 // The SCEV baseclass this node corresponds to
73 SCEV(const SCEV &); // DO NOT IMPLEMENT
74 void operator=(const SCEV
100 explicit SCEV(const FoldingSetNodeIDRef ID, unsigned SCEVTy) : function in class:llvm::SCEV
578 getAddExpr(const SCEV *LHS, const SCEV *RHS, SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap) argument
585 getAddExpr(const SCEV *Op0, const SCEV *Op1, const SCEV *Op2, SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap) argument
595 getMulExpr(const SCEV *LHS, const SCEV *RHS, SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap) argument
603 getMulExpr(const SCEV *Op0, const SCEV *Op1, const SCEV *Op2, SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap) argument
[all...]
/external/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp60 // implement a strong expression equivalence checker in SCEV. Until then, we
112 Value *LinearFunctionTestReplace(Loop *L, const SCEV *BackedgeTakenCount,
134 /// isValidRewrite - Return true if the SCEV expansion generated by the
135 /// rewriter can replace the original value. SCEV guarantees that it
139 // If an SCEV expression subsumed multiple pointers, its expansion could
143 // could fail in a dangerous way. Ultimately, SCEV will be improved to avoid
148 // because it understands lcssa phis while SCEV does not.
162 // SCEV may have rewritten an expression that produces the GEP's pointer
165 // base of a recurrence. This handles the case in which SCEV expansion
173 const SCEV *FromBas
605 WideIVVisitor(PHINode *NarrowIV, ScalarEvolution *SCEV, const TargetData *TData) argument
1103 isHighCostExpansion(const SCEV *S, BranchInst *BI, SmallPtrSet<const SCEV*, 8> &Processed, ScalarEvolution *SE) argument
[all...]
H A DLoopStrengthReduce.cpp29 // The SCEV for %i is {0,+,1}<%L>. The SCEV for %i.next is {1,+,1}<%L>, however
135 typedef DenseMap<const SCEV *, RegSortData> RegUsesTy;
138 SmallVector<const SCEV *, 16> RegSequence;
141 void CountRegister(const SCEV *Reg, size_t LUIdx);
142 void DropRegister(const SCEV *Reg, size_t LUIdx);
145 bool isRegUsedByUsesOtherThan(const SCEV *Reg, size_t LUIdx) const;
147 const SmallBitVector &getUsedByIndices(const SCEV *Reg) const;
151 typedef SmallVectorImpl<const SCEV *>::iterator iterator;
152 typedef SmallVectorImpl<const SCEV *>
674 isHighCostExpansion(const SCEV *S, SmallPtrSet<const SCEV*, 8> &Processed, ScalarEvolution &SE) argument
[all...]

Completed in 513 milliseconds