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
#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>
// 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.
+++ /dev/null
-; RUN: opt < %s -reassociate -disable-output
-
-define void @test(i32 %a, i32 %b, i32 %c, i32 %d) {
- %tmp.2 = xor i32 %a, %b ; <i32> [#uses=1]
- %tmp.5 = xor i32 %c, %d ; <i32> [#uses=1]
- %tmp.6 = xor i32 %tmp.2, %tmp.5 ; <i32> [#uses=1]
- %tmp.9 = xor i32 %c, %a ; <i32> [#uses=1]
- %tmp.12 = xor i32 %b, %d ; <i32> [#uses=1]
- %tmp.13 = xor i32 %tmp.9, %tmp.12 ; <i32> [#uses=1]
- %tmp.16 = xor i32 %tmp.6, %tmp.13 ; <i32> [#uses=0]
- ret void
-}
-
%tmp367 = add i32 %tmp365, %tmp366
br label %_33
}
+
+define void @test(i32 %a, i32 %b, i32 %c, i32 %d) {
+ %tmp.2 = xor i32 %a, %b ; <i32> [#uses=1]
+ %tmp.5 = xor i32 %c, %d ; <i32> [#uses=1]
+ %tmp.6 = xor i32 %tmp.2, %tmp.5 ; <i32> [#uses=1]
+ %tmp.9 = xor i32 %c, %a ; <i32> [#uses=1]
+ %tmp.12 = xor i32 %b, %d ; <i32> [#uses=1]
+ %tmp.13 = xor i32 %tmp.9, %tmp.12 ; <i32> [#uses=1]
+ %tmp.16 = xor i32 %tmp.6, %tmp.13 ; <i32> [#uses=0]
+ ret void
+}
+
+define i128 @foo() {
+ %mul = mul i128 0, 0
+ ret i128 %mul
+}