diff options
Diffstat (limited to 'test/CodeGen/PowerPC/2008-06-23-LiveVariablesCrash.ll')
-rw-r--r-- | test/CodeGen/PowerPC/2008-06-23-LiveVariablesCrash.ll | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/2008-06-23-LiveVariablesCrash.ll b/test/CodeGen/PowerPC/2008-06-23-LiveVariablesCrash.ll new file mode 100644 index 0000000000..d3238d23c0 --- /dev/null +++ b/test/CodeGen/PowerPC/2008-06-23-LiveVariablesCrash.ll @@ -0,0 +1,25 @@ +; RUN: llvm-as < %s | llc -march=ppc32 +; <rdar://problem/6020042> + +define i32 @bork() nounwind { +entry: + br i1 true, label %bb1, label %bb3 + +bb1: + %tmp1 = load i8* null, align 1 + %tmp2 = icmp eq i8 %tmp1, 0 + br label %bb2 + +bb2: + %val1 = phi i32 [ 0, %bb1 ], [ %val2, %bb2 ] + %val2 = select i1 %tmp2, i32 -1, i32 %val1 + switch i32 %val2, label %bb2 [ + i32 -1, label %bb3 + i32 0, label %bb1 + i32 1, label %bb3 + i32 2, label %bb1 + ] + +bb3: + ret i32 -1 +} |