[llvm-branch-commits] [llvm] InstCombine: Set unknown profile metadata in logic-to-select folding (PR #179756)
Snehasish Kumar via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Feb 4 16:49:00 PST 2026
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 <snehasishk at google.com>
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
More information about the llvm-branch-commits
mailing list