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

Declarations

unittests/IR/ConstantRangeTest.cpp
   24   static ConstantRange One;

References

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