From 9d5adb0e11cefdb8388c921b29f3e8ccc5ac0aea Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 7 May 2002 21:05:36 +0000 Subject: [PATCH] New testcase for adce git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2546 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/ADCE/adcetest.ll | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 test/Transforms/ADCE/adcetest.ll diff --git a/test/Transforms/ADCE/adcetest.ll b/test/Transforms/ADCE/adcetest.ll new file mode 100644 index 00000000000..386d71c70d8 --- /dev/null +++ b/test/Transforms/ADCE/adcetest.ll @@ -0,0 +1,37 @@ +; This is the test case taken from Appel's book that illustrates a hard case +; that SCCP gets right, and when followed by ADCE, is completely eliminated +; +; RUN: if as < %s | opt -sccp -adce | dis | grep br +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +int "test function"(int %i0, int %j0) { +BB1: + br label %BB2 +BB2: + %j2 = phi int [%j4, %BB7], [1, %BB1] + %k2 = phi int [%k4, %BB7], [0, %BB1] + %kcond = setlt int %k2, 100 + br bool %kcond, label %BB3, label %BB4 + +BB3: + %jcond = setlt int %j2, 20 + br bool %jcond, label %BB5, label %BB6 + +BB4: + ret int %j2 + +BB5: + %k3 = add int %k2, 1 + br label %BB7 + +BB6: + %k5 = add int %k2, 1 + br label %BB7 + +BB7: + %j4 = phi int [1, %BB5], [%k2, %BB6] + %k4 = phi int [%k3, %BB5], [%k5, %BB6] + br label %BB2 +} -- 2.34.1