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/test/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/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/Reassociate/2005-08-24-Crash.ll | 13 | ||||
| -rw-r--r-- | llvm/test/Transforms/Reassociate/crash.ll | 16 |
2 files changed, 16 insertions, 13 deletions
diff --git a/llvm/test/Transforms/Reassociate/2005-08-24-Crash.ll b/llvm/test/Transforms/Reassociate/2005-08-24-Crash.ll deleted file mode 100644 index 9864de45f88..00000000000 --- a/llvm/test/Transforms/Reassociate/2005-08-24-Crash.ll +++ /dev/null @@ -1,13 +0,0 @@ -; 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 -} - diff --git a/llvm/test/Transforms/Reassociate/crash.ll b/llvm/test/Transforms/Reassociate/crash.ll index 7a819422eab..601b97647dd 100644 --- a/llvm/test/Transforms/Reassociate/crash.ll +++ b/llvm/test/Transforms/Reassociate/crash.ll @@ -67,3 +67,19 @@ _33: ; preds = %_33, %_ %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 +} |

