reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
26 static ConstantRange Wrap;
182 EXPECT_FALSE(Wrap.isFullSet()); 183 EXPECT_FALSE(Wrap.isEmptySet()); 184 EXPECT_TRUE(Wrap.isWrappedSet()); 185 EXPECT_TRUE(Wrap.contains(APInt(16, 0x0))); 186 EXPECT_TRUE(Wrap.contains(APInt(16, 0x9))); 187 EXPECT_FALSE(Wrap.contains(APInt(16, 0xa))); 188 EXPECT_FALSE(Wrap.contains(APInt(16, 0xaa9))); 189 EXPECT_TRUE(Wrap.contains(APInt(16, 0xaaa))); 197 EXPECT_EQ(Wrap, Wrap); 197 EXPECT_EQ(Wrap, Wrap); 201 EXPECT_NE(Full, Wrap); 204 EXPECT_NE(Empty, Wrap); 206 EXPECT_NE(One, Wrap); 207 EXPECT_NE(Some, Wrap); 218 EXPECT_EQ(Wrap.getSingleElement(), static_cast<APInt *>(nullptr)); 230 EXPECT_FALSE(Wrap.isSingleElement()); 237 EXPECT_EQ(Wrap.getUnsignedMax(), APInt(16, UINT16_MAX)); 242 EXPECT_EQ(Wrap.getUnsignedMin(), APInt(16, 0)); 247 EXPECT_EQ(Wrap.getSignedMax(), APInt(16, INT16_MAX)); 252 EXPECT_EQ(Wrap.getSignedMin(), APInt(16, (uint64_t)INT16_MIN)); 264 EXPECT_TRUE(Wrap.isSignWrappedSet()); 281 EXPECT_TRUE(Wrap.isUpperWrapped()); 286 EXPECT_TRUE(Wrap.isUpperSignWrapped()); 303 ConstantRange TWrap = Wrap.truncate(10); 333 ConstantRange ZWrap = Wrap.zeroExtend(20); 352 ConstantRange SWrap = Wrap.signExtend(20); 375 EXPECT_EQ(Empty.intersectWith(Wrap), Empty); 381 EXPECT_EQ(Some.intersectWith(Wrap), Empty); 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)); 584 EXPECT_EQ(Some.unionWith(Wrap), Full); 620 EXPECT_EQ(Wrap.subtract(APInt(16, 4)), 632 EXPECT_EQ(Full.add(Wrap), Full); 636 EXPECT_EQ(Empty.add(Wrap), Empty); 640 EXPECT_EQ(Wrap.add(APInt(16, 4)), 908 EXPECT_EQ(Full.sub(Wrap), Full); 912 EXPECT_EQ(Empty.sub(Wrap), Empty); 918 EXPECT_EQ(Wrap.sub(APInt(16, 4)), 929 EXPECT_EQ(Full.multiply(Wrap), Full); 933 EXPECT_EQ(Empty.multiply(Wrap), Empty); 938 EXPECT_EQ(One.multiply(Wrap), Full); 940 EXPECT_EQ(Some.multiply(Wrap), Full); 941 EXPECT_EQ(Wrap.multiply(Wrap), Full); 941 EXPECT_EQ(Wrap.multiply(Wrap), Full); 946 EXPECT_EQ(Zero.multiply(Wrap), Zero); 949 EXPECT_EQ(Wrap.multiply(Zero), Zero); 973 EXPECT_EQ(Full.umax(Wrap), Full); 977 EXPECT_EQ(Empty.umax(Wrap), Empty); 980 EXPECT_EQ(Some.umax(Wrap), ConstantRange(APInt(16, 0xa), APInt(16, 0))); 983 EXPECT_EQ(Wrap.umax(Wrap), Full); 983 EXPECT_EQ(Wrap.umax(Wrap), Full); 984 EXPECT_EQ(Wrap.umax(One), ConstantRange(APInt(16, 0xa), APInt(16, 0))); 993 EXPECT_EQ(Full.smax(Wrap), Full); 998 EXPECT_EQ(Empty.smax(Wrap), Empty); 1001 EXPECT_EQ(Some.smax(Wrap), ConstantRange(APInt(16, 0xa), 1004 EXPECT_EQ(Wrap.smax(One), ConstantRange(APInt(16, 0xa), 1013 EXPECT_EQ(Full.umin(Wrap), Full); 1016 EXPECT_EQ(Empty.umin(Wrap), Empty); 1019 EXPECT_EQ(Some.umin(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa))); 1022 EXPECT_EQ(Wrap.umin(Wrap), Full); 1022 EXPECT_EQ(Wrap.umin(Wrap), Full); 1023 EXPECT_EQ(Wrap.umin(One), ConstantRange(APInt(16, 0), APInt(16, 0xb))); 1032 EXPECT_EQ(Full.smin(Wrap), Full); 1035 EXPECT_EQ(Empty.smin(Wrap), Empty); 1038 EXPECT_EQ(Some.smin(Wrap), ConstantRange(APInt(16, (uint64_t)INT16_MIN), 1042 EXPECT_EQ(Wrap.smin(Wrap), Full); 1042 EXPECT_EQ(Wrap.smin(Wrap), Full); 1043 EXPECT_EQ(Wrap.smin(One), ConstantRange(APInt(16, (uint64_t)INT16_MIN), 1055 EXPECT_EQ(Full.udiv(Wrap), Full); 1059 EXPECT_EQ(Empty.udiv(Wrap), Empty); 1062 EXPECT_EQ(One.udiv(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb))); 1064 EXPECT_EQ(Some.udiv(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa))); 1065 EXPECT_EQ(Wrap.udiv(Wrap), Full); 1065 EXPECT_EQ(Wrap.udiv(Wrap), Full); 1251 EXPECT_EQ(Full.shl(Wrap), Full); 1255 EXPECT_EQ(Empty.shl(Wrap), Empty); 1259 EXPECT_EQ(One.shl(Wrap), Full); // TODO: [0xa, 0xa << 14 + 1) 1261 EXPECT_EQ(Some.shl(Wrap), Full); // TODO: [0xa, 0x7ff << 0x5 + 1) 1262 EXPECT_EQ(Wrap.shl(Wrap), Full); 1262 EXPECT_EQ(Wrap.shl(Wrap), Full); 1276 EXPECT_EQ(Full.lshr(Wrap), Full); 1280 EXPECT_EQ(Empty.lshr(Wrap), Empty); 1283 EXPECT_EQ(One.lshr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb))); 1286 EXPECT_EQ(Some.lshr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa))); 1287 EXPECT_EQ(Wrap.lshr(Wrap), Full); 1287 EXPECT_EQ(Wrap.lshr(Wrap), Full); 1300 EXPECT_EQ(Full.ashr(Wrap), Full); 1304 EXPECT_EQ(Empty.ashr(Wrap), Empty); 1307 EXPECT_EQ(One.ashr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xb))); 1310 EXPECT_EQ(Some.ashr(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa))); 1311 EXPECT_EQ(Wrap.ashr(Wrap), Full); 1311 EXPECT_EQ(Wrap.ashr(Wrap), Full); 1791 EXPECT_NEVER_OVERFLOWS(Wrap.unsignedAddMayOverflow(Zero)); 1793 EXPECT_NEVER_OVERFLOWS(Zero.unsignedAddMayOverflow(Wrap)); 1797 EXPECT_MAY_OVERFLOW(Wrap.unsignedAddMayOverflow(One)); 1799 EXPECT_MAY_OVERFLOW(One.unsignedAddMayOverflow(Wrap)); 1826 EXPECT_NEVER_OVERFLOWS(Wrap.unsignedSubMayOverflow(Zero)); 1828 EXPECT_NEVER_OVERFLOWS(Max.unsignedSubMayOverflow(Wrap)); 1832 EXPECT_MAY_OVERFLOW(Wrap.unsignedSubMayOverflow(One)); 1834 EXPECT_MAY_OVERFLOW(One.unsignedSubMayOverflow(Wrap)); 1860 EXPECT_NEVER_OVERFLOWS(Wrap.signedAddMayOverflow(Zero)); 1862 EXPECT_NEVER_OVERFLOWS(Zero.signedAddMayOverflow(Wrap)); 1866 EXPECT_MAY_OVERFLOW(Wrap.signedAddMayOverflow(One)); 1868 EXPECT_MAY_OVERFLOW(One.signedAddMayOverflow(Wrap)); 1912 EXPECT_NEVER_OVERFLOWS(Wrap.signedSubMayOverflow(Zero)); 1916 EXPECT_MAY_OVERFLOW(Wrap.signedSubMayOverflow(One)); 1918 EXPECT_MAY_OVERFLOW(One.signedSubMayOverflow(Wrap));