@@ -435,6 +435,7 @@ TEST_F(ConstantFPRangeTest, FPClassify) {
435
435
EXPECT_EQ (SomePos.getSignBit (), false );
436
436
EXPECT_EQ (SomeNeg.getSignBit (), true );
437
437
438
+ #if defined(EXPENSIVE_CHECKS)
438
439
EnumerateConstantFPRanges (
439
440
[](const ConstantFPRange &CR) {
440
441
unsigned Mask = fcNone;
@@ -458,6 +459,7 @@ TEST_F(ConstantFPRangeTest, FPClassify) {
458
459
EXPECT_EQ (Mask, CR.classify ()) << CR;
459
460
},
460
461
/* Exhaustive=*/ true );
462
+ #endif
461
463
}
462
464
463
465
TEST_F (ConstantFPRangeTest, Print) {
@@ -500,6 +502,36 @@ TEST_F(ConstantFPRangeTest, MismatchedSemantics) {
500
502
#endif
501
503
502
504
TEST_F (ConstantFPRangeTest, makeAllowedFCmpRegion) {
505
+ EXPECT_EQ (ConstantFPRange::makeAllowedFCmpRegion (
506
+ FCmpInst::FCMP_OLE,
507
+ ConstantFPRange::getNonNaN (APFloat (1.0 ), APFloat (2.0 ))),
508
+ ConstantFPRange::getNonNaN (APFloat::getInf (Sem, /* Negative=*/ true ),
509
+ APFloat (2.0 )));
510
+ EXPECT_EQ (
511
+ ConstantFPRange::makeAllowedFCmpRegion (
512
+ FCmpInst::FCMP_OLT,
513
+ ConstantFPRange::getNonNaN (APFloat (1.0 ),
514
+ APFloat::getInf (Sem, /* Negative=*/ false ))),
515
+ ConstantFPRange::getNonNaN (APFloat::getInf (Sem, /* Negative=*/ true ),
516
+ APFloat::getLargest (Sem, /* Negative=*/ false )));
517
+ EXPECT_EQ (
518
+ ConstantFPRange::makeAllowedFCmpRegion (
519
+ FCmpInst::FCMP_OGT,
520
+ ConstantFPRange::getNonNaN (APFloat::getZero (Sem, /* Negative=*/ true ),
521
+ APFloat (2.0 ))),
522
+ ConstantFPRange::getNonNaN (APFloat::getSmallest (Sem, /* Negative=*/ false ),
523
+ APFloat::getInf (Sem, /* Negative=*/ false )));
524
+ EXPECT_EQ (ConstantFPRange::makeAllowedFCmpRegion (
525
+ FCmpInst::FCMP_OGE,
526
+ ConstantFPRange::getNonNaN (APFloat (1.0 ), APFloat (2.0 ))),
527
+ ConstantFPRange::getNonNaN (
528
+ APFloat (1.0 ), APFloat::getInf (Sem, /* Negative=*/ false )));
529
+ EXPECT_EQ (ConstantFPRange::makeAllowedFCmpRegion (
530
+ FCmpInst::FCMP_OEQ,
531
+ ConstantFPRange::getNonNaN (APFloat (1.0 ), APFloat (2.0 ))),
532
+ ConstantFPRange::getNonNaN (APFloat (1.0 ), APFloat (2.0 )));
533
+
534
+ #if defined(EXPENSIVE_CHECKS)
503
535
for (auto Pred : FCmpInst::predicates ()) {
504
536
EnumerateConstantFPRanges (
505
537
[Pred](const ConstantFPRange &CR) {
@@ -529,6 +561,7 @@ TEST_F(ConstantFPRangeTest, makeAllowedFCmpRegion) {
529
561
},
530
562
/* Exhaustive=*/ false );
531
563
}
564
+ #endif
532
565
}
533
566
534
567
} // anonymous namespace
0 commit comments