History log of /external/llvm/lib/Support/ConstantRange.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/lib/Support/ConstantRange.cpp
55c9ecba47953aa8a4a1baffef81461aee660e9a 19-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> reimplement truncate() to make it optimal.
It is optimal at least up to 7 bits (I've tested all such cases)
This change to truncate() allows a little simplification to the multiplication code,
and it also makes multiplication optimal :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
5d2fada44ce77c6db15173a8107bf253c2293170 17-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> simplify getSetSize() per Duncan's comments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.cpp
858143816d43e58b17bfd11cb1b57afbd7f0f893 07-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
48a09aec60c5daf67430811e24256d501a576766 03-Jan-2012 Nick Lewycky <nicholas@mxc.ca> Conform to the style guide; remove 'else' after 'return'. Also remove an extra
if-statement by turning it into an assert. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
b3ff49e923225d0f7242ef5ac554bdef34c1b216 24-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Make ConstantRange::truncate a bit more efficient.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
23946fcaaefaf3c1a9d1ef86a3786f622c005f1a 21-Sep-2011 Richard Trieu <rtrieu@google.com> Change:

assert(!"error message");

To:

assert(0 && "error message");

which is more consistant across the code base.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
a09d514b291151ad9c92c9bf8776583de231ded4 27-Jul-2011 Frits van Bommel <fvbommel@gmail.com> Trim includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.cpp
198381e542320265e1c5fed18e938db3563a45bf 07-Sep-2010 Nick Lewycky <nicholas@mxc.ca> Add completely hokey binary-and and binary-or operations to ConstantRange and
teach LazyValueInfo to use them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.cpp
0aede9e2a85e596f5444378e71f52b65e28b3d71 07-Aug-2010 Owen Anderson <resistor@mac.com> Remove layering violation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.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/lib/Support/ConstantRange.cpp
634bab148cacc8cc8647172056c26c8bc3f60a65 07-Aug-2010 Owen Anderson <resistor@mac.com> Add a convenience constructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
8dcc58e6b44fbaab39a24b1f75e67f05275084dc 26-Jan-2010 Dan Gohman <gohman@apple.com> Fix a typo that several people pointed out. Also, address the case of
wrapping that Duncan pointed out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
153f1ebeb8fd394e5b11b27edde9472de0cbb57f 26-Jan-2010 Dan Gohman <gohman@apple.com> Add a comment about a missed opportunity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
df6d5e03940c8a2a560b74a69061aff4ae1badf3 26-Jan-2010 Dan Gohman <gohman@apple.com> Print empty and full sets specially.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
7fd5fb4b4755c3df86da5a0ebedf0d328fafbc81 05-Jan-2010 David Greene <greened@obbligato.org> Change errs() to dbgs().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
4459145c2ccb5d063841a5d8c76b8b8ac9adaf2f 12-Nov-2009 Nuno Lopes <nunoplopes@sapo.pt> fix crash in my previous patch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
34e992da381bf8b1a9cbcc1bde0b117207809649 12-Nov-2009 Nuno Lopes <nunoplopes@sapo.pt> implement shl, ashr, and lshr methods. shl is not fully implemented as it is quite tricky.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
95a3be0ba44e96308c65c28ee859acc36149ddd8 09-Nov-2009 Nuno Lopes <nunoplopes@sapo.pt> add zextOrTrunc and sextOrTrunc methods, that are similar to the ones in APInt

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
45cfe545ec8177262dabc70580ce05feaa1c3880 23-Aug-2009 Chris Lattner <sabre@nondot.org> Change Pass::print to take a raw ostream instead of std::ostream,
update all code that this affects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.cpp
f067a233562d3cfeb29d0092d1069bb8d25cad31 11-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Clarify and simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
bf8c7f0adf90c8271c790be9922a2f97d19d4c01 11-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Move a method that creates constant ranges relative to another constant range
per icmp predicate out of predsimplify and into ConstantRange.

Add another utility method that determines whether one range is a subset of
another. Combine with the former to determine whether icmp pred range, range
is known to be true or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.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/lib/Support/ConstantRange.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/lib/Support/ConstantRange.cpp
944fac71e082cc2664cc71b4d3f6c72bab7143fb 24-Aug-2008 Chris Lattner <sabre@nondot.org> Switch the asmprinter (.ll) and all the stuff it requires over to
use raw_ostream instead of std::ostream. Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).

Other interesting changes:
1) This makes Value::print be non-virtual.
2) AP[S]Int and ConstantRange can no longer print to ostream directly,
use raw_ostream instead.
3) This fixes a bug in raw_os_ostream where it didn't flush itself
when destroyed.
4) This adds a new SDNode::print method, instead of only allowing "dump".


A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream
versions.

This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
fad86b003a839cef40ec8ce8408322f4913368ca 17-Aug-2008 Chris Lattner <sabre@nondot.org> Rework the routines that convert AP[S]Int into a string. Now, instead of
returning an std::string by value, it fills in a SmallString/SmallVector
passed in. This significantly reduces string thrashing in some cases.

More specifically, this:
- Adds an operator<< and a print method for APInt that allows you to
directly send them to an ostream.
- Reimplements APInt::toString to be much simpler and more efficient
algorithmically in addition to not thrashing strings quite as much.

This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the
asmprinter. This also fixes a bug I introduced into the asmwriter in a
previous patch w.r.t. alias printing.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
7edd009efe6dda2a051f49709148e2cc42a83339 27-May-2008 Dan Gohman <gohman@apple.com> Tidy up whitespace in ConstantRange::print output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
28753f8df2921fa9e9d60717c2078c826ea82bb4 14-Jul-2007 Nick Lewycky <nicholas@mxc.ca> Clarify the language. Pointed out by Duncan Sands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
377b1190cbcf99e9298300d890c4b744dd2ed2c7 14-Jul-2007 Nick Lewycky <nicholas@mxc.ca> Add alternate ConstantRange intersection algorithm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
ae5eb7accf65ee94e22b3d235d466d71268f1e83 09-Jun-2007 Nick Lewycky <nicholas@mxc.ca> Fix edge case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
c125c00e68138b8ae7861b589277a491ee217893 26-Apr-2007 Zhou Sheng <zhousheng00@gmail.com> Using APInt more efficiently.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
daacf22537e0d140c379a39a11a83d3321395d4d 13-Apr-2007 Zhou Sheng <zhousheng00@gmail.com> Make the apint construction more effective.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
e32157c6098ee7536315e9793eed98d21bf71fd0 07-Apr-2007 Nick Lewycky <nicholas@mxc.ca> Add signExtend to ConstantRange, to complement zeroExtend and truncate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
9babd0e0f2f380dcb84561c1d9f9ebc773c588f2 01-Apr-2007 Nick Lewycky <nicholas@mxc.ca> Implement union of wrapped sets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
3400e6af6b10acea219c02ac262637220f84218f 10-Mar-2007 Nick Lewycky <nicholas@mxc.ca> Add getter methods for the extremes of a ConstantRange.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
c6a28fcf5db2b6e81607e45cd5210e3e07834eed 02-Mar-2007 Nick Lewycky <nicholas@mxc.ca> Implement unionWith.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
a6e8a955d6ab82911a1909fac7a9f4256a4d090e 01-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Remove the "isSigned" parameters from ConstantRange. It turns out they
are not needed as the results are the same with or without it.

Patch by Nicholas Lewycky.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
bb626a6751db9a63d159d32522bdf88cedf46eeb 28-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Move ConstantRange class to lib/Support from lib/Analysis and make its
interface not depend on Type or ICmpInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
581b0d453a63f7f657248f80317976995262be11 28-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1205:
Remove ConstantInt from ConstantRange interface and adjust its users to
compensate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
dc5c1597014fa5c47c94db2b9fd424d2266053db 28-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1205:
First round of ConstantRange changes. This makes all CR constructors use
only APInt and not use ConstantInt. Clients are adjusted accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
663e711dc235cae94eb50abb1c0571fd0b3a6a35 28-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1205:
Convert ConstantRange class to use APInt internally as its value type for
the constant range, instead of ConstantInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
3e051647c079fe29db049646b39611fc0135327d 11-Feb-2007 Nick Lewycky <nicholas@mxc.ca> Fix comments to match names of functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
c10305743c313558405079452138f03124e87581 19-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1043:
This is the final patch for this PR. It implements some minor cleanup
in the use of IntegerType, to wit:
1. Type::getIntegerTypeMask -> IntegerType::getBitMask
2. Type::Int*Ty changed to IntegerType* from Type*
3. ConstantInt::getType() returns IntegerType* now, not Type*

This also fixes PR1120.

Patch by Sheng Zhou.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
42a75517250017a52afb03a0ade03cbd49559fe5 15-Jan-2007 Chris Lattner <sabre@nondot.org> rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.

This makes naming much more consistent. For example, there are now no longer any
instances of IntegerType that are not considered isInteger! :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
b2f3e703bcde5833ff5910922f7a5313cc6b1c64 15-Jan-2007 Chris Lattner <sabre@nondot.org> Update code to eliminate calls to isInteger, calling isIntegral instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
07627050871c50466eb112143e24b498e1e7d3a6 15-Jan-2007 Chris Lattner <sabre@nondot.org> Fix correlated exprs regressions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
05b30d840a321e46972323517208ed9c8480802f 12-Jan-2007 Chris Lattner <sabre@nondot.org> remove unneeded special cases


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
579dca12c2cfd60bc18aaadbd5331897d48fec29 12-Jan-2007 Reid Spencer <rspencer@reidspencer.com> Implement review feedback for the ConstantBool->ConstantInt merge. Chris
recommended that getBoolValue be replaced with getZExtValue and that
get(bool) be replaced by get(const Type*, uint64_t). This implements
those changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
4fe16d607d11e29d742208894909733f5ad01f8f 11-Jan-2007 Reid Spencer <rspencer@reidspencer.com> Rename BoolTy as Int1Ty. Patch by Sheng Zhou.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
6b6b6ef1677fa71b1072c2911b4c1f9524a558c9 11-Jan-2007 Zhou Sheng <zhousheng00@gmail.com> For PR1043:
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
ca7ad8942a42eaf70d3ee3fa87d6a8211f4b5689 08-Jan-2007 Reid Spencer <rspencer@reidspencer.com> Fix a bug in an assert that would never trigger.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
e7ca042730a233591cece04f177209923e6fb478 08-Jan-2007 Reid Spencer <rspencer@reidspencer.com> Convert uses of getPrimitiveSize that should be getPrimitiveSizeInBits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
e4d87aa2de6e52952dca73716386db09aad5a8fd 23-Dec-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
d977d8651a5cd26a3e1088267f31cade405f2adf 13-Dec-2006 Reid Spencer <rspencer@reidspencer.com> Replace inferred getCast(V,Ty) calls with more strict variants.
Rename getZeroExtend and getSignExtend to getZExt and getSExt to match
the the casting mnemonics in the rest of LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
e81561909d128c6e2d8033cb5465a49b2596b26a 07-Dec-2006 Bill Wendling <isanbard@gmail.com> Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
c6bf4bfc351c11b49e8f0d5df010f40877646e63 06-Dec-2006 Reid Spencer <rspencer@reidspencer.com> Adjust to new ConstantIntegral interface for Max/Min tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
575d95ce373f1e405e6c27ce8d9f244bba3bdd0d 04-Dec-2006 Reid Spencer <rspencer@reidspencer.com> Change inferred casts to explicit casts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
8d89281989908fb8cd6e64f503c076e5c2b214e3 29-Nov-2006 Bill Wendling <isanbard@gmail.com> WTF? These weird newlines got in there...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
6f81b510217bd87f265cca054c5d9885250d8525 28-Nov-2006 Bill Wendling <isanbard@gmail.com> Removed some of the iostream #includes. Moved towards converting to using
llvm streams


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
b83eb6447ba155342598f0fabe1f08f5baa9164a 20-Oct-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
193c2d886f96944fa5e4ecb9298a829a84bb8127 29-Sep-2006 Chris Lattner <sabre@nondot.org> Simplify some code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
fd93908ae8b9684fe71c239e3c6cfe13ff6a2663 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
ce36d55cf8d3239942e0e9c426c835f0c33a11e6 15-Jul-2004 Chris Lattner <sabre@nondot.org> Bug fixes for PR341


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
954da37bb492b519f5c31dc360f2a142567e08b4 04-Jul-2004 Reid Spencer <rspencer@reidspencer.com> Add #include <iostream> since Value.h does not #include it any more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
fc33d30446843009b0eadf63c0bfca35ae2baac6 30-Mar-2004 Chris Lattner <sabre@nondot.org> Add some new methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
db813954527c7bcd33916261fa5bc7e4525efe49 29-Mar-2004 Chris Lattner <sabre@nondot.org> Adjust to new itf


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
67bb7603eac097b21c57310aa5737ad54db5b4d0 12-Jan-2004 Chris Lattner <sabre@nondot.org> Remove use of ConstantHandling itf


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
2cdd21c2e4d855500dfb53f77aa74da53ccf9de6 14-Dec-2003 Chris Lattner <sabre@nondot.org> Finegrainify namespacification


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
b576c94c15af9a440f69d9d03c2afead7971118c 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
c07736a397012499e337c994f7f952b07c709544 23-Jul-2003 Chris Lattner <sabre@nondot.org> Simplify code by using ConstantInt::getRawValue instead of checking to see
whether the constant is signed or unsigned, then casting


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
20d4129fefb07f6c5619045372ebe7a9f5c139e1 04-Sep-2002 Chris Lattner <sabre@nondot.org> Minor bug fix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
d122f4b648571867c0f8f72290b6c1a0aac02ebb 02-Sep-2002 Chris Lattner <sabre@nondot.org> Fix bugs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
96f9d7232c72867ee09641832d2db99f9166d6f0 02-Sep-2002 Chris Lattner <sabre@nondot.org> Add printing support to ConstantRange class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp
645e00d1497dec37da92b59b47d76c4f922e6abc 02-Sep-2002 Chris Lattner <sabre@nondot.org> Initial implementation of ConstantRange support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/ConstantRange.cpp