Chris Lattner
b911824620
fix indentation. std::pair is "isPod" if the first/second are both isPod.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60262 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-30 00:50:20 +00:00
Torok Edwin
10ca770020
protect against negative values that would exceed allowed bit width
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60239 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-29 08:52:45 +00:00
Chris Lattner
b9cf75a15f
apparently GCC doesn't believe that I understand C
...
precedence rules. Pacify it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60237 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-29 08:36:39 +00:00
Duncan Sands
3f7dba7b17
Typo fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60236 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-29 08:03:35 +00:00
Chris Lattner
d63e618212
Fix sentinels to use correctly 'aligned' pointers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60229 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-29 01:36:16 +00:00
Chris Lattner
9ac30537aa
Fix spello, add DenseMapInfo specialization for PointerIntPair.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60228 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-29 01:18:05 +00:00
Chris Lattner
d55da4de04
fix comment typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60227 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-28 23:57:26 +00:00
Chris Lattner
762ac83271
fix a bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60225 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-28 23:36:15 +00:00
Chris Lattner
34b763694e
add a generic "bitmangled pointer" class, which allows a parameterized
...
pointer and integer type to be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60224 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-28 23:31:44 +00:00
Ted Kremenek
9f1f00ab1b
Add typedef to StringMapEntry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60134 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-27 00:17:25 +00:00
Chris Lattner
0fbdfc3664
add an operator= to assign to smallstring.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59715 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-20 07:09:17 +00:00
Zhongxing Xu
69e3bd10ec
move partial template specialization to FoldingSet.h.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59434 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-17 02:40:00 +00:00
Zhongxing Xu
0cf717d6b8
Fix 80-col violation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59394 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:44:41 +00:00
Zhongxing Xu
f5b55475b3
Add partial specialization of FoldingSetTrait for ImmutableList.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59387 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:23:49 +00:00
Zhongxing Xu
2c228834fc
Fix 80-column violation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59385 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:14:33 +00:00
Zhongxing Xu
2ef5d4cd6a
Add Profile method to ImmutableList.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59362 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 09:26:02 +00:00
Duncan Sands
c04b6917c1
Work around PR1000.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58984 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 10:05:09 +00:00
Chris Lattner
886645a3c3
split out the functionality of utohexstr into a new utohex_buffer
...
helper. This allows us to convert numbers to hex without necessarily
needing to make a std::string to hold the result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58961 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 04:22:46 +00:00
Dan Gohman
20cd13f54f
Overload AddInteger on int/long/long long instead of on int/int64_t,
...
to avoid overload ambiguities. This fixes build errors introduced
by r58623.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58632 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-03 19:40:18 +00:00
Nick Lewycky
b90c37f64c
Typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58594 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-03 03:50:40 +00:00
Daniel Dunbar
9a40d3361a
Return bool (inserted) from StringSet::insert as for StringMap::insert.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58268 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27 20:50:02 +00:00
David Greene
13e781ebe7
Add STL-style typedefs and default constructors to make it possible to
...
use DenseMap in more contexts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58256 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27 18:15:15 +00:00
Ted Kremenek
30f100e140
Fix incorrect testing for the end of the both strings in CStrInCStrNoCase. This could cause a read-out-of-bounds error if s2 is smaller than s1.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58009 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 23:16:52 +00:00
Ted Kremenek
e06e91122f
constify some methods and variables in ImmutableList.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57894 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-21 05:59:33 +00:00
Dan Gohman
254a886057
Implement a SmallVector insert method that can insert multiple
...
copies of a value, and add several additional utilities to make
SmallVector better conform to the Container concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57616 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-16 00:15:24 +00:00
Dan Gohman
3d4227bec5
Fix several places that called mapped_iterator's constructor without
...
passing in a function object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57615 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-16 00:12:39 +00:00
Daniel Dunbar
c9debfbf06
Add llvm::hexdigit to StringExtras (number -> hexadecimal char)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57536 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 23:26:20 +00:00
Chris Lattner
75d53d6bd0
this was to be removed after 2.4 branched.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57422 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-12 18:57:09 +00:00
Chris Lattner
71f95b8531
random cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57383 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-11 22:06:50 +00:00
Dale Johannesen
23a98551ab
Add a "loses information" return value to APFloat::convert
...
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57329 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-09 23:00:39 +00:00
Dale Johannesen
7111b02c73
Rename APFloat::convertToAPInt to bitcastToAPInt to
...
make it clearer what the function does. No functional
change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57325 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-09 18:53:47 +00:00
Rafael Espindola
73c3a94df9
Add bound checks in SmallVector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56432 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 10:06:26 +00:00
Oscar Fuentes
3d01fc7de8
Initial support for the CMake build system.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56419 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 01:08:49 +00:00
Ted Kremenek
ed871805f7
Added static methods to APSInt: getMinValue and getMaxValue.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56355 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-19 18:01:14 +00:00
Daniel Dunbar
7b75fbf224
Add DenseMap::lookup:
...
/// lookup - Return the entry for the specified key, or a default
/// constructed value if no such entry exists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55523 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 00:48:44 +00:00
Chris Lattner
944fac71e0
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
2008-08-23 22:23:09 +00:00
Dan Gohman
535de1a8c1
Add a clear() method to FoldingSet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-23 00:42:16 +00:00
Dan Gohman
55beb6ded8
Add an empty() member to FoldingSet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55182 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-22 16:14:23 +00:00
Dan Gohman
1501cdbf63
Fix SmallVector's size calculation so that a size of 0 is
...
handled correctly, and change a few SmallVector uses to use
size 0 to more clearly reflect their intent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55181 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-22 16:07:55 +00:00
Chris Lattner
2dba6a1bdb
consolidate DenseMapInfo implementations, and add one for std::pair.
...
Patch contributed by m-s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55167 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-22 05:08:25 +00:00
Chris Lattner
55767f69c5
remove redundant include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55116 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 06:41:07 +00:00
Chris Lattner
aac0513ed0
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
2008-08-21 06:25:28 +00:00
Nick Lewycky
cbd56db62b
Fix build on GCC 4.3.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 05:36:03 +00:00
Chris Lattner
98f8ccfad0
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
2008-08-20 17:02:31 +00:00
Chris Lattner
fad86b003a
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
2008-08-17 07:19:36 +00:00
Chris Lattner
9f17eb0b79
remove a dead APInt ctor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54869 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 04:58:58 +00:00
Owen Anderson
0c5a560b03
Add a value_type typedef to SmallVector, to make it more compatible with STL adapters.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54819 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-15 18:45:51 +00:00
Ted Kremenek
183cc32e49
Removed redundant ctor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54789 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-14 21:17:07 +00:00
Daniel Dunbar
7fb842420a
Add default constructor to APSInt
...
- Creates uninitialized APInt.
- Prevents need for embedding arbitrary constants when used as an out
parameter, for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54757 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-13 20:53:17 +00:00
Bill Wendling
eb4ab60bed
Removed unused parameters.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54262 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-01 05:50:13 +00:00