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 &) LLVM_DELETED_FUNCTION;
74 void operator=(const SCEV
100 explicit SCEV(const FoldingSetNodeIDRef ID, unsigned SCEVTy) : function in class:llvm::SCEV
600 getAddExpr(const SCEV *LHS, const SCEV *RHS, SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap) argument
607 getAddExpr(const SCEV *Op0, const SCEV *Op1, const SCEV *Op2, SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap) argument
617 getMulExpr(const SCEV *LHS, const SCEV *RHS, SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap) argument
625 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.cpp61 // implement a strong expression equivalence checker in SCEV. Until then, we
116 Value *LinearFunctionTestReplace(Loop *L, const SCEV *BackedgeTakenCount,
138 /// isValidRewrite - Return true if the SCEV expansion generated by the
139 /// rewriter can replace the original value. SCEV guarantees that it
143 // If an SCEV expression subsumed multiple pointers, its expansion could
147 // could fail in a dangerous way. Ultimately, SCEV will be improved to avoid
152 // because it understands lcssa phis while SCEV does not.
166 // SCEV may have rewritten an expression that produces the GEP's pointer
169 // base of a recurrence. This handles the case in which SCEV expansion
177 const SCEV *FromBas
1132 IndVarSimplifyVisitor(PHINode *IV, ScalarEvolution *SCEV, const DataLayout *DL, const DominatorTree *DTree) argument
1202 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
137 typedef DenseMap<const SCEV *, RegSortData> RegUsesTy;
140 SmallVector<const SCEV *, 16> RegSequence;
143 void CountRegister(const SCEV *Reg, size_t LUIdx);
144 void DropRegister(const SCEV *Reg, size_t LUIdx);
147 bool isRegUsedByUsesOtherThan(const SCEV *Reg, size_t LUIdx) const;
149 const SmallBitVector &getUsedByIndices(const SCEV *Reg) const;
153 typedef SmallVectorImpl<const SCEV *>::iterator iterator;
154 typedef SmallVectorImpl<const SCEV *>
746 isHighCostExpansion(const SCEV *S, SmallPtrSet<const SCEV*, 8> &Processed, ScalarEvolution &SE) argument
[all...]

Completed in 185 milliseconds