diff options
-rw-r--r-- | test/Transforms/PredicateSimplifier/predsimplify.reg4.ll | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll b/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll new file mode 100644 index 0000000000..ebf58ca72e --- /dev/null +++ b/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll @@ -0,0 +1,36 @@ +; RUN: llvm-as < %s | opt -predsimplify -disable-output + +; ModuleID = '<stdin>' +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 ; <bool> [#uses=1] + %tmp.not = xor bool %tmp, true ; <bool> [#uses=1] + %tmp3 = seteq int %x, %y ; <bool> [#uses=1] + %bothcond = and bool %tmp.not, %tmp3 ; <bool> [#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) |