aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Vectorize/VecUtils.h
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-04-20 06:13:47 +0000
committerNadav Rotem <nrotem@apple.com>2013-04-20 06:13:47 +0000
commit1d2ad834f2ff2bc5620dbba83dce6d2477023429 (patch)
tree065751a9c81ebb3eea95655c2322ef260e68b128 /lib/Transforms/Vectorize/VecUtils.h
parentef332b1ca1721be962c73e76b4c4e0e44ffaf5d9 (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.h6
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