summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2012-06-12 20:16:51 +0000
committerDuncan Sands <baldrick@free.fr>2012-06-12 20:16:51 +0000
commit67cd5919899f0355f8df384e88996acb10a0d17d (patch)
tree1551da464bb9101884b219acd0a88743e3c33cfd /llvm/lib/Transforms
parentc6916f88a895a6083d494b91ef66f6aa5cdb8b93 (diff)
downloadbcm5719-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.cpp3
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.
OpenPOWER on IntegriCloud