From a005e56632601c05aaba753a997f61663b9511f2 Mon Sep 17 00:00:00 2001 From: Teresa Johnson Date: Tue, 19 Mar 2019 15:43:56 +0000 Subject: [PATCH] [InstCombine] Add missing test for icmp transformation (NFC) This was split out of D59378. There was no testing for the EQ case in foldICmpWithDominatingICmp, add one here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356463 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/InstCombine/icmp-dom.ll | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/Transforms/InstCombine/icmp-dom.ll b/test/Transforms/InstCombine/icmp-dom.ll index 7676eaaf08b..3e02fc4e8b9 100644 --- a/test/Transforms/InstCombine/icmp-dom.ll +++ b/test/Transforms/InstCombine/icmp-dom.ll @@ -160,6 +160,34 @@ return: ret void } +define void @trueblock_cmp_eq(i32 %a, i32 %b) { +; CHECK-LABEL: @trueblock_cmp_eq( +; CHECK-NEXT: entry: +; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i32 [[A:%.*]], 0 +; CHECK-NEXT: br i1 [[CMP]], label [[IF_END:%.*]], label [[RETURN:%.*]] +; CHECK: if.end: +; CHECK-NEXT: [[CMP1:%.*]] = icmp eq i32 [[A]], 1 +; CHECK-NEXT: br i1 [[CMP1]], label [[IF_THEN3:%.*]], label [[RETURN]] +; CHECK: if.then3: +; CHECK-NEXT: br label [[RETURN]] +; CHECK: return: +; CHECK-NEXT: ret void +; +entry: + %cmp = icmp sgt i32 %a, 0 + br i1 %cmp, label %if.end, label %return + +if.end: + %cmp1 = icmp slt i32 %a, 2 + br i1 %cmp1, label %if.then3, label %return + +if.then3: + br label %return + +return: + ret void +} + define i1 @trueblock_cmp_is_false(i32 %x, i32 %y) { ; CHECK-LABEL: @trueblock_cmp_is_false( ; CHECK-NEXT: entry: -- 2.50.1