Daniel Dunbar
ebc14f7783
Fix comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96498 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 19:26:45 +00:00
Bob Wilson
252968a76f
Fix a comment typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96027 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12 22:34:54 +00:00
Dan Gohman
e7962c9897
Implement operators |=, &=, and ^= for SmallBitVector, and remove the
...
restriction in BitVector for |= and ^= that the operand must be the
same length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95768 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10 05:54:04 +00:00
Daniel Dunbar
56a04c0c34
ImmutableIntervalMap: Fix for unqualified lookup into dependent base class, done
...
by clang's -fixit! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95551 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08 18:08:46 +00:00
Chris Lattner
87c06d6179
add support for the sparcv9-*-* target triple to turn on
...
64-bit sparc codegen. Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95293 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-04 06:34:01 +00:00
Zhongxing Xu
1d037b0272
Remove redundant declaration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-03 09:05:21 +00:00
Zhongxing Xu
1c8bd7dc0a
Add constructors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95212 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-03 09:04:11 +00:00
Dan Gohman
00f488012c
Make DenseSet's erase pass on the return value rather than swallowing it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95127 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 21:11:22 +00:00
Zhongxing Xu
769e2ad872
Return value on every path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95075 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 07:05:31 +00:00
Zhongxing Xu
fcad6bdc17
simplify code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95074 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 06:33:32 +00:00
Zhongxing Xu
bd46725476
More logic correction: RemoveOverlap should always create new tree. Add a
...
parameter to record whether changes actually happened.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95073 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 06:22:08 +00:00
Zhongxing Xu
b413bc1403
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95070 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 05:23:23 +00:00
Zhongxing Xu
3a819568ca
Fix a bunch of errors in the old logic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95056 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 02:40:56 +00:00
Zhongxing Xu
44eedb9805
11.8p1: A nested class is a member and as such has the same access rights as
...
any other member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95047 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 01:57:01 +00:00
Zhongxing Xu
746f5b6eb1
Add an immutable interval map, prepared to be used by flat memory model
...
in the analyzer. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94976 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-01 10:43:31 +00:00
Zhongxing Xu
ddba25ab70
Simplify code. We can compare TNew with T in one batch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94973 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-01 07:32:52 +00:00
Junjie Gu
fcb0ee8ffe
Make sure the size is doubled (not 4x).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94845 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29 21:34:26 +00:00
Evan Cheng
cf220d5b89
Add DenseMapInfo for signed long long.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94146 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 03:33:01 +00:00
Ted Kremenek
3ec68f97ea
Store flags in bitfields instead of masking them into the pointer for the left child. This leads to some nice conceptually cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94121 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 00:28:27 +00:00
Ted Kremenek
8767d32e75
Tidy up assertion syntax. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94117 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 23:42:57 +00:00
Benjamin Kramer
b357e06f67
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93317 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13 12:45:23 +00:00
Chris Lattner
bf86e5df18
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?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93301 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13 07:12:06 +00:00
Chris Lattner
af2a8361e4
give StringRef a const_iterator member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93294 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13 04:50:20 +00:00
Benjamin Kramer
7dd6107fcc
Remove unused string functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93183 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-11 20:33:12 +00:00
Benjamin Kramer
7462b5dd99
Add StrInStrNoCase, a StringRef version of CStrInCStrNoCase.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93174 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-11 19:45:18 +00:00
Benjamin Kramer
c30837d6c1
Turns out llvm-gcc still uses SplitString with a vector. Add it back until I
...
have a fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93163 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-11 18:44:35 +00:00
Benjamin Kramer
d4f195999a
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93161 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-11 18:03:24 +00:00
Kovarththanan Rajaratnam
3c37bb8dbe
Fix occurrence typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92926 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 18:46:52 +00:00
Dan Gohman
ad2cee44e0
Some versions of GCC don't like non-static data members in sizeof
...
in this context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92731 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05 15:28:21 +00:00
Dan Gohman
cb89afc965
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92730 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05 15:04:49 +00:00
Douglas Gregor
441c8b4ad1
Implement edit distance for StringRef
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92309 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-30 17:23:44 +00:00
John McCall
6a09affdf6
Implement support for converting to string at "natural precision", and fix some
...
major bugs in long-precision conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92150 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-24 23:18:09 +00:00
John McCall
00e65de9d8
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92126 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-24 08:56:26 +00:00
David Greene
64d3973169
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92005 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 17:18:22 +00:00
Chris Lattner
6a363782fe
add a helper ctor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-21 07:15:15 +00:00
Eli Friedman
d5b1f8a842
Change StringRef::startswith and StringRef::endswith to versions which are a
...
bit more verbose, but optimize to much shorter code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91817 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-21 06:49:24 +00:00
Chris Lattner
b63bb1615b
tabs -> spaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91622 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 21:23:46 +00:00
Steve Naroff
b2273d50bc
Fix Windows build breakage...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91617 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 20:39:34 +00:00
Eric Christopher
af15ffb912
Fix unused variable warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91609 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 19:07:19 +00:00
Daniel Dunbar
4eeeb4767c
Fix one more missing this-> to placate that picky clang++.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91536 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 11:38:03 +00:00
Chris Lattner
acf8723b8e
fix more missing this->'s to placate clang++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91531 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 09:17:12 +00:00
Chris Lattner
2e376a87de
Fix a missing this-> that clang++ notices.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91530 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 09:09:54 +00:00
Chris Lattner
b3649db102
now that libsystem no longer uses SmallVector, we can move
...
SmallVectorBase::grow_pod out of line, finally satisfying PR3758.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91529 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 08:44:24 +00:00
Chris Lattner
99ea87a48a
factor out the grow() method for all pod implementations into one
...
common function. It is still an inline method, which will be fixed next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 08:34:40 +00:00
Chris Lattner
2676f18312
pull destroy_range and uninitialized_copy up to the
...
SmallVectorTemplateBase class, which allows us to statically
dispatch on isPodLike instead of dynamically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91523 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 08:09:23 +00:00
Chris Lattner
e6e55d7959
sink most of the meat in smallvector back from SmallVectorTemplateCommon
...
down into SmallVectorImpl. This requires sprinking a ton of this->'s in,
but gives us a place to factor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91522 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 08:05:48 +00:00
Chris Lattner
de576fa579
substantial refactoring of SmallVector, now most code is in SmallVectorTemplateCommon,
...
and there is a new SmallVectorTemplateBase class in between it and SmallVectorImpl.
SmallVectorTemplateBase can be specialized based on isPodLike.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 06:55:45 +00:00
Chris Lattner
4a5129c700
a few improvements:
...
1. Use std::equal instead of reinventing it.
2. don't run dtors in destroy_range if element is pod-like.
3. Use isPodLike to decide between memcpy/uninitialized_copy
instead of is_class. isPodLike is more generous in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91427 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 08:34:01 +00:00
Chris Lattner
10aaf05c30
hoist the begin/end/capacity members and a few trivial methods
...
up into the non-templated SmallVectorBase class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91426 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 08:29:22 +00:00
Chris Lattner
dc2e570411
improve isPodLike to know that all non-class types are pod.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91425 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 07:40:44 +00:00