aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp8
-rw-r--r--llvm/utils/profcheck-xfail.txt2
2 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
index 9610ff3d48b3..1f2b7154ba42 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
@@ -3501,11 +3501,15 @@ static Instruction *foldNestedSelects(SelectInst &OuterSelVal,
Value *SelInner = Builder.CreateSelect(
AltCond, IsAndVariant ? OuterSel.TrueVal : InnerSel.FalseVal,
- IsAndVariant ? InnerSel.TrueVal : OuterSel.FalseVal);
+ IsAndVariant ? InnerSel.TrueVal : OuterSel.FalseVal, "",
+ ProfcheckDisableMetadataFixes ? nullptr : &OuterSelVal);
SelInner->takeName(InnerSelVal);
return SelectInst::Create(InnerSel.Cond,
IsAndVariant ? SelInner : InnerSel.TrueVal,
- !IsAndVariant ? SelInner : InnerSel.FalseVal);
+ !IsAndVariant ? SelInner : InnerSel.FalseVal, "",
+ nullptr,
+ ProfcheckDisableMetadataFixes ? nullptr
+ : &OuterSelVal);
}
/// Return true if V is poison or \p Expected given that ValAssumedPoison is
diff --git a/llvm/utils/profcheck-xfail.txt b/llvm/utils/profcheck-xfail.txt
index df5b7a33591c..7f0c105286df 100644
--- a/llvm/utils/profcheck-xfail.txt
+++ b/llvm/utils/profcheck-xfail.txt
@@ -238,8 +238,8 @@ Transforms/InstCombine/minmax-fp.ll
Transforms/InstCombine/minmax-intrinsics.ll
Transforms/InstCombine/mul-inseltpoison.ll
Transforms/InstCombine/mul.ll
+Transforms/InstCombine/mul-pow2.ll
Transforms/InstCombine/multiple-uses-load-bitcast-select.ll
-Transforms/InstCombine/nested-select.ll
Transforms/InstCombine/or-fcmp.ll
Transforms/InstCombine/pow-1.ll
Transforms/InstCombine/pow-3.ll