History log of /external/llvm/include/llvm/ADT/APInt.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/ADT/APInt.h
b69143c6a9bfc969e7c95bbd48b83bb962086070 16-Nov-2013 Benjamin Kramer <benny.kra@googlemail.com> Annotate APInt methods where it's not clear whether they are in place with warn_unused_result.

Fix ScalarEvolution bugs uncovered by this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
8dcff889825c7f38dab27a349b7a21f186a5ff9e 15-Jun-2013 Benjamin Kramer <benny.kra@googlemail.com> APInt: Add a fast case for isAllOnesValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
abff3aa8217049cffe6da77c91e510c66b8c2313 03-Jun-2013 Manuel Klimek <klimek@google.com> Introduce needsCleanup() for APFloat and APInt.

This is needed in clang so one can check if the object needs the
destructor called after its memory was freed. This is useful when
creating many APInt/APFloat objects with placement new, where the
overhead of tracking the pointers for cleanup is significant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a32edcfbc5b99b808b67360311d513af650eab44 28-May-2013 Michael Gottesman <mgottesman@apple.com> [APInt] Implement tcDecrement as a counterpart to tcIncrement. This is for use in APFloat IEEE-754R 2008 nextUp/nextDown function.

rdar://13852078

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
612ca08e662da624c29140d075c87c7fe2a70efa 25-May-2013 Michael Gottesman <mgottesman@apple.com> clang-formatted APInt.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
c6af2432c802d241c8fffbe0371c023e6c58844e 25-May-2013 Michael J. Spencer <bigcheesegs@gmail.com> Replace Count{Leading,Trailing}Zeros_{32,64} with count{Leading,Trailing}Zeros.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a5196664236bfadccfc3b805079072340e0f542d 23-May-2013 Michael Gottesman <mgottesman@apple.com> Fixed trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cbc8777c588173b1d7d98b29f5a0b43ad35dc6e1 23-May-2013 Michael Gottesman <mgottesman@apple.com> Updated the comments of APInt.h to match the llvm style guide and be consistent. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
8660057d189eb567777ce5bca2b479da8108b5ad 27-Feb-2013 Aaron Ballman <aaron@aaronballman.com> Switching -1ULL to UINT64_MAX to fix MSVC warnings. Patch thanks to Peng Cheng!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ad4da0fc321230261b4d0387f0ec216eb8aa50ca 20-Feb-2013 Benjamin Kramer <benny.kra@googlemail.com> Move the SplatByte helper to APInt and generalize it a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
9bc2c994827f2ff881d0563f0c14134b794b4928 20-Feb-2013 Jakub Staszak <kubastaszak@gmail.com> Move part of APInt implementation from header to cpp file. These methods
require call cpp file anyway, so we wouldn't gain anything by keeping them
inline.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
35b1423ee67a6ec7052016dda486e6ee4a118db4 07-Feb-2013 Meador Inge <meadori@codesourcery.com> ADT: Correct APInt::getActiveWords for zero values

PR15138 was opened because of a segfault in the Bitcode writer.
The actual issue ended up being a bug in APInt where calls to
APInt::getActiveWords returns a bogus value when the APInt value
is 0. This patch fixes the problem by ensuring that getActiveWords
returns 1 for 0 valued APInts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
674be02d525d4e24bc6943ed9274958c580bcfbc 10-Jan-2013 Jakub Staszak <kubastaszak@gmail.com> Fix include guards so they exactly match file names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
4334dd96a9e622fdcf2825a8f73a2d941d67be72 30-Nov-2012 Chandler Carruth <chandlerc@gmail.com> Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES.

Rationale:
1) This was the name in the comment block. ;]
2) It matches Clang's __has_feature naming convention.
3) It matches other compiler-feature-test conventions.

Sorry for the noise. =]

I've also switch the comment block to use a \brief tag and not duplicate
the name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
3a9b71434cda6f66d65a031effec1bbe58e1dda3 31-Oct-2012 Rafael Espindola <rafael.espindola@gmail.com> Add extra declarations of hash_value needed to build llvm with xlc 12.1.
Patch by Kai!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
b61054ff8f5568489109a0ccf2799307c3671309 26-Oct-2012 Derek Schuff <dschuff@google.com> Stop APInt::shl from generating llvm.trap

APInt::shl generated llvm.trap to guard against shifts greater than bit-width.
This was already checked with an assert, and there was a special case for
shifts equal to bit-width. Modify this check to catch shifts greater than or
equal to bit-width, so llvm.trap isn't generated.

Patch contributed by JF Bastien

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
2d9eb72178af8e79dc6432cd1b7d29bde16da1b9 13-Sep-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix Doxygen issues:
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a00b80b04c5edb08639c1c6b32e9231fd8b066f7 23-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix a bunch of -Wdocumentation warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a77b95a316e0eb04929c5d7fe96935124c3ed478 29-Jul-2012 Benjamin Kramer <benny.kra@googlemail.com> APInt: Simplify code.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
aa7507d68dcc04f3118a05b5dff4123ded03253e 19-Jul-2012 Bill Wendling <isanbard@gmail.com> Remove tabs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
5449a1db40b75586c1daf70a14396295e7b3fe24 15-Jul-2012 Eric Christopher <echristo@apple.com> Move IsSameValue from clang's ASTImporter to be methods on the
APInt/APSInt classes.

Part of rdar://11875995

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
0fa2b7b90df9a20baf2d14b7bc4fe7db5144efde 02-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Add move semantics to APInt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a7a2a3635f2fbe46d7d9074798e79e853f69d40b 22-May-2012 Nuno Lopes <nunoplopes@sapo.pt> fix the quotient returned by sdivrem() for the case when LHS is negative and RHS is positive
based on a patch by Preston Briggs, with some modifications

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
69ccf9fc0b131f2c71c3d60791425cbf52392ee4 14-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> Move APInt::operator[] inline.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a18988518869a84cb4d6510e265b1fb1a52268d1 14-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> Move APInt::operator! inline, it's small and fuses well with surrounding code when inlined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ed7692a136a9bcf513b91b7b5eb33a1e2d83e7ee 04-Mar-2012 Chandler Carruth <chandlerc@gmail.com> Replace the hashing functions on APInt and APFloat with overloads of the
new hash_value infrastructure, and replace their implementations using
hash_combine. This removes a complete copy of Jenkin's lookup3 hash
function (which is both significantly slower and lower quality than the
one implemented in hash_combine) along with a somewhat scary xor-only
hash function.

Now that APInt and APFloat can be passed directly to hash_combine,
simplify the rest of the LLVMContextImpl hashing to use the new
infrastructure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
04594aeffa3360882eb09a888a0970321b987b16 28-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Add r149110 back with a fix for when the vector and the int have the same
width.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
39a2eb7dea034820eb4b93b2361ae307b0cee5f2 28-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Handle more cases in APInt::getLowBitsSet's fast path.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
dcd999624159842886d4be21efcc3ba0e61bab99 14-Sep-2011 Douglas Gregor <dgregor@apple.com> Add APInt support for converting to/from hexatridecimal strings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
3ba292dbc2acee2d1052fb7ffe332e2164147b47 18-Jul-2011 Jeffrey Yasskin <jyasskin@google.com> Add APInt(numBits, ArrayRef<uint64_t> bigVal) constructor to prevent future ambiguity
errors like the one corrected by r135261. Migrate all LLVM callers of the old
constructor to the new one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cf886188fb04d9521db39fe5213df1295673f51e 15-Jun-2011 Ted Kremenek <kremenek@apple.com> add option for literal formatting to APInt::toString()

toString() now takes an optional bool argument that,
depending on the radix, adds the appropriate prefix
to the integer's string representation that makes it into a
meaningful C literal, e.g.:

hexademical: '-f' becomes '-0xf'
octal: '77' becomes '077'
binary: '110' becomes '0b110'

Patch by nobled@dreamwidth.org!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
6208610fd602ebdb18bb793152899573d0b2b7ab 27-Mar-2011 Frits van Bommel <fvbommel@gmail.com> Constant folding support for calls to umul.with.overflow(), basically identical to the smul.with.overflow() code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
d9103df51b858cf051a1650ac7eb33d416e9ac41 17-Mar-2011 Benjamin Kramer <benny.kra@googlemail.com> Add an argument to APInt's magic udiv calculation to specify the number of bits that are known zero in the divided number.

This will come in handy soon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
9b6af8de58140566a0e6567508bf906027422e7c 24-Feb-2011 Cameron Zwarich <zwarich@apple.com> Add a getNumSignBits() method to APInt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
16e036fa8f1d1da02deeaf9a77951f4dc711faa1 13-Feb-2011 Chris Lattner <sabre@nondot.org> add a helper method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
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/include/llvm/ADT/APInt.h
fd6d53fbad9d3f48da4910ebba12d9d2a3c24bd8 04-Dec-2010 Benjamin Kramer <benny.kra@googlemail.com> APInt: microoptimize a few methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
bd7d2622a2ee828a02017dca19170b6f79ff6684 04-Dec-2010 Benjamin Kramer <benny.kra@googlemail.com> Simplify APInt::getAllOnesValue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
7a874ddda037349184fbeb22838cc11a1a9bb78f 01-Dec-2010 Jay Foad <jay.foad@gmail.com> PR5207: Rename overloaded APInt methods set(), clear(), flip() to
setAllBits(), setBit(unsigned), etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a99793c5ea24dd3839f4925b89b1f6acfcb24604 30-Nov-2010 Jay Foad <jay.foad@gmail.com> PR5207: Make APInt::set(), APInt::clear() and APInt::flip() return void.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
695ab519e4129ba1053383364a9241ec4c68904b 28-Nov-2010 Jay Foad <jay.foad@gmail.com> PR5207: remove unused methods APInt::Emit() and APInt::Read().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
e4d19c9eb22899c9a555395d446a9ceef3bea7eb 28-Nov-2010 Jay Foad <jay.foad@gmail.com> PR5207: change APInt::doubleToBits() and APInt::floatToBits() to be
static methods that return a new APInt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
5005e27f9714f0eaa5b8b7a5a1f6751afa163f07 03-Nov-2010 Dan Gohman <gohman@apple.com> Factor code out of APInt to form a isUIntN helper function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
eafc5cb80d58cb9447623a557be4d4f55f42fbc3 14-Oct-2010 Chris Lattner <sabre@nondot.org> add uadd_ov/usub_ov to apint, consolidate constant folding
logic to use the new APInt methods. Among other things this
implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold

which comes from "clang -ftrapv", originally brought to my attention from PR8221.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
08e90f5646e61c3be0eebfa172ec73a8b56abee8 14-Oct-2010 Chris Lattner <sabre@nondot.org> missed a line :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
0a0a585e6bfc112cb8346b17edecb76969fb5532 14-Oct-2010 Chris Lattner <sabre@nondot.org> constify these methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
f2ddc64c8701e432cc220f26c48d596cc0f30a97 14-Oct-2010 Chris Lattner <sabre@nondot.org> add a few operations for signed operations that also
return an overflow flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
452b93e7dc2802dea3a31ea12c397d11c3c5e23b 13-Aug-2010 Benjamin Kramer <benny.kra@googlemail.com> Use getAllOnesValue, saves a copy and looks better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
38e59891ee4417a9be2f8146ce0ba3269e38ac21 15-Jul-2010 Benjamin Kramer <benny.kra@googlemail.com> Don't pass StringRef by reference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
e05678132345eb8a632362dbd320ee7d36226e67 09-Apr-2010 Dan Gohman <gohman@apple.com> Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
1e7ad3993d8700488895fa372ecad55443f53485 28-Feb-2010 John McCall <rjmccall@apple.com> Add an override to StringRef::getAsInteger which parses into an APInt.
It gets its own implementation totally divorced from the (presumably
performance-sensitive) routines which parse into a uint64_t.

Add APInt::operator|=(uint64_t), which is situationally much better than
using a full APInt.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
e12b73816b50bbe2cc54b8005d86c95413b4f465 28-Feb-2010 John McCall <rjmccall@apple.com> Teach APFloat how to create both QNaNs and SNaNs and with arbitrary-width
payloads. APFloat's internal folding routines always make QNaNs now,
instead of sometimes making QNaNs and sometimes SNaNs depending on the
type.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cbc7cc63b6c7ee1008f92064388c37327c183328 13-Oct-2009 Dan Gohman <gohman@apple.com> Add a ceilLogBase2 function to APInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
91021d339004ff5a64c3c9614cff8966899c0c99 24-Aug-2009 Chris Lattner <sabre@nondot.org> remove the dead std::ostream APInt inserter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
689ad6ef3fd2e89394f1e8860dfebfe56b73c3da 13-Aug-2009 Daniel Dunbar <daniel@zuster.org> Convert APint::{fromString,APInt,getBitsNeeded} to use StringRef.
- Patch by Erick Tryzelaar, with some edits (and a bug fix) from me.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
38a253ddf786b83dba14d980d269f7bb5c2252ea 30-Jun-2009 Dan Gohman <gohman@apple.com> Reapply 74494, this time removing the conflicting definition of operator<<
in APIntTest.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
527b6e62926673eb66e03f1250904a74a77667ae 30-Jun-2009 Bill Wendling <isanbard@gmail.com> Temporarily revert r74494. It was causing failures in the unit tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
670031666cf4dea0d122a0df2ec1d18822c225e4 30-Jun-2009 Dan Gohman <gohman@apple.com> Define an operator<< for APInt to be used with std::ostream.
This will allow it to be used in unittests that use gtest's
EXPECT_EQ.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
4e5ea553d055512b0b8aa098e363ae17bafda957 30-Apr-2009 Jay Foad <jay.foad@gmail.com> Move helper functions for optimizing division by constant into the APInt
class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
17893a5fb6b3b4b9e84674dfb7692abb57410dd1 13-Apr-2009 Douglas Gregor <dgregor@apple.com> Add a static APInt::getNumWords

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
de551f91d8816632a76a065084caab9fab6aacff 01-Apr-2009 Dan Gohman <gohman@apple.com> Use CHAR_BIT instead of hard-coding 8 in several places where it
is appropriate. This helps visually differentiate host-oriented
calculations from target-oriented calculations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a2769a33c94f021a609a462b28ebea069eba6f74 20-Feb-2009 Misha Brukman <brukman+llvm@gmail.com> Fixed lint errors:
* Alphabetized #includes
* Removed trailing whitespace
* Wrapped or shortened lines over 80 chars


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
af9b6b264f2bf4315c25b286a1c24331038545e0 09-Feb-2009 Bill Wendling <isanbard@gmail.com> These function return 'void'. Don't have 'return' return anything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
9981b1f15681a2a09c9953cf6773a3b839ead4e7 20-Jan-2009 Chris Lattner <sabre@nondot.org> eliminate use of uint32_t to improve compatibility with cygwin


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
3a54b3dc87a581c203b18050b4f787b4ca28a12c 09-Jan-2009 Misha Brukman <brukman+llvm@gmail.com> Removed trailing whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
1d93b2e1b638cee7f012e8f636eb2cc137d855ff 03-Dec-2008 Chris Lattner <sabre@nondot.org> Fix isIntN to work with APInts > 64 bits. This method is only
used by clang apparently.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
3864cd4cab956526b99b634e15e7fd5d5441e3a7 01-Dec-2008 Eli Friedman <eli.friedman@gmail.com> Fix bogus assertion using getSExtValue for legitimate values, like -1 in
an 128-bit-wide integer. No testcase; the issue I ran into depends on
local changes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
71f95b8531183d4a2f7c84d66d5aec17bc41b316 12-Oct-2008 Chris Lattner <sabre@nondot.org> random cleanup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
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/include/llvm/ADT/APInt.h
55767f69c5f925373b7901b180202a3d816a0eef 21-Aug-2008 Chris Lattner <sabre@nondot.org> remove redundant include


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
aac0513ed08f7fd5279912b76d5a1e7cd3e96119 21-Aug-2008 Chris Lattner <sabre@nondot.org> Fix the build with gcc 4.3 as the host, patch by Zhongxing Xu!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cbd56db62b7fa5a685bdca2eddefe9d04a1295f8 21-Aug-2008 Nick Lewycky <nicholas@mxc.ca> Fix build on GCC 4.3.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
98f8ccfad06c8928d899f506731987f951b2ebe4 20-Aug-2008 Chris Lattner <sabre@nondot.org> Move the fast-path (<=i64) cases of various APInt methods inline
and the slow-path cases out of line. This speeds up instcombine
a bit in real world cases. Patch contributed by m-s.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
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/include/llvm/ADT/APInt.h
9f17eb0b79717d479e462f0284442adbeae903ef 17-Aug-2008 Chris Lattner <sabre@nondot.org> remove a dead APInt ctor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
df99c29e7b25771d202b969ca5dec359a62897b1 10-Jul-2008 Duncan Sands <baldrick@free.fr> Correct a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
300c6c5167d2869d1568d783d0e3e48bf4b03a6c 23-Jun-2008 Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> First step to fix PR2088. Implement routine to compute the
multiplicative inverse of a given number. Modify udivrem to allow input and
output pairs of arguments to overlap. Patch is based on the work by Chandler
Carruth.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
8eab8a2798fe74c98703bdeac64661beea0b4dbc 09-Jun-2008 Duncan Sands <baldrick@free.fr> Remove some DAG combiner assumptions about sizes
of integer types. Fix the isMask APInt method to
actually work (hopefully) rather than crashing
because it adds apints of different bitwidths.
It looks like isShiftedMask is also broken, but
I'm leaving that one to the APInt people (it is
not used anywhere).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cdff51cabcebcd0eeb227ecf92eabbf8b1aeb77c 30-May-2008 Dan Gohman <gohman@apple.com> Fix an error in the comment for APInt::getMinSignedBits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
48e8c80e1791adb7a07b8fd6e27edcdfbb756950 02-May-2008 Evan Cheng <evan.cheng@apple.com> Suppress -Wshorten-64-to-32 warnings for 64-bit hosts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cf609575ef6e47cd5ce775af175c67a3b621120e 29-Feb-2008 Dan Gohman <gohman@apple.com> Add support to APInt for shift and rotate operations with APInt
instead of uint32_t for the shift/rotate count operand type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
e85fe660e4e99d30ca9292b706b8ffe6d0367dca 26-Feb-2008 Bill Wendling <isanbard@gmail.com> Detabify


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
c9525263f6c519d987209eb39e33a73165c526d6 20-Feb-2008 Dan Gohman <gohman@apple.com> Remove inline keywords from in-class function definitions, for
consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
bd999178929c10bdeb0a2577fa02981778edaee7 20-Feb-2008 Dan Gohman <gohman@apple.com> Add an intersects method to APInt, to capture a common idiom.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cd2ad1df5d2e0600200c81bc214e0b65ff699c5f 13-Feb-2008 Dan Gohman <gohman@apple.com> Fix a typo in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
7649127ec152e226d761845983ba91e69712d7da 13-Feb-2008 Dan Gohman <gohman@apple.com> Rename APInt's isPositive to isNonNegative, to reflect what it
actually does.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
42dd77f20702d5ca1e0f3882ad74e7a02fc9589c 13-Feb-2008 Dan Gohman <gohman@apple.com> Add countTrailingOnes member functions to APInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
b5cfaaedbea10d8fcf5ca23be7955ca0f4fd5c9c 13-Feb-2008 Dan Gohman <gohman@apple.com> Fix a typo in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ffe3e2514a2550152267072ed7afeebb3dd3016c 12-Feb-2008 Dan Gohman <gohman@apple.com> Change APInt::getBitsSet to accept a "half-open" range, where the
hiBit parameter marks the index one past the last desired set bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
d3993d13be7b34fe8753eab9eb3d6499b7c4cd9f 12-Feb-2008 Dan Gohman <gohman@apple.com> Correct the order of the arguments in the examples in the comments
for APInt::getBitsSet. And fix an off-by-one bug in "wrapping" mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ec646cfd07f1354364e0899561aabffef5b702fd 08-Feb-2008 Dan Gohman <gohman@apple.com> Add an isSignedIntN, like isIntN but for signed integer values instead of
unsigned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
187784996c1bdf8aafb5f8719bcbde9260465865 19-Jan-2008 Ted Kremenek <kremenek@apple.com> Changed argument name for 'Profile' method to potentially fix a name conflict
reported in pr1929 (http://llvm.org/PR1929).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
e420debd26300cbeb6af2722e3342132b2be1b3c 19-Jan-2008 Ted Kremenek <kremenek@apple.com> Added FoldingSet style 'profiling' support for APInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
73481e04da1573d10c72982cfba0716c39902502 08-Dec-2007 Chris Lattner <sabre@nondot.org> eliminate dependency on Bitcode headers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
9e513acd3145036bd06b5e0f5bcc83a3e5c08854 23-Nov-2007 Chris Lattner <sabre@nondot.org> Fix PR1816, by correcting the broken definition of APInt::countTrailingZeros.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
586504d5ed35d5765652370c4b4e68eb21b2b34a 07-Nov-2007 Ted Kremenek <kremenek@apple.com> Fixed default ctor for APInt to properly initialize BitWidth to a
non-random value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
1a43e5ffe1ba9bfcb531f7c6a68ac8c49bd28dc1 26-Oct-2007 Ted Kremenek <kremenek@apple.com> Added serialization support for APInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
02760ed19ae02feca0cc536c035cdf08d222a8f3 26-Oct-2007 Ted Kremenek <kremenek@apple.com> Fixed incorrect "path name" in preamble (comment) of header file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
68e53ad6cb0a9d64d256f9dcef70331cd72d795e 08-Oct-2007 Neil Booth <neil@daikokuya.co.uk> Add a new function tcExtract for extracting a bignum from an
arbitrary range of bits embedded in the middle of another bignum.
This kind of operation is desirable in many cases of software
floating point, e.g. converting bignum integers to floating point
numbers of fixed precision (you want to extract the precision most
significant bits).

Elsewhere, add an assertion, and exit the shift functions early if
the shift count is zero.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
978661d05301a9bcd1222c048affef679da5ac43 06-Oct-2007 Neil Booth <neil@daikokuya.co.uk> Generalize tcFullMultiply so that the operands can be of differing
part widths. Also, return the number of parts actually required to
hold the result's value.
Remove an over-cautious condition from rounding of float->hex conversion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
910993e8dc49a25d9da3b53de4a82568c14e91cc 22-Sep-2007 Dale Johannesen <dalej@apple.com> Change APFloat::convertFromInteger to take the incoming
bit width instead of number of words allocated, which
makes it actually work for int->APF conversions.
Adjust callers. Add const to one of the APInt constructors
to prevent surprising match when called with const
argument.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
8feb1f4467425d23ed74cce61e49f18a51a63421 18-Sep-2007 Devang Patel <dpatel@apple.com> Do not hide APInt::dump() inside #ifndef NDEBUG.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
9e3d3abd937c9bb79d56d25ec0e0724c7cbba67c 15-Sep-2007 Dale Johannesen <dalej@apple.com> Remove the assumption that FP's are either float or
double from some of the many places in the optimizers
it appears, and do something reasonable with x86
long double.
Make APInt::dump() public, remove newline, use it to
dump ConstantSDNode's.
Allow APFloats in FoldingSet.
Expand X86 backend handling of long doubles (conversions
to/from int, mostly).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cd3c4cac6ea3ce3bff0ce763d45c3f7a2d673178 29-Aug-2007 Chris Lattner <sabre@nondot.org> getMinSignedBits needs to take into consider the sign bit when the value is positive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
9132a2b81842b0e2b77703fab3e6fe7467f859bb 23-Aug-2007 Chris Lattner <sabre@nondot.org> rename APInt::toString -> toStringUnsigned for symmetry with toStringSigned()

Add an APSInt::toString() method.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
b39cdde41d3c91d1fd48a038e63b78122607bb10 21-Aug-2007 Chris Lattner <sabre@nondot.org> initial checkin of Neil's APFloat work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
fe8e14a6c99261cfe9238c35761083cb4c99cc6a 16-Aug-2007 Chris Lattner <sabre@nondot.org> This adds a bunch of static functions that implement unsigned
two's complement bignum arithmetic. They could be used to
implement much of APInt, but the idea is they are enough to
implement APFloat as well, which the current APInt interface
is not suited for.

Patch by Neil Booth!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
f094f81d36f0941f0e8ed9e4086b21db93186ff4 05-Aug-2007 Reid Spencer <rspencer@reidspencer.com> Document a missing parameter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
19dc32a2d422ac0aafd047514e3e5e727796696e 14-May-2007 Reid Spencer <rspencer@reidspencer.com> Add some things needed by the llvm-gcc version supporting bit accurate integer
types:
1. Functions to compute div/rem at the same time.
2. Further assurance that an APInt with 0 bitwidth cannot be constructed.
3. Left and right rotate operations.
4. An exactLogBase2 function which requires an exact power of two or it
returns -1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
49e1580214cd0b9e8d00b29f11f62fe9070a2a9c 03-May-2007 Chris Lattner <sabre@nondot.org> remove useless type qualifiers


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
57ae4f5f01b6f8edf678d77ab935f3662993065d 13-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Implement a getBitsNeeded method to determine how many bits are needed to
represent a string in binary form by an APInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
2b4c23438838034ee2a812f3cb094a9742b272f6 10-Apr-2007 Chris Lattner <sabre@nondot.org> fix a comment bug Reid noticed


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
4bda52d6b5ffa13314fe32baa1784566f70483f9 10-Apr-2007 Chris Lattner <sabre@nondot.org> add a method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
6401260af24812454817891ca60b2126a14d5b6f 04-Apr-2007 Chris Lattner <sabre@nondot.org> trivial optimization


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ef65293dc27c2d7b1ba1fc7c7ffd802e86b780ec 03-Apr-2007 Chris Lattner <sabre@nondot.org> add missing operator


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
febabcc02a1303a8e4d9bed76718a32f0273607a 02-Apr-2007 Chris Lattner <sabre@nondot.org> add a helper function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
770e1798e110732e09540d53ffd2be261790f2c1 01-Apr-2007 Zhou Sheng <zhousheng00@gmail.com> Remove unused methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
48a3e98c272d673f075c51d078140765fc267eb8 30-Mar-2007 Duncan Sands <baldrick@free.fr> Correct typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
f6bef488eeab75b6c7746f9faa9731d45bb84aef 25-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Compute getLowBitsSet correctly. Using the complement of a 64-bit value
and shifting down without regard for the bitwidth of the APInt can lead
to incorrect initialization values. Instead, check for the word size case
(to avoid undef results from shift) and then do (1 << loBitsSet) - 1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
5b9f2d6186317df88dbaf603bf8d0eafd6e83897 25-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Fix a typo in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a1689ea60eafb10a617ba588fe29e09683299368 25-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Actually, for getHighBitsSet and getLowBitsSet, don't make a 0 bit size
illegal. Instead do the 0 valued construction for the user. This is because
the caller may not know (or care to check) that the number of bits set is
zero.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
758d1bc919f3f0856df102f6db64ef9b894d4c23 25-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Make it illegal to set 0 bits in getHighBitsSet and getLowBitsSet. For that
they should have used the uint64_t constructor. This avoids causing
undefined results via shifts by the word size when the bit width is an
exact multiple of the word size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
5b7e659e220ed01c8d3a7335e2b52ff2f0fb2ef3 25-Mar-2007 Reid Spencer <rspencer@reidspencer.com> In the getBitsSet function, don't optimize for a common case that is
already covered by getLowBitsSet (i.e. when loBits==0). Consequently, remove
the default value for loBits and reorder the arguments to the more natural
loBits, hiBits order. This makes it more clear that this function is for bit
groups in the middle of the bit width and not towards one end or the other.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ca76fc2cd3b97e4821e7d8247bc03bbbd2789ad9 25-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Don't invoke undefined behavior in shifts in the functions getHighBitsSet
and getLowBitsSet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
8f969ee62c3fed26f835a37c41f7c009f99ea3bf 25-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Implement the getBitsSet function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
8da7d65b8350d0f47f47ab496328d9068ac6764d 25-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Implement the getHighBitsSet and getLowBitsSet functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
013263f7b008e2fca293cf2720205f3f6db37dc2 24-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Get the signs in the right place!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
d3af825d29ab02f78665d5010c8439d34d65db65 24-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Undo the last change and make this really implement remainder and not
modulus. The previous change was a result of incorrect documentation in
the LangRef.html.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
53c9520b238514a9c1b63ff02221f7467aad1337 24-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Correct the implementation of srem to be remainder, not modulus. The sign of
the result must follow the sign of the divisor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
7ac2f81e49442f76e3427227fb1e300ce60fceb4 24-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Clean up this interface:
1. Group similar methods into doxygen groups
2. Reorganize the groups into a consist flow.
3. Significantly improve the quality of the documentation on several methods
4. Rewrite srem and sdiv to eliminate a copy and improve readability.
5. Eliminate unneeded forward references.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
3a3aacfe10cc6a96de7357e07dcf8b3f0e5f63bb 21-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Fix a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
e51ffcf27fbbb8dd209e68fc8a74b108822cd162 20-Mar-2007 Zhou Sheng <zhousheng00@gmail.com> Correct the name: isStrictPositive --> isStrictlyPositive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
95da1213958b63c6a5ef65107bf8c3b6a07d3ffb 19-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Add an indication of signedness to the uint64_t constructor so sign bits
can be extended. This helps fix test/Assembler/2007-03-19-NegValue.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
fdcd5a7740f5947a8679524f71852d36e79766a0 19-Mar-2007 Zhou Sheng <zhousheng00@gmail.com> Add isStrictPositive() to APInt to determine if this APInt Value > 0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
b991dfeae75fba839150a21272a2aa875ec3945f 13-Mar-2007 Zhou Sheng <zhousheng00@gmail.com> Add zextOrCopy() into APInt for convenience.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
8db6a445e679817d9972c44d2bc366732388c7b0 11-Mar-2007 Zhou Sheng <zhousheng00@gmail.com> Add getSignBit() and operator<<= into APInt for convenience.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
3130835bdf4e965309fa3cbed1bfc976a04324f8 05-Mar-2007 Zhou Sheng <zhousheng00@gmail.com> Correct the calculation in APInt::logBase2().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
52f32d55665ef02e6ebe4518b0a1e2e2a4df0bea 03-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Regularize the interface for conversion functions to/from float/double.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
28bb83625accaa7b44d60c71794d35e3e8d61039 03-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Make getNumWords public so that those using getRawData stand a chance of
not reading beyond the end of the buffer returned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
da347141ecb7ce44c532cdc51b000d5ab65db79f 03-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Add names for some of the operators. This is needed for the macros in
the Interpreter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
239e4021ce2dc1e57f31190b9e9737d0f2c507c1 03-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Add isPositive for symmetry with isNegative.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
b45a221348ee8693f1bff2df7b42689497083d41 02-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Add an abs() function to get the absolute value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
53ee4f9d4083ce5106d95ab23985570a1f7413e5 01-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Add doubleToBits and floatToBits methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ab2ed8ec850b6dd9b152ab936d70b7376903168a 01-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Add bitsToDouble and bitsToFloat methods for re-interpretation of bits as FP.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
68e2300ad965bf08af11ae363bb85e3badf964dc 01-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Add methods for bit width modification: sextOrTrunc, zextOrTrunc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
af8fb1984674db462bc6923ed54db0275c78b711 01-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Add a square root function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
f2253449e24712e96f7bdb7b54c20ddca8d6bb51 28-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Make APInt a little more friendly to its users:
* Add support for + and - of a uint64_t.
* Make trunc/sext/zext return *this so it can be chained with other ops
* Add smin, smax, umin, umax functions for getting min/max values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
84b4eeccc70b39f975a82ad098413d129d38a7d3 28-Feb-2007 Reid Spencer <rspencer@reidspencer.com> getActiveWords should return the number of words, not the index of the
highest active words. Increment its result by one.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
9d3c51923392f69b63512e59e44f72affbe6136e 28-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Add some syntactic sugar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
681dcd14e9d59c2070e3a298328db9aea6069480 27-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Implement countLeadingOnes() and getMinSignedBits(). This helps to minimize
the bit width of negative numbers by computing the minimum bit width for a
negative value. E.g. 0x1800000000000000 could be just 0x8000000000000000


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
66ed1099ff3591c61e008198bb5a30862e778fc0 27-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Improve APInt interface:
1. Add unsigned and signed versions of methods so a "bool" argument doesn't
need to be passed in.
2. Make the various getMin/getMax functions all be inline since they are
so simple.
3. Simplify sdiv and srem code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
409f092766e61ab317e46aec37b4a9234ead9b5a 27-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Allow the RoundDoubleToAPInt function to specify a width to use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
946bca5bae2539ca55f8fb4700bff8b5e3f5a7eb 26-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Fix indentation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
31a81f0190179b19dc72302dfea05cd1c2f0d22e 26-Feb-2007 Reid Spencer <rspencer@reidspencer.com> 1. Split getValue() into getSExtValue() and getZExtValue() to match
ConstantInt better.
2. Add a getHashValue() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
f99705e8985bbd4ff5786f5fc9d843d5de38a3d4 26-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Implement inline methods that make transition of ConstantInt to use APInt
easier to comprehend and might be useful elsewhere.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ebf4ebd69155ea46c7937aec25df1f50dd61c136 26-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Make isNegative() a const function since it doesn't modify the APInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
dcffd5c3d90f295c90bc211a9c402e1fc18f8b12 26-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Add an isNegative method to determine if the APInt's value is negative.
This is much less expensive than a test against zero.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
c68c2243dcb716bc117f41aa543ca8a41046df41 25-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Fix clearUnusedBits to not depend on "undefined behavior" of >> operator
when the bit size is equal to the word size. This happens to work out okay
on x86, but might not on other platforms. The change just detects when
there are no bits to clear (because BitWidth is a multiple of the word size)
and returns early.

Also, move some comments from .cpp file into header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
20b1f5db1e93d28debc6449dcd56da6ca7aa6b67 25-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Add a private constructor for efficiency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
d03d012ad97fad9f91b107d206dadad4c34bebef 24-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Improve documentation.
Make divide function internal (it was briefly external for testing).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
f31c784f2774311d1f7194ac4ca86262197a8099 21-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Add a dump() method for debugging.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
e91f7847e6126b266fb01de1f05da5655c359da8 20-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Add an internal convenience method for division that urem and udiv use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
d81b0659501c66b2fec2009e8a999c3db6a1f95c 19-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Add some new constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
a932e3f799cbf2f689e4987fea543d3f8661e7a8 18-Feb-2007 Reid Spencer <rspencer@reidspencer.com> 1. "unsigned" -> "uint32_t" to gaurantee its bit width on all platforms.
Size matters in this case.
2. Remove the unused whichByte private function, which was also broken.
3. Remove the non-const overload of the getWord function, getWord() is
never used as an lvalue.
4. Rename some local variables for clarity (e.g. API -> Result).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
443b570149f5756b298de6b63d13bbbf66b4f6fc 18-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Implement signed output for toString.
Fix bugs in countLeadingZeros and countTrailingZeros.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
cd6f2bfc268add3dd54cbdf98b2a2c4862fe4ba5 17-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Fix bugs introduced by constructor parameter order change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
e81d2dad2c54014d36c73573307db5852c5caf8e 16-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Review changes:
1. Function style changes.
2. 80-col violations.
3. Better names for things.
4. Arrange constructors so they all take bit width first.
5. Add named signed and unsigned comparison functions and remove the
corresponding operators.
6. Remove operator&& and operator|| but provide a getBoolValue function which
converts to bool as comparison against 0. This allows the normal && and
|| operators to be used as if (X.getBoolValue() && Y.getBoolValue())

Note: this still doesn't function 100% yet. I'm working on the bugs now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
b04973edfaffb12905f58379d632f0d7e4bb5d9b 15-Feb-2007 Zhou Sheng <zhousheng00@gmail.com> Fix some buges:
1. Make getMinValue() returns the right value.
2. Fix the ByteSwap() crash problem.
3. Make Postfix increment work correctly.
4. Fix some bugs in LogBase2, Hi/LoBits and UDiv.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
db3faa64ee89d537ca1b1410dd841ef51e957540 13-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Make some minor improvements to APInt:
1. Make all the operators use uppercase
2. Rename APIntRoundToDouble method just RoundToDouble, the APInt is
redundant.
3. Turn the class on for compilation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
d93f00c35dbd1ea415bb2b39435253aef9428d71 12-Feb-2007 Zhou Sheng <zhousheng00@gmail.com> 1. Make APInt::shl work correctly and more efficiently.
2. Add functions to support the numberical conversion between APInt and
double/float.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
ff4304f8243f55e2e5c63bc95517cd38ff9295e1 09-Feb-2007 Zhou Sheng <zhousheng00@gmail.com> Eliminates friend function declaration inside APInt, instead, adds public
methods as those global function's internal implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
0b706b18bd0a7760d971727460a1f26bff8289b0 08-Feb-2007 Zhou Sheng <zhousheng00@gmail.com> As Chris and Reid suggested, remove "isSigned" field from APInt, instead,
add some signed/unsigned arithmetic operation functions into APInt.h to
handle the signed/unsigned issue. These functions will be defined inside a
namespace "APIntOps" which is inside llvm namespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
58a0d64fae7ace05b27dad94fd427991d853619b 07-Feb-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Fix build error.
include/llvm/ADT/APInt.h:326: error: ‘assert’ was not declared in this scope


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
f29a09d6272265e90362d5dfba201c4ed6dcf6d5 07-Feb-2007 Zhou Sheng <zhousheng00@gmail.com> As Chris suggested, fixed some problems. (This is the first part.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
7406dcdc2981ae864a22ba34f96d1db5e3a4cf87 06-Feb-2007 Zhou Sheng <zhousheng00@gmail.com> As Reid suggested, fixed some problems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h
d0f285e212c47ac71af842bb39ea5364f1e556b4 05-Feb-2007 Zhou Sheng <zhousheng00@gmail.com> Add a class APInt to represent arbitrary precision constant integral values.
It is a functional replacement for common case integer type like "unsigned",
"uint64_t", but also allows non-byte-width integer type and large integer
value types such as 3-bits, 15-bits, or more than 64-bits of precision. For
more details, see pr1043.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/APInt.h