diff options
author | Nadav Rotem <nrotem@apple.com> | 2013-04-20 06:13:47 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2013-04-20 06:13:47 +0000 |
commit | 1d2ad834f2ff2bc5620dbba83dce6d2477023429 (patch) | |
tree | 065751a9c81ebb3eea95655c2322ef260e68b128 /lib/Transforms/Vectorize/VecUtils.h | |
parent | ef332b1ca1721be962c73e76b4c4e0e44ffaf5d9 (diff) |
SLPVectorizer: Improve the cost model for loop invariant broadcast values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179930 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Vectorize/VecUtils.h')
-rw-r--r-- | lib/Transforms/Vectorize/VecUtils.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Transforms/Vectorize/VecUtils.h b/lib/Transforms/Vectorize/VecUtils.h index 3f6866407a..c756bd3968 100644 --- a/lib/Transforms/Vectorize/VecUtils.h +++ b/lib/Transforms/Vectorize/VecUtils.h @@ -27,6 +27,7 @@ class BasicBlock; class Instruction; class Type; class VectorType; class StoreInst; class Value; class ScalarEvolution; class DataLayout; class TargetTransformInfo; class AliasAnalysis; +class Loop; /// Bottom Up SLP vectorization utility class. struct BoUpSLP { @@ -37,7 +38,7 @@ struct BoUpSLP { // \brief C'tor. BoUpSLP(BasicBlock *Bb, ScalarEvolution *Se, DataLayout *Dl, - TargetTransformInfo *Tti, AliasAnalysis *Aa); + TargetTransformInfo *Tti, AliasAnalysis *Aa, Loop *Lp); /// \brief Take the pointer operand from the Load/Store instruction. /// \returns NULL if this is not a valid Load/Store instruction. @@ -112,7 +113,7 @@ private: /// \returns a vector from a collection of scalars in \p VL. Value *Scalarize(ValueList &VL, VectorType *Ty); - + private: /// Maps instructions to numbers and back. SmallDenseMap<Value*, int> InstrIdx; @@ -155,6 +156,7 @@ private: DataLayout *DL; TargetTransformInfo *TTI; AliasAnalysis *AA; + Loop *L; }; } // end of namespace |