[llvm] 254b5e7 - [NFC][InstCombine] Move nested-select testcase into proper place, adjust comment

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 17 05:38:49 PST 2022


Author: Roman Lebedev
Date: 2022-12-17T16:38:24+03:00
New Revision: 254b5e786951f7cb1c9ba88cfb9c03843c786a23

URL: https://github.com/llvm/llvm-project/commit/254b5e786951f7cb1c9ba88cfb9c03843c786a23
DIFF: https://github.com/llvm/llvm-project/commit/254b5e786951f7cb1c9ba88cfb9c03843c786a23.diff

LOG: [NFC][InstCombine] Move nested-select testcase into proper place, adjust comment

Added: 
    

Modified: 
    llvm/test/Transforms/InstCombine/nested-select.ll

Removed: 
    llvm/test/Transforms/InstCombine/D139275_c4001580.ll


################################################################################
diff  --git a/llvm/test/Transforms/InstCombine/D139275_c4001580.ll b/llvm/test/Transforms/InstCombine/D139275_c4001580.ll
deleted file mode 100644
index 9eb2e9138584..000000000000
--- a/llvm/test/Transforms/InstCombine/D139275_c4001580.ll
+++ /dev/null
@@ -1,19 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-; RUN: opt -passes=instcombine -S < %s | FileCheck %s
-
-; Based on reproduced from https://reviews.llvm.org/D139275#4001580
-; FIXME: this is a miscompile.
-define i8 @D139275_c4001580(i1 %c0, i1 %c1, i1 %c2, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
-; CHECK-LABEL: @D139275_c4001580(
-; CHECK-NEXT:    [[INNER_COND:%.*]] = xor i1 [[C0:%.*]], [[C1:%.*]]
-; CHECK-NEXT:    [[OUTER_COND:%.*]] = and i1 [[C2:%.*]], [[C1]]
-; CHECK-NEXT:    [[INNER_SEL:%.*]] = select i1 [[INNER_COND]], i8 [[INNER_SEL_TRUEVAL:%.*]], i8 [[INNER_SEL_FALSEVAL:%.*]]
-; CHECK-NEXT:    [[OUTER_SEL:%.*]] = select i1 [[OUTER_COND]], i8 [[OUTER_SEL_TRUEVAL:%.*]], i8 [[INNER_SEL]]
-; CHECK-NEXT:    ret i8 [[OUTER_SEL]]
-;
-  %inner.cond = xor i1 %c0, %c1
-  %outer.cond = and i1 %c2, %c1
-  %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
-  %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
-  ret i8 %outer.sel
-}

diff  --git a/llvm/test/Transforms/InstCombine/nested-select.ll b/llvm/test/Transforms/InstCombine/nested-select.ll
index 4dcb4882070e..2eb481570cee 100644
--- a/llvm/test/Transforms/InstCombine/nested-select.ll
+++ b/llvm/test/Transforms/InstCombine/nested-select.ll
@@ -241,6 +241,23 @@ define i1 @orcond.
diff erent.inner.cond.inverted.in.inner.sel(i1 %inner.cond.v0,
   ret i1 %outer.sel
 }
 
+; Not an inversion
+; Based on reproduced from https://reviews.llvm.org/D139275#4001580
+define i8 @D139275_c4001580(i1 %c0, i1 %c1, i1 %c2, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
+; CHECK-LABEL: @D139275_c4001580(
+; CHECK-NEXT:    [[INNER_COND:%.*]] = xor i1 [[C0:%.*]], [[C1:%.*]]
+; CHECK-NEXT:    [[OUTER_COND:%.*]] = and i1 [[C2:%.*]], [[C1]]
+; CHECK-NEXT:    [[INNER_SEL:%.*]] = select i1 [[INNER_COND]], i8 [[INNER_SEL_TRUEVAL:%.*]], i8 [[INNER_SEL_FALSEVAL:%.*]]
+; CHECK-NEXT:    [[OUTER_SEL:%.*]] = select i1 [[OUTER_COND]], i8 [[OUTER_SEL_TRUEVAL:%.*]], i8 [[INNER_SEL]]
+; CHECK-NEXT:    ret i8 [[OUTER_SEL]]
+;
+  %inner.cond = xor i1 %c0, %c1
+  %outer.cond = and i1 %c2, %c1
+  %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
+  %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
+  ret i8 %outer.sel
+}
+
 ; Tests with intervening inversions
 
 ; In %outer.sel, %outer.cond is inverted


        


More information about the llvm-commits mailing list