1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
Commit Graph

948 Commits

Author SHA1 Message Date
Andrew Lenharth
4f4af9d95c Iterator traits and swap. closes PR6548 and PR6549
llvm-svn: 97974
2010-03-08 20:45:52 +00:00
Douglas Gregor
c52fc8f922 Revert r97917, which was causing Clang Debug self-host failures.
llvm-svn: 97932
2010-03-08 02:58:37 +00:00
Jeffrey Yasskin
2c23c1d1a1 Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.
llvm-svn: 97917
2010-03-07 17:10:13 +00:00
Jeffrey Yasskin
c68dc05867 _2_ gcc crashes, ah, ah, ah...
(Rolling back r97906.)

llvm-svn: 97909
2010-03-07 07:16:49 +00:00
Jeffrey Yasskin
c0123f0033 Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by Valgrind!
llvm-svn: 97906
2010-03-07 06:55:35 +00:00
Chris Lattner
a446775fd5 make APFloat::toString be const.
llvm-svn: 97883
2010-03-06 19:20:13 +00:00
Evan Cheng
a139c6cb44 TopLevelMap[] reference is a pointer.
llvm-svn: 97661
2010-03-03 20:46:48 +00:00
Evan Cheng
90979fa639 Allow specialization of ScopedHashTable of non-default DenseMapInfo.
llvm-svn: 97594
2010-03-02 22:10:24 +00:00
Evan Cheng
ab92cd0412 Add count() and lookup() to ScopedHashTable. It might be useful to get information out of the hash table.
llvm-svn: 97542
2010-03-02 02:37:33 +00:00
John McCall
b6e6dd63ad 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.

llvm-svn: 97381
2010-02-28 09:55:58 +00:00
John McCall
69bc985550 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.

llvm-svn: 97364
2010-02-28 02:51:25 +00:00
Wesley Peck
94cdac52e5 Adding the MicroBlaze backend.
The MicroBlaze is a highly configurable 32-bit soft-microprocessor for
use on Xilinx FPGAs. For more information see:
http://www.xilinx.com/tools/microblaze.htm
http://en.wikipedia.org/wiki/MicroBlaze

The current LLVM MicroBlaze backend generates assembly which can be
compiled using the an appropriate binutils assembler.

llvm-svn: 96969
2010-02-23 19:15:24 +00:00
Dan Gohman
835086ef52 Fix various doxygen warnings.
llvm-svn: 96779
2010-02-22 04:10:52 +00:00
Daniel Dunbar
27247dd1e8 Fix comment.
llvm-svn: 96498
2010-02-17 19:26:45 +00:00
Bob Wilson
881d06c0b9 Fix a comment typo.
llvm-svn: 96027
2010-02-12 22:34:54 +00:00
Dan Gohman
2dd0d36f14 Implement operators |=, &=, and ^= for SmallBitVector, and remove the
restriction in BitVector for |= and ^= that the operand must be the
same length.

llvm-svn: 95768
2010-02-10 05:54:04 +00:00
Daniel Dunbar
e56fb57d08 ImmutableIntervalMap: Fix for unqualified lookup into dependent base class, done
by clang's -fixit! :)

llvm-svn: 95551
2010-02-08 18:08:46 +00:00
Chris Lattner
e43007d443 add support for the sparcv9-*-* target triple to turn on
64-bit sparc codegen.  Patch by Nathan Keynes!

llvm-svn: 95293
2010-02-04 06:34:01 +00:00
Zhongxing Xu
bbb98cd401 Remove redundant declaration.
llvm-svn: 95213
2010-02-03 09:05:21 +00:00
Zhongxing Xu
07020ea237 Add constructors.
llvm-svn: 95212
2010-02-03 09:04:11 +00:00
Dan Gohman
612cbcdc1a Make DenseSet's erase pass on the return value rather than swallowing it.
llvm-svn: 95127
2010-02-02 21:11:22 +00:00
Zhongxing Xu
2f90f25c13 Return value on every path.
llvm-svn: 95075
2010-02-02 07:05:31 +00:00
Zhongxing Xu
c41eb88823 simplify code.
llvm-svn: 95074
2010-02-02 06:33:32 +00:00
Zhongxing Xu
107fc8962f More logic correction: RemoveOverlap should always create new tree. Add a
parameter to record whether changes actually happened.

llvm-svn: 95073
2010-02-02 06:22:08 +00:00
Zhongxing Xu
7c9608096b Add a lookup method to the IntervalMap. The difference from the original
lookup is that if the lookup key is contained in the key, we return the data.

llvm-svn: 95070
2010-02-02 05:23:23 +00:00
Zhongxing Xu
007e05dce7 Fix a bunch of errors in the old logic.
llvm-svn: 95056
2010-02-02 02:40:56 +00:00
Zhongxing Xu
fa062ef731 11.8p1: A nested class is a member and as such has the same access rights as
any other member.

llvm-svn: 95047
2010-02-02 01:57:01 +00:00
Zhongxing Xu
e075bd78c6 Add an immutable interval map, prepared to be used by flat memory model
in the analyzer. WIP.

llvm-svn: 94976
2010-02-01 10:43:31 +00:00
Zhongxing Xu
f9abfaa0c2 Simplify code. We can compare TNew with T in one batch.
llvm-svn: 94973
2010-02-01 07:32:52 +00:00
Junjie Gu
4d7286efef Make sure the size is doubled (not 4x).
llvm-svn: 94845
2010-01-29 21:34:26 +00:00
Evan Cheng
4045e89a8f Add DenseMapInfo for signed long long.
llvm-svn: 94146
2010-01-22 03:33:01 +00:00
Ted Kremenek
20b78f8eef Store flags in bitfields instead of masking them into the pointer for the left child. This leads to some nice conceptually cleanups.
llvm-svn: 94121
2010-01-22 00:28:27 +00:00
Ted Kremenek
30dee16eed Tidy up assertion syntax. No functionality change.
llvm-svn: 94117
2010-01-21 23:42:57 +00:00
Benjamin Kramer
5db856d384 Introduce Twine::toStringRef, a variant of toVector which avoids the copy if the
twine can be represented as a single StringRef. Use the new methode to simplify
some twine users.

llvm-svn: 93317
2010-01-13 12:45:23 +00:00
Chris Lattner
9c1ca33ac3 add new isSingleStringRef()/getSingleStringRef() methods to twine,
and use them to avoid a copy of a string in getNameWithPrefix in
the common case.  It seems like Value::setName and other places 
should use this as well?

llvm-svn: 93301
2010-01-13 07:12:06 +00:00
Chris Lattner
a8deef7d39 give StringRef a const_iterator member.
llvm-svn: 93294
2010-01-13 04:50:20 +00:00
Benjamin Kramer
400ab557d3 Remove unused string functions.
llvm-svn: 93183
2010-01-11 20:33:12 +00:00
Benjamin Kramer
45e333ea95 Add StrInStrNoCase, a StringRef version of CStrInCStrNoCase.
llvm-svn: 93174
2010-01-11 19:45:18 +00:00
Benjamin Kramer
7ec2a31f14 Turns out llvm-gcc still uses SplitString with a vector. Add it back until I
have a fix.

llvm-svn: 93163
2010-01-11 18:44:35 +00:00
Benjamin Kramer
cdbc36f961 Reimplement getToken and SplitString as "StringRef helper functions"
- getToken is modeled after StringRef::split but it can split on multiple
  separator chars and skips leading seperators.
- SplitString is a StringRef::split variant for more than 2 elements with the
  same behaviour as getToken.

llvm-svn: 93161
2010-01-11 18:03:24 +00:00
Kovarththanan Rajaratnam
3a038bba47 Fix occurrence typo
llvm-svn: 92926
2010-01-07 18:46:52 +00:00
Dan Gohman
66ee3816ef Some versions of GCC don't like non-static data members in sizeof
in this context.

llvm-svn: 92731
2010-01-05 15:28:21 +00:00
Dan Gohman
090f279ac5 Add a SmallBitVector class, which mimics BitVector but uses only
a single pointer (PointerIntPair) member. In "small" mode, the
pointer field is reinterpreted as a set of bits. In "large" mode,
the pointer points to a heap-allocated object.

Also, give BitVector empty and swap functions.

And, add some simple unittests for BitVector and SmallBitVector.

llvm-svn: 92730
2010-01-05 15:04:49 +00:00
Douglas Gregor
301af636d3 Implement edit distance for StringRef
llvm-svn: 92309
2009-12-30 17:23:44 +00:00
John McCall
75f1b8beeb Implement support for converting to string at "natural precision", and fix some
major bugs in long-precision conversion.

llvm-svn: 92150
2009-12-24 23:18:09 +00:00
John McCall
c71c44ec7f Add accessors for the largest-magnitude, smallest-magnitude, and
smallest-normalized-magnitude values in a given FP semantics.
Provide an APFloat-to-string conversion which I am quite ready to admit could
be much more efficient.

llvm-svn: 92126
2009-12-24 08:56:26 +00:00
David Greene
32ec2e9057 Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.

llvm-svn: 92005
2009-12-23 17:18:22 +00:00
Chris Lattner
609eded2e8 add a helper ctor.
llvm-svn: 91819
2009-12-21 07:15:15 +00:00
Eli Friedman
fe6a796851 Change StringRef::startswith and StringRef::endswith to versions which are a
bit more verbose, but optimize to much shorter code.

llvm-svn: 91817
2009-12-21 06:49:24 +00:00
Chris Lattner
2e0b4ea606 tabs -> spaces.
llvm-svn: 91622
2009-12-17 21:23:46 +00:00