summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-12-19 11:09:15 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-12-19 11:09:15 +0000
commite300004bd5c74df5ae1a55bf00e4dcae4721357a (patch)
tree618996c4f1428546638efd48f9c571b49760753b /llvm
parent44ba3753ad49330daf5c6f60ef35cafa5bffbf84 (diff)
downloadbcm5719-llvm-e300004bd5c74df5ae1a55bf00e4dcae4721357a.tar.gz
bcm5719-llvm-e300004bd5c74df5ae1a55bf00e4dcae4721357a.zip
LoopVectorize: Make iteration over induction variables not depend on pointer values.
MapVector is a bit heavyweight, but I don't see a simpler way. Also the InductionList is unlikely to be large. This should help 3-stage selfhost compares (PR14647). llvm-svn: 170528
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Transforms/Vectorize/LoopVectorize.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.h b/llvm/lib/Transforms/Vectorize/LoopVectorize.h
index e5ef29052e2..cae1093a558 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.h
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.h
@@ -47,12 +47,12 @@
#define LV_NAME "loop-vectorize"
#define DEBUG_TYPE LV_NAME
-#include "llvm/Analysis/ScalarEvolution.h"
-#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SmallPtrSet.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/IRBuilder.h"
-
#include <algorithm>
using namespace llvm;
@@ -304,7 +304,7 @@ public:
/// InductionList saves induction variables and maps them to the
/// induction descriptor.
- typedef DenseMap<PHINode*, InductionInfo> InductionList;
+ typedef MapVector<PHINode*, InductionInfo> InductionList;
/// Returns true if it is legal to vectorize this loop.
/// This does not mean that it is profitable to vectorize this
OpenPOWER on IntegriCloud