[llvm] Fix profile metadata propagation in InstCombine select folding (PR #179743)

Snehasish Kumar via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 8 23:01:56 PDT 2026


================
@@ -3619,11 +3631,15 @@ Instruction *InstCombinerImpl::foldSelectOfBools(SelectInst &SI) {
     if (match(CondVal, m_OneUse(m_Select(m_Value(A), m_Value(B), m_Zero()))) &&
         impliesPoisonOrCond(TrueVal, B, /*Expected=*/true)) {
       // (A && B) && C --> A && (B & C)
-      return replaceInstUsesWith(
-          SI, Builder.CreateLogicalAnd(A, Builder.CreateAnd(B, TrueVal), "",
-                                       ProfcheckDisableMetadataFixes
-                                           ? nullptr
-                                           : cast<SelectInst>(CondVal)));
+      Value *LAnd = Builder.CreateLogicalAnd(A, Builder.CreateAnd(B, TrueVal));
+      if (!ProfcheckDisableMetadataFixes) {
----------------
snehasish wrote:

Done.

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


More information about the llvm-commits mailing list