[llvm] db40f9b - [InstCombine] add test for logical-ands to select; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 22 07:44:26 PDT 2022


Author: Sanjay Patel
Date: 2022-10-22T10:42:14-04:00
New Revision: db40f9b77417aa0d5be2200a4972e5f696ab7c34

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

LOG: [InstCombine] add test for logical-ands to select; NFC

Added: 
    

Modified: 
    llvm/test/Transforms/InstCombine/select-safe-transforms.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/InstCombine/select-safe-transforms.ll b/llvm/test/Transforms/InstCombine/select-safe-transforms.ll
index 4ac1bd5d7eeb..3eedfc0afaef 100644
--- a/llvm/test/Transforms/InstCombine/select-safe-transforms.ll
+++ b/llvm/test/Transforms/InstCombine/select-safe-transforms.ll
@@ -546,6 +546,18 @@ define i1 @bools2_logical_commute3(i1 %a, i1 %b, i1 %c) {
   ret i1 %or
 }
 
+define i1 @bools2_logical_commute3_nopoison(i1 %a, i1 %b, i1 noundef %c) {
+; CHECK-LABEL: @bools2_logical_commute3_nopoison(
+; CHECK-NEXT:    [[OR:%.*]] = select i1 [[C:%.*]], i1 [[A:%.*]], i1 [[B:%.*]]
+; CHECK-NEXT:    ret i1 [[OR]]
+;
+  %not = xor i1 %c, -1
+  %and1 = select i1 %a, i1 %c, i1 false
+  %and2 = select i1 %b, i1 %not, i1 false
+  %or = select i1 %and1, i1 true, i1 %and2
+  ret i1 %or
+}
+
 define i1 @bools2_logical_commute3_and1(i1 %a, i1 %b, i1 %c) {
 ; CHECK-LABEL: @bools2_logical_commute3_and1(
 ; CHECK-NEXT:    [[OR:%.*]] = select i1 [[C:%.*]], i1 [[A:%.*]], i1 [[B:%.*]]


        


More information about the llvm-commits mailing list