reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
24 static ConstantRange One;
163 EXPECT_FALSE(One.isFullSet()); 164 EXPECT_FALSE(One.isEmptySet()); 165 EXPECT_FALSE(One.isWrappedSet()); 166 EXPECT_FALSE(One.contains(APInt(16, 0x0))); 167 EXPECT_FALSE(One.contains(APInt(16, 0x9))); 168 EXPECT_TRUE(One.contains(APInt(16, 0xa))); 169 EXPECT_FALSE(One.contains(APInt(16, 0xaa9))); 170 EXPECT_FALSE(One.contains(APInt(16, 0xaaa))); 171 EXPECT_FALSE(One.inverse().contains(APInt(16, 0xa))); 195 EXPECT_EQ(One, One); 195 EXPECT_EQ(One, One); 199 EXPECT_NE(Full, One); 202 EXPECT_NE(Empty, One); 205 EXPECT_NE(One, Some); 206 EXPECT_NE(One, Wrap); 216 EXPECT_EQ(*One.getSingleElement(), APInt(16, 0xa)); 220 EXPECT_EQ(One.getSingleMissingElement(), static_cast<APInt *>(nullptr)); 223 ConstantRange OneInverse = One.inverse(); 224 EXPECT_EQ(*OneInverse.getSingleMissingElement(), *One.getSingleElement()); 228 EXPECT_TRUE(One.isSingleElement()); 235 EXPECT_EQ(One.getUnsignedMax(), APInt(16, 0xa)); 240 EXPECT_EQ(One.getUnsignedMin(), APInt(16, 0xa)); 245 EXPECT_EQ(One.getSignedMax(), APInt(16, 0xa)); 250 EXPECT_EQ(One.getSignedMin(), APInt(16, 0xa)); 262 EXPECT_FALSE(One.isSignWrappedSet()); 279 EXPECT_FALSE(One.isUpperWrapped()); 284 EXPECT_FALSE(One.isUpperSignWrapped()); 301 ConstantRange TOne = One.truncate(10); 306 EXPECT_EQ(TOne, ConstantRange(One.getLower().trunc(10), 307 One.getUpper().trunc(10))); 331 ConstantRange ZOne = One.zeroExtend(20); 336 EXPECT_EQ(ZOne, ConstantRange(One.getLower().zext(20), 337 One.getUpper().zext(20))); 350 ConstantRange SOne = One.signExtend(20); 356 EXPECT_EQ(SOne, ConstantRange(One.getLower().sext(20), 357 One.getUpper().sext(20))); 373 EXPECT_EQ(Empty.intersectWith(One), Empty); 378 EXPECT_EQ(Some.intersectWith(One), One); 378 EXPECT_EQ(Some.intersectWith(One), One); 379 EXPECT_EQ(Full.intersectWith(One), One); 379 EXPECT_EQ(Full.intersectWith(One), One); 382 EXPECT_EQ(One.intersectWith(Wrap), Empty); 383 EXPECT_EQ(One.intersectWith(Wrap), Wrap.intersectWith(One)); 383 EXPECT_EQ(One.intersectWith(Wrap), Wrap.intersectWith(One)); 579 EXPECT_EQ(Wrap.unionWith(One), 581 EXPECT_EQ(One.unionWith(Wrap), Wrap.unionWith(One)); 581 EXPECT_EQ(One.unionWith(Wrap), Wrap.unionWith(One)); 622 EXPECT_EQ(One.subtract(APInt(16, 4)), 630 EXPECT_EQ(Full.add(One), Full); 634 EXPECT_EQ(Empty.add(One), Empty); 642 EXPECT_EQ(One.add(APInt(16, 4)), 906 EXPECT_EQ(Full.sub(One), Full); 910 EXPECT_EQ(Empty.sub(One), Empty); 920 EXPECT_EQ(One.sub(APInt(16, 4)), 927 EXPECT_EQ(Full.multiply(One), Full); 931 EXPECT_EQ(Empty.multiply(One), Empty); 934 EXPECT_EQ(One.multiply(One), ConstantRange(APInt(16, 0xa*0xa), 934 EXPECT_EQ(One.multiply(One), ConstantRange(APInt(16, 0xa*0xa), 936 EXPECT_EQ(One.multiply(Some), ConstantRange(APInt(16, 0xa*0xa), 938 EXPECT_EQ(One.multiply(Wrap), Full); 978 EXPECT_EQ(Empty.umax(One), Empty); 981 EXPECT_EQ(Some.umax(One), Some); 984 EXPECT_EQ(Wrap.umax(One), ConstantRange(APInt(16, 0xa), APInt(16, 0))); 985 EXPECT_EQ(One.umax(One), One); 985 EXPECT_EQ(One.umax(One), One); 985 EXPECT_EQ(One.umax(One), One); 994 EXPECT_EQ(Full.smax(One), ConstantRange(APInt(16, 0xa), 999 EXPECT_EQ(Empty.smax(One), Empty); 1003 EXPECT_EQ(Some.smax(One), Some); 1004 EXPECT_EQ(Wrap.smax(One), ConstantRange(APInt(16, 0xa), 1006 EXPECT_EQ(One.smax(One), One); 1006 EXPECT_EQ(One.smax(One), One); 1006 EXPECT_EQ(One.smax(One), One); 1017 EXPECT_EQ(Empty.umin(One), Empty); 1020 EXPECT_EQ(Some.umin(One), One); 1020 EXPECT_EQ(Some.umin(One), One); 1023 EXPECT_EQ(Wrap.umin(One), ConstantRange(APInt(16, 0), APInt(16, 0xb))); 1024 EXPECT_EQ(One.umin(One), One); 1024 EXPECT_EQ(One.umin(One), One); 1024 EXPECT_EQ(One.umin(One), One); 1036 EXPECT_EQ(Empty.smin(One), Empty); 1040 EXPECT_EQ(Some.smin(One), One); 1040 EXPECT_EQ(Some.smin(One), One); 1043 EXPECT_EQ(Wrap.smin(One), ConstantRange(APInt(16, (uint64_t)INT16_MIN), 1045 EXPECT_EQ(One.smin(One), One); 1045 EXPECT_EQ(One.smin(One), One); 1045 EXPECT_EQ(One.smin(One), One); 1051 EXPECT_EQ(Full.udiv(One), ConstantRange(APInt(16, 0), 1057 EXPECT_EQ(Empty.udiv(One), Empty); 1060 EXPECT_EQ(One.udiv(One), ConstantRange(APInt(16, 1))); 1060 EXPECT_EQ(One.udiv(One), ConstantRange(APInt(16, 1))); 1061 EXPECT_EQ(One.udiv(Some), ConstantRange(APInt(16, 0), APInt(16, 2))); 1062 EXPECT_EQ(One.udiv(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb))); 1069 EXPECT_EQ(Zero.udiv(One), Zero); 1249 EXPECT_EQ(Full.shl(One), Full); // TODO: [0, (-1 << 0xa) + 1) 1253 EXPECT_EQ(Empty.shl(One), Empty); 1256 EXPECT_EQ(One.shl(One), ConstantRange(APInt(16, 0xa << 0xa), 1256 EXPECT_EQ(One.shl(One), ConstantRange(APInt(16, 0xa << 0xa), 1258 EXPECT_EQ(One.shl(Some), Full); // TODO: [0xa << 0xa, 0) 1259 EXPECT_EQ(One.shl(Wrap), Full); // TODO: [0xa, 0xa << 14 + 1) 1266 EXPECT_EQ(One.shl(WrapNullMax), Full); 1272 EXPECT_EQ(Full.lshr(One), ConstantRange(APInt(16, 0), 1278 EXPECT_EQ(Empty.lshr(One), Empty); 1281 EXPECT_EQ(One.lshr(One), ConstantRange(APInt(16, 0))); 1281 EXPECT_EQ(One.lshr(One), ConstantRange(APInt(16, 0))); 1282 EXPECT_EQ(One.lshr(Some), ConstantRange(APInt(16, 0))); 1283 EXPECT_EQ(One.lshr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb))); 1293 EXPECT_EQ(Full.ashr(One), ConstantRange(APInt(16, 0xffe0), 1302 EXPECT_EQ(Empty.ashr(One), Empty); 1305 EXPECT_EQ(One.ashr(One), ConstantRange(APInt(16, 0))); 1305 EXPECT_EQ(One.ashr(One), ConstantRange(APInt(16, 0))); 1306 EXPECT_EQ(One.ashr(Some), ConstantRange(APInt(16, 0))); 1307 EXPECT_EQ(One.ashr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb))); 1796 EXPECT_MAY_OVERFLOW(Full.unsignedAddMayOverflow(One)); 1797 EXPECT_MAY_OVERFLOW(Wrap.unsignedAddMayOverflow(One)); 1798 EXPECT_MAY_OVERFLOW(One.unsignedAddMayOverflow(Full)); 1799 EXPECT_MAY_OVERFLOW(One.unsignedAddMayOverflow(Wrap)); 1831 EXPECT_MAY_OVERFLOW(Full.unsignedSubMayOverflow(One)); 1832 EXPECT_MAY_OVERFLOW(Wrap.unsignedSubMayOverflow(One)); 1833 EXPECT_MAY_OVERFLOW(One.unsignedSubMayOverflow(Full)); 1834 EXPECT_MAY_OVERFLOW(One.unsignedSubMayOverflow(Wrap)); 1865 EXPECT_MAY_OVERFLOW(Full.signedAddMayOverflow(One)); 1866 EXPECT_MAY_OVERFLOW(Wrap.signedAddMayOverflow(One)); 1867 EXPECT_MAY_OVERFLOW(One.signedAddMayOverflow(Full)); 1868 EXPECT_MAY_OVERFLOW(One.signedAddMayOverflow(Wrap)); 1915 EXPECT_MAY_OVERFLOW(Full.signedSubMayOverflow(One)); 1916 EXPECT_MAY_OVERFLOW(Wrap.signedSubMayOverflow(One)); 1917 EXPECT_MAY_OVERFLOW(One.signedSubMayOverflow(Full)); 1918 EXPECT_MAY_OVERFLOW(One.signedSubMayOverflow(Wrap));