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

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

---
 llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp | 9 ++++++++-
 llvm/utils/profcheck-xfail.txt                        | 1 -
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp 
b/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
index e416059ef28ae..1905f2b30f9b7 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
@@ -18,6 +18,10 @@
 using namespace llvm;
 using namespace PatternMatch;
 
+namespace llvm {
+extern cl::opt<bool> ProfcheckDisableMetadataFixes;
+}
+
 #define DEBUG_TYPE "instcombine"
 
 bool canTryToConstantAddTwoShiftAmounts(Value *Sh0, Value *ShAmt0, Value *Sh1,
@@ -1454,7 +1458,10 @@ Instruction *InstCombinerImpl::visitLShr(BinaryOperator 
&I) {
       if (SrcTyBitWidth == 1) {
         auto *NewC = ConstantInt::get(
             Ty, APInt::getLowBitsSet(BitWidth, BitWidth - ShAmtC));
-        return SelectInst::Create(X, NewC, ConstantInt::getNullValue(Ty));
+        auto *SI = SelectInst::Create(X, NewC, ConstantInt::getNullValue(Ty));
+        if (!ProfcheckDisableMetadataFixes)
+          setExplicitlyUnknownBranchWeightsIfProfiled(*SI, DEBUG_TYPE, &F);
+        return SI;
       }
 
       if ((!Ty->isIntegerTy() || shouldChangeType(Ty, X->getType())) &&
diff --git a/llvm/utils/profcheck-xfail.txt b/llvm/utils/profcheck-xfail.txt
index c3d24cfe83d71..94d718eb6b1fb 100644
--- a/llvm/utils/profcheck-xfail.txt
+++ b/llvm/utils/profcheck-xfail.txt
@@ -225,7 +225,6 @@ Transforms/InstCombine/load.ll
 Transforms/InstCombine/load-select.ll
 Transforms/InstCombine/loadstore-metadata.ll
 Transforms/InstCombine/logical-select.ll
-Transforms/InstCombine/lshr.ll
 Transforms/InstCombine/memchr-11.ll
 Transforms/InstCombine/memchr-2.ll
 Transforms/InstCombine/memchr-3.ll

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

Reply via email to