From 30b3b1cd9c047d93b850f67aa09efba826def661 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Thu, 26 Oct 2006 02:33:51 +0000 Subject: [PATCH] Handling of setlt/le/gt/ge is broken at the moment; predsimplify removes the call the pass2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31192 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../2006-10-25-AddSetCC.ll | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll diff --git a/test/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll b/test/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll new file mode 100644 index 00000000000..503d327cac5 --- /dev/null +++ b/test/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll @@ -0,0 +1,27 @@ +; RUN: llvm-as < %s | opt -predsimplify -instcombine -simplifycfg -disable-output && +; RUN: llvm-as < %s | opt -predsimplify -instcombine -simplifycfg | llvm-dis | grep -v declare | grep -c pass | grep 2 + +int %test(int %x, int %y) { +entry: + %tmp2 = setlt int %x, %y + %tmp = setne bool %tmp2, true + br bool %tmp, label %cond_true, label %return + +cond_true: ; preds = %entry + %tmp4 = seteq int %x, %y ; [#uses=1] + br bool %tmp4, label %cond_true5, label %cond_false + +cond_true5: ; preds = %cond_true + %tmp6 = call int %pass1( ) ; [#uses=1] + ret int %tmp6 + +cond_false: + %tmp8 = call int %pass2( ) ; [#uses=1] + ret int %tmp8 + +return: ; preds = %cond_next7 + ret int 0 +} + +declare int %pass1() +declare int %pass2()