@@ -1631,11 +1631,35 @@ TEST_F(ConstantRangeTest, Ashr) {
1631
1631
ConstantRange (APInt (16 , 0xfffc ), APInt (16 , 0xfffe )));
1632
1632
}
1633
1633
1634
- TEST (ConstantRange, MakeAllowedICmpRegion) {
1635
- // PR8250
1636
- ConstantRange SMax = ConstantRange (APInt::getSignedMaxValue (32 ));
1634
+ TEST (ConstantRange, MakeAllowedICmpRegionEdgeCases) {
1635
+ ConstantRange SMax = ConstantRange (APInt::getSignedMaxValue (8 ));
1637
1636
EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_SGT, SMax)
1638
1637
.isEmptySet ());
1638
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_SGE, SMax)
1639
+ .isSingleElement ());
1640
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_SLE, SMax)
1641
+ .isFullSet ());
1642
+ ConstantRange SMin = ConstantRange (APInt::getSignedMinValue (8 ));
1643
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_SLT, SMin)
1644
+ .isEmptySet ());
1645
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_SLE, SMin)
1646
+ .isSingleElement ());
1647
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_SGE, SMin)
1648
+ .isFullSet ());
1649
+ ConstantRange UMax = ConstantRange (APInt::getMaxValue (8 ));
1650
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_UGT, UMax)
1651
+ .isEmptySet ());
1652
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_UGE, UMax)
1653
+ .isSingleElement ());
1654
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_ULE, UMax)
1655
+ .isFullSet ());
1656
+ ConstantRange UMin = ConstantRange (APInt::getMinValue (8 ));
1657
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_ULT, UMin)
1658
+ .isEmptySet ());
1659
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_ULE, UMin)
1660
+ .isSingleElement ());
1661
+ EXPECT_TRUE (ConstantRange::makeAllowedICmpRegion (ICmpInst::ICMP_UGE, UMin)
1662
+ .isFullSet ());
1639
1663
}
1640
1664
1641
1665
TEST (ConstantRange, MakeSatisfyingICmpRegion) {
0 commit comments