[llvm] bba6ca4 - ConstantFolding: Minor cleanups for is_fpclass
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 15 15:13:07 PDT 2023
Author: Matt Arsenault
Date: 2023-03-15T18:06:36-04:00
New Revision: bba6ca4bfbacdeca05bd9b5eb2f390a0300445a9
URL: https://github.com/llvm/llvm-project/commit/bba6ca4bfbacdeca05bd9b5eb2f390a0300445a9
DIFF: https://github.com/llvm/llvm-project/commit/bba6ca4bfbacdeca05bd9b5eb2f390a0300445a9.diff
LOG: ConstantFolding: Minor cleanups for is_fpclass
Added:
Modified:
llvm/lib/Analysis/ConstantFolding.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp
index be409f62c50d..65ea0dad90d5 100644
--- a/llvm/lib/Analysis/ConstantFolding.cpp
+++ b/llvm/lib/Analysis/ConstantFolding.cpp
@@ -2636,18 +2636,18 @@ static Constant *ConstantFoldScalarCall2(StringRef Name,
} else if (auto *Op2C = dyn_cast<ConstantInt>(Operands[1])) {
switch (IntrinsicID) {
case Intrinsic::is_fpclass: {
- uint32_t Mask = Op2C->getZExtValue();
+ FPClassTest Mask = static_cast<FPClassTest>(Op2C->getZExtValue());
bool Result =
((Mask & fcSNan) && Op1V.isNaN() && Op1V.isSignaling()) ||
((Mask & fcQNan) && Op1V.isNaN() && !Op1V.isSignaling()) ||
- ((Mask & fcNegInf) && Op1V.isInfinity() && Op1V.isNegative()) ||
+ ((Mask & fcNegInf) && Op1V.isNegInfinity()) ||
((Mask & fcNegNormal) && Op1V.isNormal() && Op1V.isNegative()) ||
((Mask & fcNegSubnormal) && Op1V.isDenormal() && Op1V.isNegative()) ||
((Mask & fcNegZero) && Op1V.isZero() && Op1V.isNegative()) ||
((Mask & fcPosZero) && Op1V.isZero() && !Op1V.isNegative()) ||
((Mask & fcPosSubnormal) && Op1V.isDenormal() && !Op1V.isNegative()) ||
((Mask & fcPosNormal) && Op1V.isNormal() && !Op1V.isNegative()) ||
- ((Mask & fcPosInf) && Op1V.isInfinity() && !Op1V.isNegative());
+ ((Mask & fcPosInf) && Op1V.isPosInfinity());
return ConstantInt::get(Ty, Result);
}
default:
More information about the llvm-commits
mailing list