https://github.com/snehasish updated 
https://github.com/llvm/llvm-project/pull/179756

>From 811479ddb6c9cff78d0681b8af3d506658aff56e Mon Sep 17 00:00:00 2001
From: Snehasish Kumar <[email protected]>
Date: Tue, 3 Feb 2026 04:21:49 +0000
Subject: [PATCH] InstCombine: Set unknown profile metadata in logic-to-select
 folding

---
 llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | 3 +++
 llvm/utils/profcheck-xfail.txt                          | 1 -
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp 
b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
index 978ff161a205d..832e3b3a2ae00 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
@@ -3329,6 +3329,9 @@ Value *InstCombinerImpl::matchSelectFromAndOr(Value *A, 
Value *B, Value *C,
       D = Builder.CreateNot(D);
     Value *BitcastD = Builder.CreateBitCast(D, SelTy);
     Value *Select = Builder.CreateSelect(Cond, BitcastB, BitcastD);
+    if (!ProfcheckDisableMetadataFixes)
+      if (auto *I = dyn_cast<Instruction>(Select))
+        setExplicitlyUnknownBranchWeightsIfProfiled(*I, DEBUG_TYPE, &F);
     return Builder.CreateBitCast(Select, OrigType);
   }
 
diff --git a/llvm/utils/profcheck-xfail.txt b/llvm/utils/profcheck-xfail.txt
index 85cb131f81824..c3d24cfe83d71 100644
--- a/llvm/utils/profcheck-xfail.txt
+++ b/llvm/utils/profcheck-xfail.txt
@@ -224,7 +224,6 @@ Transforms/InstCombine/load-bitcast-select.ll
 Transforms/InstCombine/load.ll
 Transforms/InstCombine/load-select.ll
 Transforms/InstCombine/loadstore-metadata.ll
-Transforms/InstCombine/logical-select-inseltpoison.ll
 Transforms/InstCombine/logical-select.ll
 Transforms/InstCombine/lshr.ll
 Transforms/InstCombine/memchr-11.ll

_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to