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
|