diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-10 23:46:44 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-10 23:46:44 +0000 |
commit | 4ec0b670d5f4d5f4f404cd433b83dccb7b2b005e (patch) | |
tree | 2093db8ae919d91ca424950d8c7dc8cc7166782b /llvm/test/CodeGen/X86/crash.ll | |
parent | 29108f0b6cabdbcd87c5f2ea51f47c2ccc1a175d (diff) | |
download | bcm5719-llvm-4ec0b670d5f4d5f4f404cd433b83dccb7b2b005e.tar.gz bcm5719-llvm-4ec0b670d5f4d5f4f404cd433b83dccb7b2b005e.zip |
fix PR6533 by updating the br(xor) code to remember the case
when it looked past a trunc.
llvm-svn: 98203
Diffstat (limited to 'llvm/test/CodeGen/X86/crash.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/crash.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/crash.ll b/llvm/test/CodeGen/X86/crash.ll index 1e13046f2ac..b9037f35929 100644 --- a/llvm/test/CodeGen/X86/crash.ll +++ b/llvm/test/CodeGen/X86/crash.ll @@ -18,3 +18,18 @@ entry: volatile store i32 %conv19.i, i32* undef ret i32 undef } + +; PR6533 +define void @test2(i1 %x, i32 %y) nounwind { + %land.ext = zext i1 %x to i32 ; <i32> [#uses=1] + %and = and i32 %y, 1 ; <i32> [#uses=1] + %xor = xor i32 %and, %land.ext ; <i32> [#uses=1] + %cmp = icmp eq i32 %xor, 1 ; <i1> [#uses=1] + br i1 %cmp, label %if.end, label %if.then + +if.then: ; preds = %land.end + ret void + +if.end: ; preds = %land.end + ret void +} |