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 | ac071eac30953b0913c91a63c3d3d32c627abf05 (patch) | |
tree | 98d8e188bafae01ec4cd3a0ac60454b370392423 /lib/Transforms | |
parent | 49d6fc02efc45932e4d889fa56bbbfeefafbdc85 (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158369 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Scalar/Reassociate.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Transforms/Scalar/Reassociate.cpp b/lib/Transforms/Scalar/Reassociate.cpp index 50de946a30..0eb4c66eb9 100644 --- a/lib/Transforms/Scalar/Reassociate.cpp +++ b/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. |