Chris Lattner
870808beda
move code out of line so that GCC doesn't inline it at -O3
...
llvm-svn: 29636
2006-08-11 23:40:23 +00:00
Chris Lattner
6c9bcb32a3
Split SmallVector into SmallVector and SmallVectorImpl, which allows us to
...
eliminate code duplication due to the 'N' parameter.
llvm-svn: 29634
2006-08-11 23:19:51 +00:00
Chris Lattner
5f8473bc02
capacity is a pointer, not a value
...
llvm-svn: 29564
2006-08-08 01:54:17 +00:00
Chris Lattner
03c7b425a2
add a new assign method
...
llvm-svn: 29562
2006-08-08 01:44:16 +00:00
Chris Lattner
3bb43d2173
Add ctor that initializes from a range.
...
llvm-svn: 29560
2006-08-08 00:37:50 +00:00
Chris Lattner
3e1a9b0188
Remove assertions from the SmallVector class. They slow down clients of
...
smallvector too much in a release build. Removing them speeds up isel 4%.
llvm-svn: 29556
2006-08-07 23:41:59 +00:00
Chris Lattner
a4af471488
Add a clear method to SmallVector
...
llvm-svn: 29542
2006-08-07 05:45:34 +00:00
Chris Lattner
3bf9d47cf1
Silence a warning on x86-64, reported by chandlerc.
...
llvm-svn: 29535
2006-08-06 18:12:50 +00:00
Evan Cheng
627a71290f
This causes some random crashes.
...
llvm-svn: 29534
2006-08-05 17:31:00 +00:00
Chris Lattner
b0bf058d33
The smallvector dtor should destroy the elements.
...
Implement pop_back.
Chage some code to use 'iterator' instead of T*. This unbreaks operators=.
llvm-svn: 29380
2006-07-28 05:03:42 +00:00
Chris Lattner
f2d0e0296a
Use std::copy instead of custom loops to take advantage of STL optimizations.
...
Add a new append method for appending a range.
llvm-svn: 29323
2006-07-27 03:38:08 +00:00
Chris Lattner
d4d69f64dd
Add a new llvm::SmallVector template, which is similar to the vector class, but
...
contains optimizations to avoid heap allocation if the vector size is smaller
than some threshold. This can significantly improve the performance of code
that allocates many small vectors by eliminating tons of small malloc/free's.
llvm-svn: 29281
2006-07-26 06:22:30 +00:00
Chris Lattner
6548505f71
Add two helper functions
...
llvm-svn: 29150
2006-07-14 22:54:06 +00:00
Chris Lattner
a396e6d9ba
Add some out-of-line virtual dtors so that the class has a "home", preventing
...
vtables for (e.g.) Instruction from being emitted into every .o file.
llvm-svn: 28898
2006-06-21 16:53:47 +00:00
Reid Spencer
bbc22e1a8a
Favor C++ casts over C casts in C++ code.
...
llvm-svn: 28622
2006-06-01 07:03:53 +00:00
Chris Lattner
2429ec5fdf
Fix utostr once and for all, by making there only be one function named
...
utostr. To keep the efficiency in the 32-bit case, make it check to see if
the value is 32-bits and if so switch over to the faster 32-bit case.
llvm-svn: 28601
2006-05-31 21:25:50 +00:00
Andrew Lenharth
ed197672a8
Fix build breakage on alpha, without causing it on x86. as a bonus, all platforms can invent the same number of unique names now
...
llvm-svn: 28596
2006-05-31 20:18:28 +00:00
Andrew Lenharth
3338cc0b80
revert for now
...
llvm-svn: 28595
2006-05-31 19:16:26 +00:00
Andrew Lenharth
ec7c3a9662
make 64-bit safe and fix the build on alpha
...
llvm-svn: 28593
2006-05-31 18:56:42 +00:00
Reid Spencer
574d4e6992
For PR786:
...
Minor tweaks in public headers and a few .cpp files so that LLVM can build
successfully with -pedantic and projects using LLVM with -pedantic don't
get warnings from LLVM. There's still more -pedantic warnings to fix.
llvm-svn: 28453
2006-05-24 19:21:13 +00:00
Chris Lattner
ed45ad33b7
Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean.
...
Patch by Martin Partel!
llvm-svn: 26313
2006-02-22 16:23:43 +00:00
Chris Lattner
27ca00bcf7
add some methods for case-insensitive string compares
...
llvm-svn: 25659
2006-01-26 20:36:29 +00:00
Jim Laskey
bf023c019d
Use find instead of lower_bounds.
...
llvm-svn: 25657
2006-01-26 20:30:51 +00:00
Jim Laskey
f6b249fb50
Add support to find existing entries.
...
llvm-svn: 25654
2006-01-26 20:09:35 +00:00
Chris Lattner
b1b6b1d541
This only needs <iosfwd> not <iostream>
...
llvm-svn: 25517
2006-01-22 23:43:45 +00:00
Evan Cheng
a9c4d32e7e
Suppress "no newline at end of file" warnings.
...
llvm-svn: 25400
2006-01-17 19:21:01 +00:00
Jim Laskey
38e4ff875d
Reduce memory consumption and force (somewhat) access to entries via ID.
...
llvm-svn: 25393
2006-01-17 16:29:58 +00:00
Jim Laskey
bf73e50cc5
Redundant inline keyword.
...
llvm-svn: 25377
2006-01-16 23:44:03 +00:00
Jim Laskey
9f2391c897
UniqueVector template provides a means of enumerating objects uniquely.
...
llvm-svn: 25376
2006-01-16 23:29:43 +00:00
Chris Lattner
2fbfb322b1
Remove a now-dead map, patch by Saem Ghani, thanks!
...
llvm-svn: 24629
2005-12-07 05:41:44 +00:00
Chris Lattner
18a2c21fc0
Implement external storage for post-order iteration, implementing PR267
...
Patch by Saem Ghani, thanks!
llvm-svn: 24617
2005-12-06 07:05:27 +00:00
Jeff Cohen
ca14516b15
Fix comment.
...
llvm-svn: 24004
2005-10-26 15:02:21 +00:00
Jeff Cohen
342597c279
Eliminate use of sed in Visual Studio builds.
...
llvm-svn: 24003
2005-10-26 14:48:53 +00:00
Misha Brukman
14a6b6e354
Wrap long lines
...
llvm-svn: 23009
2005-08-24 14:03:07 +00:00
Reid Spencer
124828d796
Remove some tabs.
...
Wrap a line.
llvm-svn: 23008
2005-08-24 10:57:30 +00:00
Chris Lattner
a6da5575c8
add a method
...
llvm-svn: 22985
2005-08-23 21:45:31 +00:00
Nate Begeman
68cd6aa245
Add some operators the PowerPC backend needs to efficiently and correctly
...
generate conditional branches.
llvm-svn: 22214
2005-06-15 18:28:44 +00:00
Misha Brukman
e2e8059814
Convert tabs to spaces
...
llvm-svn: 21703
2005-05-05 22:30:40 +00:00
Misha Brukman
d292737471
Convert tabs to spaces
...
llvm-svn: 21436
2005-04-22 03:27:20 +00:00
Misha Brukman
3f0aa3dbf8
Remove trailing whitespace
...
llvm-svn: 21408
2005-04-21 20:19:05 +00:00
Chris Lattner
5c37c87195
Provide a guaranteed definition of intptr_t. Thansk to Evan Jones for
...
pointing this out!
llvm-svn: 20721
2005-03-21 01:36:35 +00:00
Misha Brukman
c85dd5e38e
Constant-propagate the value of `isL' variable and eliminate it.
...
llvm-svn: 20698
2005-03-19 23:39:50 +00:00
Jeff Cohen
c5c4aa7911
Silence VC++ warning about mixing intptr_t and bool, and about unused variable isL.
...
llvm-svn: 20697
2005-03-19 22:36:39 +00:00
Chris Lattner
19068b431e
Two fixes for the copy ctor/operator=:
...
1. Make sure to clear() 'this' before adding elements to it
2. Make sure that the leaders of the RHS EC are the leaders of the LHS EC.
llvm-svn: 20692
2005-03-19 21:02:12 +00:00
Chris Lattner
d9b3369aa9
add some methods, fix a major bug in getLeader() that was causing things to
...
not be unified correctly.
llvm-svn: 20691
2005-03-19 20:42:43 +00:00
Chris Lattner
e4d74b8d85
implement a proper copy ctor, operator= and add a helper method.
...
llvm-svn: 20690
2005-03-19 19:26:14 +00:00
Chris Lattner
b3103a3768
Rewrite this class, making the following improvements:
...
1. It now actually uses tarjan's algorithm, so it is a efficient inverse
ackerman's function for union operations, not linear time.
2. It now stores one copy of the data in the set instead of two.
3. It now works for elements other than pointers.
4. It now has a more STL-like interface that exposes iterators instead
of internal implementation details.
llvm-svn: 20677
2005-03-19 05:14:29 +00:00
Chris Lattner
e0b373b2c3
remove compat_iterator, which is dead in the tree.
...
llvm-svn: 20644
2005-03-16 22:42:45 +00:00
Jeff Cohen
b169eae709
Don't provide default hash struct instantiation.
...
llvm-svn: 20639
2005-03-16 05:49:06 +00:00
Jeff Cohen
f52b95ac20
Add adapter class to let VC++ hash_map use GCC's hash struct.
...
llvm-svn: 20637
2005-03-16 05:25:09 +00:00