[llvm-commits] [llvm] r170528 - /llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.h
Benjamin Kramer
benny.kra at googlemail.com
Wed Dec 19 03:09:15 PST 2012
Author: d0k
Date: Wed Dec 19 05:09:15 2012
New Revision: 170528
URL: http://llvm.org/viewvc/llvm-project?rev=170528&view=rev
Log:
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).
Modified:
llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.h
Modified: llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.h?rev=170528&r1=170527&r2=170528&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.h (original)
+++ llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.h Wed Dec 19 05:09:15 2012
@@ -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 @@
/// 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
More information about the llvm-commits
mailing list