summaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/ScalarEvolutionExpressions.h
diff options
context:
space:
mode:
authorSebastian Pop <spop@codeaurora.org>2013-11-12 22:47:20 +0000
committerSebastian Pop <spop@codeaurora.org>2013-11-12 22:47:20 +0000
commit5230ad61fd35d3006e7764c3152d28e2e68c288f (patch)
treed94a4ccc022bb23ad6d24274319f99a85d3ae404 /include/llvm/Analysis/ScalarEvolutionExpressions.h
parentb8fc659c8eb36796531d55fa78cbb1957895aa9b (diff)
downloadllvm-5230ad61fd35d3006e7764c3152d28e2e68c288f.tar.gz
llvm-5230ad61fd35d3006e7764c3152d28e2e68c288f.tar.bz2
llvm-5230ad61fd35d3006e7764c3152d28e2e68c288f.tar.xz
delinearization of arrays
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194527 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/ScalarEvolutionExpressions.h')
-rw-r--r--include/llvm/Analysis/ScalarEvolutionExpressions.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/llvm/Analysis/ScalarEvolutionExpressions.h b/include/llvm/Analysis/ScalarEvolutionExpressions.h
index 1fc03be761..9cd902a120 100644
--- a/include/llvm/Analysis/ScalarEvolutionExpressions.h
+++ b/include/llvm/Analysis/ScalarEvolutionExpressions.h
@@ -351,8 +351,14 @@ namespace llvm {
static inline bool classof(const SCEV *S) {
return S->getSCEVType() == scAddRecExpr;
}
- };
+ /// Splits the SCEV into two vectors of SCEVs representing the subscripts
+ /// and sizes of an array access. Returns the remainder of the
+ /// delinearization that is the offset start of the array.
+ const SCEV *delinearize(ScalarEvolution &SE,
+ SmallVectorImpl<const SCEV *> &Subscripts,
+ SmallVectorImpl<const SCEV *> &Sizes) const;
+ };
//===--------------------------------------------------------------------===//
/// SCEVSMaxExpr - This class represents a signed maximum selection.