diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp index 5907e21065331..3ae4640da4544 100644 --- a/llvm/lib/Analysis/InstructionSimplify.cpp +++ b/llvm/lib/Analysis/InstructionSimplify.cpp @@ -6304,7 +6304,8 @@ static Value *simplifyUnaryIntrinsic(Function *F, Value *Op0, Value *X; switch (IID) { case Intrinsic::fabs: - if (computeKnownFPSignBit(Op0, Q) == false) + if (std::optional KnownSignBit = computeKnownFPSignBit(Op0, Q); + KnownSignBit && *KnownSignBit == false) return Op0; break; case Intrinsic::bswap: