diff options
author | Duncan Sands <baldrick@free.fr> | 2012-06-12 20:16:51 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2012-06-12 20:16:51 +0000 |
commit | 67cd5919899f0355f8df384e88996acb10a0d17d (patch) | |
tree | 1551da464bb9101884b219acd0a88743e3c33cfd /llvm/lib/Transforms | |
parent | c6916f88a895a6083d494b91ef66f6aa5cdb8b93 (diff) | |
download | bcm5719-llvm-67cd5919899f0355f8df384e88996acb10a0d17d.tar.gz bcm5719-llvm-67cd5919899f0355f8df384e88996acb10a0d17d.zip |
Use std::map rather than SmallMap because SmallMap assumes that the value has
POD type, causing memory corruption when mapping to APInts with bitwidth > 64.
Merge another crash testcase into crash.ll while there.
llvm-svn: 158369
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Scalar/Reassociate.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/Reassociate.cpp b/llvm/lib/Transforms/Scalar/Reassociate.cpp index 50de946a307..0eb4c66eb99 100644 --- a/llvm/lib/Transforms/Scalar/Reassociate.cpp +++ b/llvm/lib/Transforms/Scalar/Reassociate.cpp @@ -38,7 +38,6 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/PostOrderIterator.h" #include "llvm/ADT/SetVector.h" -#include "llvm/ADT/SmallMap.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/Statistic.h" #include <algorithm> @@ -486,7 +485,7 @@ static bool LinearizeExprTree(BinaryOperator *I, // Leaves - Keeps track of the set of putative leaves as well as the number of // paths to each leaf seen so far. - typedef SmallMap<Value*, APInt, 8> LeafMap; + typedef std::map<Value*, APInt> LeafMap; LeafMap Leaves; // Leaf -> Total weight so far. SmallVector<Value*, 8> LeafOrder; // Ensure deterministic leaf output order. |