diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-12-19 11:09:15 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-12-19 11:09:15 +0000 |
| commit | e300004bd5c74df5ae1a55bf00e4dcae4721357a (patch) | |
| tree | 618996c4f1428546638efd48f9c571b49760753b /llvm | |
| parent | 44ba3753ad49330daf5c6f60ef35cafa5bffbf84 (diff) | |
| download | bcm5719-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.h | 8 |
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 |

