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
