Ted Kremenek
add0641097
Relax constructor for IntrusiveRefCntPtr to not be explicit.
...
llvm-svn: 149309
2012-01-31 00:57:08 +00:00
Ted Kremenek
0022d6619e
Use traits for IntrusiveRefCntPtr to determine how to increment/decrement a reference count.
...
llvm-svn: 149308
2012-01-31 00:57:04 +00:00
Talin
d6b8c10155
DenseMap::find_as() and unit tests.
...
llvm-svn: 149229
2012-01-30 06:55:43 +00:00
Chandler Carruth
0a86383339
Cleanup the organization of some methods in llvm::Triple and provide
...
a better doxyment group for convenience predicates.
llvm-svn: 149211
2012-01-29 23:09:12 +00:00
Jakob Stoklund Olesen
033045b6da
Add a BitVector::reset(BitVector&) method.
...
The alternative LHS &= ~RHS is way too slow because it creates a
temporary that calls malloc/free.
llvm-svn: 149187
2012-01-29 01:29:22 +00:00
Rafael Espindola
7bddde2b49
Add r149110 back with a fix for when the vector and the int have the same
...
width.
llvm-svn: 149151
2012-01-27 23:33:07 +00:00
Talin
12820f024e
Additional methods for SmallString.
...
llvm-svn: 148881
2012-01-24 23:43:59 +00:00
Chris Lattner
1c091db526
add ::drop_back() and ::drop_front() methods, which are like pop_front/pop_back on a vector, but a) aren't destructive to "this", and b) can take a # elements to drop.
...
llvm-svn: 148791
2012-01-24 08:58:57 +00:00
Chris Lattner
cfea666af2
Various public StringMap methods take or return "MapEntryTy", make it public.
...
llvm-svn: 148732
2012-01-23 21:42:52 +00:00
Chris Lattner
7f4e7ce468
revert r148688 too, this isn't safe for DenseMap use. When DenseMap resizes, it will need to copy around arbitrary pointers
...
llvm-svn: 148699
2012-01-23 15:10:41 +00:00
Chris Lattner
0a21f75290
allow OwningPtr to be copy constructed if null, which is required to
...
make them be a valuetype in a DenseMap.
llvm-svn: 148688
2012-01-23 08:19:57 +00:00
Benjamin Kramer
14636e5e0a
Protect SmallVectorImpl's constructor and a few other methods that aren't meant to be public.
...
llvm-svn: 148550
2012-01-20 16:39:46 +00:00
Chris Lattner
b57d05e24b
Introduce a new MutableArrayRef class, which refers to a series of mutable
...
T's that are consequtively in memory.
llvm-svn: 148463
2012-01-19 06:34:52 +00:00
Rafael Espindola
700f91def8
Add support for the gnueabihf environment. Patch by Sylvestre Ledru.
...
llvm-svn: 148434
2012-01-18 23:35:29 +00:00
Jakub Staszak
c3dc479049
Trailing spaces.
...
llvm-svn: 148332
2012-01-17 20:58:08 +00:00
Chris Lattner
c54b1a7001
add some missing const qualifiers.
...
llvm-svn: 148274
2012-01-17 01:31:32 +00:00
Jakob Stoklund Olesen
4004b18f94
Add portable bit mask operations to BitVector.
...
BitVector uses the native word size for its internal representation.
That doesn't work well for literal bit masks in source code.
This patch adds BitVector operations to efficiently apply literal bit
masks specified as arrays of uint32_t. Since each array entry always
holds exactly 32 bits, these portable bit masks can be source code
literals, probably produced by TableGen.
llvm-svn: 148272
2012-01-17 01:24:32 +00:00
Chandler Carruth
ecd9169f3a
Teach the triple library about the androideabi environment.
...
Patch by Evgeniy Stepanov.
llvm-svn: 147871
2012-01-10 19:46:00 +00:00
Benjamin Kramer
0ce9fd3032
Remove VectorExtras. This unused helper was written for a type of API that is discouraged now.
...
llvm-svn: 147738
2012-01-07 19:42:13 +00:00
Benjamin Kramer
b13cdd4879
Port the trick to skip the check for empty buckets from StringMap to DenseMap.
...
This should fix the odd behavior that find() is slower than lookup().
llvm-svn: 147731
2012-01-07 13:12:07 +00:00
Chris Lattner
8a6a27b69a
allow clients of SmallSet to specify their own comparison function for the set.
...
Patch by Stepan Dyatkovskiy!
llvm-svn: 147607
2012-01-05 17:35:07 +00:00
Benjamin Kramer
15f1af87d2
StringMap.find never points to an empty bucket or tombstone, skip the check.
...
llvm-svn: 147546
2012-01-04 20:45:14 +00:00
Benjamin Kramer
77f9c9f719
Switch StringMap from an array of structures to a structure of arrays.
...
- -25% memory usage of the main table on x86_64 (was wasted in struct padding).
- no significant performance change.
llvm-svn: 147294
2011-12-27 20:35:07 +00:00
Lang Hames
4258202987
Fixed typo.
...
llvm-svn: 147113
2011-12-22 00:12:51 +00:00
David Blaikie
576aba04f1
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
...
llvm-svn: 146960
2011-12-20 02:50:00 +00:00
Chris Lattner
151b0ec955
add a method to improve compatibility with SmallVector.
...
llvm-svn: 146928
2011-12-20 00:03:41 +00:00
Chandler Carruth
c8e6351626
As Doug pointed out (and I really should know), it is perfectly easy to
...
make VariadicFunction actually be trivial. Do so, and also make it look
more like your standard trivial functor by making it a struct with no
access specifiers. The unit test is updated to initialize its functors
properly.
llvm-svn: 146827
2011-12-17 10:20:15 +00:00
Chandler Carruth
0339ff36c1
Make GCC happy by using makeAraryRef instead of the implicit conversion.
...
I have no idea why GCC can't cope with the implicit conversion and Clang
can, or whose bug it is. Grr.
llvm-svn: 146732
2011-12-16 09:36:16 +00:00
Chandler Carruth
1cf4d2d1ae
Add a generic collection of class templates to ADT for building
...
variadic-like functions in C++98. See the comments in the header file
for a more detailed description of how these work. We plan to use these
extensively in the AST matching library. This code and idea were
originally authored by Zhanyong Wan. I've condensed it using macros
to reduce repeatition and adjusted it to fit better with LLVM's ADT.
Thanks to both David Blaikie and Doug Gregor for the review!
llvm-svn: 146729
2011-12-16 08:58:59 +00:00
Tony Linthicum
61adbf8dc5
Hexagon backend support
...
llvm-svn: 146412
2011-12-12 21:14:40 +00:00
Michael J. Spencer
d85f1f84f3
Support/FileSystem: Implement recursive_directory_iterator and make
...
directory_iterator preserve InputIterator semantics on copy.
llvm-svn: 146200
2011-12-08 22:50:09 +00:00
David Blaikie
4b898ea444
Adding missing anchor to DATDeltaAlgorithm.
...
llvm-svn: 146025
2011-12-07 06:44:23 +00:00
Chris Lattner
edb34dd40a
allow TinyPtrVector to implicitly convert to ArrayRef.
...
llvm-svn: 145898
2011-12-06 02:00:33 +00:00
Nick Lewycky
389fa6c38d
Silence tsan false-positives (tsan can't track things which are only safe due to
...
memory fences) in statistics registration, which works the same way that
ManagedStatic registration does.
llvm-svn: 145869
2011-12-05 23:07:05 +00:00
Anna Zaks
431b43fdbe
Change the Dominators recalculate() function to only rely on GraphTraits
...
This is a patch by Guoping Long!
As part of utilizing LLVM Dominator computation in Clang, made two changes to LLVM dominators tree implementation:
- (1) Change the recalculate() template function to only rely on GraphTraits.
- (2) Add a size() method to GraphTraits template class to query the number of nodes in the graph.
llvm-svn: 145837
2011-12-05 19:17:04 +00:00
Benjamin Kramer
a41c3f4eff
Handle more cases in APInt::getLowBitsSet's fast path.
...
llvm-svn: 145249
2011-11-28 16:56:38 +00:00
Ted Kremenek
5b61764405
Fix bug in RefCountedBase/RefCountedBaseVPTR where the reference count was accidentally copied as part of the copy constructor. This could result in objects getting leaked because there reference count was too high.
...
llvm-svn: 144931
2011-11-17 23:02:14 +00:00
Benjamin Kramer
c597902ecc
Replace (Lower|Upper)caseString in favor of StringRef's newest methods.
...
llvm-svn: 143891
2011-11-06 20:37:06 +00:00
Daniel Dunbar
7b66487335
ADT/StringRef: Add ::lower() and ::upper() methods.
...
llvm-svn: 143880
2011-11-06 18:04:43 +00:00
Dan Gohman
892b86e74c
Remove the Alpha backend.
...
llvm-svn: 143164
2011-10-27 22:56:32 +00:00
Dan Gohman
77125e4240
Remove the Blackfin backend.
...
llvm-svn: 142880
2011-10-25 00:05:42 +00:00
Dan Gohman
b54d296fd4
Remove the SystemZ backend.
...
llvm-svn: 142878
2011-10-24 23:48:32 +00:00
Duncan Sands
4afb312617
Avoid warnings about the parameter G being unused.
...
llvm-svn: 142573
2011-10-20 08:56:41 +00:00
Eli Friedman
400fe75ba1
Use unsigned multiply to hash integers, so we don't end up with undefined behavior for large signed integers. Based on patch by Ahmed Charles.
...
llvm-svn: 141827
2011-10-12 22:25:45 +00:00
Andrew Trick
4c8a7dc833
Allow stat += 0 without activating the stat.
...
For me, this is a nice convenience. We generally want grep to match
stats output only when the event has occurred.
llvm-svn: 141574
2011-10-10 19:48:56 +00:00
Andrew Trick
fe8c38a61e
whitespace
...
llvm-svn: 141572
2011-10-10 19:35:46 +00:00
Ted Kremenek
744f9cc17c
Make canonicalization of ImmutableSetRef::asImmutableSet() semi-explicit.
...
llvm-svn: 140959
2011-10-02 01:47:07 +00:00
Anna Zaks
76528b198e
Add getTreeFactory() to ImmutableSet to allow construction of ImmutableSetRef from an ImmutableSet object.
...
llvm-svn: 140402
2011-09-23 19:10:26 +00:00
Akira Hatanaka
795050d1d1
Add mips64 & mips64el to Triple. Patch by Liu with modifications.
...
llvm-svn: 140157
2011-09-20 18:09:37 +00:00
Ted Kremenek
484a96fab1
Add ImmutableMapRef and ImmutableSetRef, which consolidate Immutable[Map,Set] and its Factory. This may eventually replace Immtuable[Map,Set].
...
llvm-svn: 139967
2011-09-16 23:01:25 +00:00