History log of /external/llvm/unittests/Support/ConstantRangeTest.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b42729b53a061e2a3def61eb10e2a648cecd60ae 23-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> make ConstantRange::zeroExtend() optimal

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
7e733eab2f11fceb24d6b4f25c27d7ba7d92d97e 16-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> teach ConstantRange that zero times X is always zero

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
367308f798338e162b4ab76efa785caa847487c0 16-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> make ConstantRange::getSetSize() properly compute the size of wrapped and full sets.
Make it always return APInts with the same bitwidth for the same ConstantRange bitwidth to simply clients

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
62d7afad8faf7a1fbbf3402f8e23ce4ece9ab108 28-Jun-2012 Nuno Lopes <nunoplopes@sapo.pt> add ConstantRange::difference (to perform set difference/relative complement)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
532516a87bc57f21e6d99f49548e4c2adf835551 28-Jun-2012 Nuno Lopes <nunoplopes@sapo.pt> fix a off-by-one bug in intersectWith(), and add a bunch of tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
fbb7a73631e3c23510abb3904e8ad38c87ff2a24 18-May-2012 Nuno Lopes <nunoplopes@sapo.pt> fix corner case in ConstantRange::intersectWith().
this fixes the missed optimization I was seeing in the CorrelatedValuePropagation pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
e6240e8b83e9bd60e622650e9e801ebc957172b4 22-Jun-2011 Nick Lewycky <nicholas@mxc.ca> Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
40f8f6264d5af2c38e797e0dc59827cd231e8ff7 07-Dec-2010 Jay Foad <jay.foad@gmail.com> PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
f2d7b7c879548090beae51b21c4b363da7dbbaad 28-Sep-2010 Nick Lewycky <nicholas@mxc.ca> Make ConstantRange::makeICmpRegion handle all the edge cases properly. This
also fixes PR8250.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
32cda119ef63ae1f1ee4b60e1d9e4a5ea8e00604 07-Sep-2010 Nick Lewycky <nicholas@mxc.ca> Add a new isSignWrappedSet() method to ConstantRange.

Fix zeroExtend and signExtend to support empty sets, and to return the smallest
possible result set which contains the extension of each element in their
inputs. For example zext i8 [100, 10) to i16 is now [0, 256), not i16 [100, 10)
which contains 63446 members.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
7f9ef4bb514d5a28637789d8f397dadd4344dc1b 12-Aug-2010 Nick Lewycky <nicholas@mxc.ca> Clean up ConstantRange a bit:
- remove ashr which never worked.
- fix lshr and shl and add tests.
- remove dead function "intersect1Wrapped".
- add a new sub method to subtract ranges, with test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
9773e45a1e97f5098905bac26b8b8b7c844473f0 07-Aug-2010 Owen Anderson <resistor@mac.com> Add an inverse() method to ConstantRange.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
46e124668a4ad86df1a554d3209e8597498b25bf 06-Sep-2009 Daniel Dunbar <daniel@zuster.org> Simplify, now that gtest supports raw_ostream directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
8211becc98131d3ce1813cd97413240bc0afad00 05-Sep-2009 Nick Lewycky <nicholas@mxc.ca> Now that googletest can print ConstantRange, use EXPECT_EQ when testing for
equality. Prefer EXPECT_EQ(foo, Full) over EXPECT_TRUE(foo.isFullSet()) because
the former will print out the contents of the constant range that failed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
9c0c3bf1ec2feb861f19867d4091350010b23de6 05-Sep-2009 Jeffrey Yasskin <jyasskin@google.com> Teach googletest to use raw_ostream instead of just std::ostream.
This can break when there are implicit conversions from types raw_ostream
understands but std::ostream doesn't, but it increases the number of cases that
Just Work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
32e1eef631fb275c9db580d80116d1110c3ae5ee 24-Aug-2009 Chris Lattner <sabre@nondot.org> split raw_os_ostream out to its own header and implementation file. This
means that raw_ostream no longer has to #include <iosfwd>. Nothing in llvm
should use raw_os_ostream.h, but llvm-gcc and some unit tests do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
2571440d1e4fd86b43a65599e3ae078f92412df8 24-Aug-2009 Daniel Dunbar <daniel@zuster.org> Unbreak unit tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
8142ce568d40545582e2e43a9e0aa57cd67d6da2 23-Aug-2009 Chris Lattner <sabre@nondot.org> convert all the constant range EXPECT_EQ tests to use EXPECT_TRUE since
ConstantRange doesn't have an std::ostream inserter anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
b714c08eb8342d4818732b0248710158714fadd5 22-Jul-2009 Ryan Flynn <pizza@parseerror.com> cast signed APInt constructor params to uint64_t to suppress signedness warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
7e7dc45eb15d3739564f2a63ab1c468c57d94ff8 19-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Fix ConstantRange::unionWith. Also make it work a little hard in some cases to
return the smallest union of two ranges instead of just any range that happens
to contain the union.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
3a4a884c1618d94202ee714ea5c899cd80d1c536 18-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Replace intersectWith with maximalIntersectWith. The latter guarantees that
all values belonging to the intersection will belong to the resulting range.
The former was inconsistent about that point (either way is fine, just pick
one.) This is part of PR4545.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
780905e9f9f29419de56b47253f6db84bc659f42 13-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Fix an error in ConstantRange::getSignedMax on wrapped ranges. Thanks once
again to Daniel Dunbar and KLEE!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
ff84de767a9baded740abd1e846938477a4b285a 13-Jul-2009 Nick Lewycky <nicholas@mxc.ca> 'i8 full-range' sign extended to i16 should equal [-128, 128) not [-128, 127).
Found by Daniel Dunbar and KLEE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
f1db120d0494ec55d9265cea7dab22e80dcae10c 13-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Multiply was very wrong for wrapped ranges. This supplies a half-fix that will
generally return Full on all wrapped inputs. "Fixes" PR4545.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
cf9e07dea8aad32c5e7e2631d135566b20e1763c 13-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Fix a bug summing two full sets. The overflow checking doesn't handle sets as
large as the full set, only those one size smaller. Thanks to Daniel Dunbar
who found this bug using Klee!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
956daf0f7f7fa473cf92c8193905a8a441932b69 12-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Implement udiv for ConstantRanges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
b2dcff443c152d5c5ecfa844a8ed83b184935ae6 12-Jul-2009 Nick Lewycky <nicholas@mxc.ca> This is not overly conservative.

Some = [10, 2730). A subset of that is [1024..2048) which covers every possible
10-bit pattern.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
2ff893f48698005f87163c8029224c718cf4cba9 12-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Implement ConstantRange::multiply based on the code in LoopVR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
646ca92bfc20002a5c6d9b2b42e6940fd86ff7c9 11-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Fix handling of max and full set.

A full set is a constant range that represents any number. If you take the
umax of that and [5, 10) you end up with [5, INT_MAX] because the values less
than 5 would be umax's against a value which is at least 5.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
44b3e8d79674a0cd5326e60dbe0c7e0d13b8f8f5 11-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Break the world's largest unit test down a few logical lines. No semantic
changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
38b06447615440f935008a2141bd0a1fe078d437 10-Jul-2009 Dan Gohman <gohman@apple.com> Revert the part of 75177 that split ConstantRange into two classes, and
merge the new functionality and unittests into ConstantRange. Thanks to
Nick Lewycky for pointing out that it isn't necessary to have two separate
classes here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp
a3755d8d366fdd7a2415b93ac0253f8e677c9dfd 10-Jul-2009 Dan Gohman <gohman@apple.com> Add a ConstantSignedRange class, which does for signed integers
what ConstantRange does for unsigned integers. Factor out a
common base class for common functionality.

Add some new functions for performing arithmetic on constant
ranges. Some of these are currently just stubbed out with
conservative implementations.

Add unittests for ConstantRange and ConstantSignedRange.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/ConstantRangeTest.cpp