From 838f36f0bbd3da7911cc25bc761d2e05274f5e6a Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Thu, 31 Aug 2006 03:13:05 +0000 Subject: [PATCH] This program crashes the PredicateSimplifier. Not marked XFAIL because the PredicateSimplifier is skipped in make check anyways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29992 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../PredicateSimplifier/predsimplify.reg4.ll | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 test/Transforms/PredicateSimplifier/predsimplify.reg4.ll diff --git a/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll b/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll new file mode 100644 index 00000000000..ebf58ca72e7 --- /dev/null +++ b/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll @@ -0,0 +1,36 @@ +; RUN: llvm-as < %s | opt -predsimplify -disable-output + +; ModuleID = '' +target endian = little +target pointersize = 32 +target triple = "i686-pc-linux-gnu" + +implementation ; Functions: + +void %f(int %x, int %y) { +entry: + %tmp = seteq int %x, 10 ; [#uses=1] + %tmp.not = xor bool %tmp, true ; [#uses=1] + %tmp3 = seteq int %x, %y ; [#uses=1] + %bothcond = and bool %tmp.not, %tmp3 ; [#uses=1] + br bool %bothcond, label %cond_true4, label %return + +cond_true4: ; preds = %entry + switch int %y, label %return [ + int 9, label %bb + int 10, label %bb6 + ] + +bb: ; preds = %cond_true4 + call void %g( int 9 ) + ret void + +bb6: ; preds = %cond_true4 + call void %g( int 10 ) + ret void + +return: ; preds = %cond_true4, %entry + ret void +} + +declare void %g(int)