[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