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 | 83c7c41bc24185e9868ca645e3afb1485fe75be1 (patch) | |
tree | cf639b531fe3fefb3f39138c70ec0bfa10870027 /llvm/lib/Transforms/Vectorize/VecUtils.h | |
parent | dfe1c93ca4b00d58eec4bd7358b4e6bc86668d57 (diff) | |
download | bcm5719-llvm-83c7c41bc24185e9868ca645e3afb1485fe75be1.tar.gz bcm5719-llvm-83c7c41bc24185e9868ca645e3afb1485fe75be1.zip |
SLPVectorizer: Improve the cost model for loop invariant broadcast values.
llvm-svn: 179930
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/VecUtils.h')
-rw-r--r-- | llvm/lib/Transforms/Vectorize/VecUtils.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Vectorize/VecUtils.h b/llvm/lib/Transforms/Vectorize/VecUtils.h index 3f6866407a6..c756bd3968d 100644 --- a/llvm/lib/Transforms/Vectorize/VecUtils.h +++ b/llvm/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 |