We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent cc99daa commit 87869e4Copy full SHA for 87869e4
llvm/lib/IR/ConstantFPRange.cpp
@@ -393,7 +393,7 @@ ConstantFPRange ConstantFPRange::unionWith(const ConstantFPRange &CR) const {
393
}
394
395
ConstantFPRange ConstantFPRange::abs() const {
396
- if (isEmptySet())
+ if (isNaNOnly())
397
return *this;
398
// Check if the range is all non-negative or all non-positive.
399
if (Lower.isNegative() == Upper.isNegative()) {
llvm/unittests/IR/ConstantFPRangeTest.cpp
@@ -779,6 +779,7 @@ TEST_F(ConstantFPRangeTest, abs) {
779
EXPECT_EQ(NegInf.abs(), PosInf);
780
EXPECT_EQ(Some.abs(), SomePos);
781
EXPECT_EQ(SomeNeg.abs(), SomePos);
782
+ EXPECT_EQ(NaN.abs(), NaN);
783
EXPECT_EQ(ConstantFPRange::getNonNaN(APFloat(-2.0), APFloat(3.0)).abs(),
784
ConstantFPRange::getNonNaN(APFloat(0.0), APFloat(3.0)));
785
EXPECT_EQ(ConstantFPRange::getNonNaN(APFloat(-3.0), APFloat(2.0)).abs(),
@@ -794,6 +795,7 @@ TEST_F(ConstantFPRangeTest, negate) {
794
795
EXPECT_EQ(Some.negate(), Some);
796
EXPECT_EQ(SomePos.negate(), SomeNeg);
797
EXPECT_EQ(SomeNeg.negate(), SomePos);
798
+ EXPECT_EQ(NaN.negate(), NaN);
799
EXPECT_EQ(ConstantFPRange::getNonNaN(APFloat(-2.0), APFloat(3.0)).negate(),
800
ConstantFPRange::getNonNaN(APFloat(-3.0), APFloat(2.0)));
801
EXPECT_EQ(ConstantFPRange::getNonNaN(APFloat(-3.0), APFloat(2.0)).negate(),
0 commit comments