[llvm] [InstCombine] Explicitly mark select weights from e4722c6 as unknown (PR #174134)

Aiden Grossman via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 1 10:52:22 PST 2026


================
@@ -2192,8 +2196,14 @@ Value *InstCombinerImpl::SimplifyDemandedUseFPClass(Value *V,
         Value *X = CI->getArgOperand(0);
         Value *IsPosInfOrNan = Builder.CreateFCmpFMF(
             FCmpInst::FCMP_UEQ, X, ConstantFP::getInfinity(VTy), FMF);
-        return Builder.CreateSelectFMF(IsPosInfOrNan, X,
-                                       ConstantFP::getZero(VTy), FMF);
+        Value *ZeroOrInf = Builder.CreateSelectFMF(
+            IsPosInfOrNan, X, ConstantFP::getZero(VTy), FMF);
+        // We do not know whether an infinity or a NaN is more likely here,
+        // so mark the branch weights as unkown.
+        if (auto *SI = dyn_cast<SelectInst>(ZeroOrInf))
+          if (!ProfcheckDisableMetadataFixes)
----------------
boomanaiden154 wrote:

Good point. Updated.

https://github.com/llvm/llvm-project/pull/174134


More information about the llvm-commits mailing list