diff options
author | Chris Lattner <sabre@nondot.org> | 2009-11-26 22:04:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-11-26 22:04:42 +0000 |
commit | 21f83a2f95c30b21398b6db0f80ac7eb0b4b672a (patch) | |
tree | b86b2dfc147ef024a2322c1b11157cd2f227fd0e /test/Transforms/InstCombine | |
parent | 2bbac75e5a3317b45b2b2cd6a51b1ab33e0b4518 (diff) | |
download | external_llvm-21f83a2f95c30b21398b6db0f80ac7eb0b4b672a.zip external_llvm-21f83a2f95c30b21398b6db0f80ac7eb0b4b672a.tar.gz external_llvm-21f83a2f95c30b21398b6db0f80ac7eb0b4b672a.tar.bz2 |
Fix PR5471 by removing an instcombine xform. Some pieces of the code
generates store to undef and some generates store to null as the idiom
for undefined behavior. Since simplifycfg zaps both, don't remove the
undefined behavior in instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89971 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstCombine')
-rw-r--r-- | test/Transforms/InstCombine/crash.ll | 12 | ||||
-rw-r--r-- | test/Transforms/InstCombine/store.ll | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/crash.ll b/test/Transforms/InstCombine/crash.ll index fbac472..1528f6d 100644 --- a/test/Transforms/InstCombine/crash.ll +++ b/test/Transforms/InstCombine/crash.ll @@ -125,3 +125,15 @@ l10: %v11 = select i1 %v5_, i64 0, i64 %v6 ret i64 %v11 } + +; PR5471 +define arm_apcscc i32 @test5a() { + ret i32 0 +} + +define arm_apcscc void @test5() { + store i1 true, i1* undef + %1 = invoke i32 @test5a() to label %exit unwind label %exit +exit: + ret void +} diff --git a/test/Transforms/InstCombine/store.ll b/test/Transforms/InstCombine/store.ll index 314441e..64460d7 100644 --- a/test/Transforms/InstCombine/store.ll +++ b/test/Transforms/InstCombine/store.ll @@ -6,6 +6,7 @@ define void @test1(i32* %P) { store i32 124, i32* null ret void ; CHECK: @test1( +; CHECK-NEXT: store i32 123, i32* undef ; CHECK-NEXT: store i32 undef, i32* null ; CHECK-NEXT: ret void } |