[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