reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

unittests/IR/ConstantRangeTest.cpp
   26   static ConstantRange Wrap;

References

unittests/IR/ConstantRangeTest.cpp
  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));