Chris Lattner
7235928b45
Various bugfixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33848 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 00:12:12 +00:00
Chris Lattner
337cde0d5a
Convert SetVector to be a true adapter class and add SmallSetVector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33846 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-03 23:56:03 +00:00
Chris Lattner
5a5f6b6e38
8 buckets is way too small to start out with. This was only for testing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33835 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-03 19:30:48 +00:00
Chris Lattner
32dc7fd0aa
remove a dead header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33820 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-03 03:02:10 +00:00
Chris Lattner
137d4b2533
silence annoying warning in release-asserts build
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33797 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-02 21:19:18 +00:00
Chris Lattner
70a76a633e
add find/erase, add const iterators, fix bugs in iterators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33791 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-02 20:34:32 +00:00
Chris Lattner
f6390f48e6
add iterators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33790 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-02 19:27:13 +00:00
Chris Lattner
6e94c00ab2
Add a new dense hash table implementation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33751 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 07:49:59 +00:00
Chris Lattner
94c002a190
rename DenseMap to IndexedMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33749 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 05:32:05 +00:00
Chris Lattner
e3f71b4198
rename DenseMap -> IndexedMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33748 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 05:28:10 +00:00
Chris Lattner
af3e4d4bee
add missing ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33714 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-31 20:08:34 +00:00
Chris Lattner
ea830ef21f
provide a definition for uintptr_t
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33592 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 23:52:33 +00:00
Chris Lattner
b358f0254d
Make SmallSet<whatever*, N> faster by transparently implementing it with
...
SmallPtrSet. Some clients will need to use SmallPtrSet directly though if
they need to iterate over the set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33584 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 08:20:15 +00:00
Chris Lattner
894d264f3e
add some missing API
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33583 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 08:19:03 +00:00
Chris Lattner
a5b4760cbd
Give SmallSet a reasonable fallback if it gets large: use an std::set.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33582 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 08:14:53 +00:00
Chris Lattner
0b930852cf
implement SmallPtrSet::erase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33581 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 07:59:10 +00:00
Chris Lattner
af3056c97e
Fix a limitation of SmallPtrSet. Before it would assert if the smallsize
...
was not a power of two. Now it rounds up to the next power of two internally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33580 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 07:52:27 +00:00
Chris Lattner
18b69106b7
add some comments on the algorithm
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33579 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 07:24:51 +00:00
Chris Lattner
c95dc987e9
Add a new SmallSet ADT specialized for pointers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33577 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 07:10:46 +00:00
Chris Lattner
bcabbfc310
simplify insert interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33567 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 02:13:58 +00:00
Chris Lattner
32f3bd43db
clean up comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33566 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 01:14:20 +00:00
Chris Lattner
ea516cce65
fit in 80 cols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33553 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 21:48:40 +00:00
Chris Lattner
c970812283
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33459 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 04:59:58 +00:00
Chris Lattner
182907645c
make the SmallSet interface more std::set-like
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33458 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 01:16:19 +00:00
Chris Lattner
89502f0869
add a trivial SmallSet class, which operates on a similar principle to
...
SmallVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33456 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 00:59:15 +00:00
Reid Spencer
cf48cab945
For PR1094:
...
Make the SetVector::iterator be the vector's const_iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33279 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 02:22:18 +00:00
Chris Lattner
0a3615246f
eliminate constructor from Statistic class. It is now impossible to get a
...
static constructor for them :). Transition complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32710 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-19 23:17:40 +00:00
John Criswell
3d3a429acb
Added operator methods to the Statistic class; some LLVM projects depend
...
on these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32701 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-19 22:55:57 +00:00
Chris Lattner
ecb2768758
Refactor statistic a big and introduce a horrible-but-necessary macro
...
(STATISTIC), which allows us to define statistics that don't introduce
static ctors into the .o files. I'm migrating code over to use this
incrementally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32687 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-19 21:27:47 +00:00
Bill Wendling
fc04e5ead3
Removed llvm_ostream and used std::ostream instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32658 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-18 21:59:00 +00:00
Bill Wendling
5c7e326585
Added an automatic cast to "std::ostream*" etc. from OStream. We then can
...
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-17 05:15:13 +00:00
Chris Lattner
975f05852d
Change the implementation of statistic to not need destructors at all.
...
Instead, the stat info is printed when llvm_shutdown() is called.
These also don't need static ctors, but getting rid of them is uglier:
still investigating. This reduces the number of static dtors in llvm from
~1400 to ~750.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32372 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 20:00:42 +00:00
Bill Wendling
e81561909d
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
...
now cerr, cout, and NullStream resp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 01:30:32 +00:00
Chris Lattner
cf84504d7a
merge the Statistic and StatisticBase classes, eliminating virtual methods
...
and eliminating #includes from the Statistic.h file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32282 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 18:20:44 +00:00
Chris Lattner
ac0b6ae358
Detemplatize the Statistic class. The only type it is instantiated with
...
is 'unsigned'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32279 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 17:46:33 +00:00
Bill Wendling
d96662360f
Support for llvm_ostreams.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31988 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-28 23:31:42 +00:00
Chris Lattner
d5b58c239e
Add a helper function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31981 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-28 22:32:35 +00:00
Bill Wendling
b5ebf15b2b
Added a temporary hack to get the llvm-streams to work for future checkins.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31978 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-28 22:21:29 +00:00
Jeff Cohen
d41b30def3
Unbreak VC++ build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-05 19:31:28 +00:00
Jim Laskey
1f67a99260
Allow FoldingSet clients to pump up the initial hash size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31377 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 14:21:26 +00:00
Chris Lattner
09b6ac92d8
add a new form of insert.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31290 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-30 05:07:51 +00:00
Chris Lattner
dd94c8d6b2
Add SmallString a (currently) minimal class that adapts SmallVector to be
...
more string-like.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31289 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-30 03:39:20 +00:00
Chris Lattner
6c1645ce7d
add a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31288 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-30 03:14:15 +00:00
Chris Lattner
463c4a1ae9
add newline at end of file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31287 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-29 23:47:01 +00:00
Chris Lattner
23d7b36117
add a highly efficient hash table that is specialized for mapping C strings
...
to some other type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31286 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-29 23:42:03 +00:00
Jim Laskey
2f6d4c9766
Clean up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31238 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 22:52:02 +00:00
Jim Laskey
18529f3515
Apply editorials.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31218 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 18:05:12 +00:00
Jim Laskey
0e5af195f6
Breakout folding hash set from SelectionDAGCSEMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31215 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 16:16:16 +00:00
Andrew Lenharth
f2bdcb3187
Fix build error in gcc 3.4 and make more this general
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30839 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09 19:05:44 +00:00
Chris Lattner
53b06db6c7
Fix PR897
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30820 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-08 22:28:34 +00:00
Chris Lattner
0750bec272
add a simple reserve method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30011 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 06:08:16 +00:00
Chris Lattner
52c917190a
Instantiate Statistic<> in one place, not in every .o file that uses it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29971 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-30 04:17:00 +00:00
Chris Lattner
181c359c9d
Add 2nd form of resize
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29945 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-28 21:52:08 +00:00
Chris Lattner
57b79795b3
add resize, move swap out of line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29823 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 17:28:57 +00:00
Chris Lattner
d6007d6076
add a bunch more operations, including swap, insert, erase, front(), and
...
bugfixes for operator=.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29811 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 06:27:16 +00:00
Chris Lattner
67b7ff9ede
silence a warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29734 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 22:09:24 +00:00
Chris Lattner
2e6baf626d
Bugfixes for smallvector when the element size is small and N is small.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29720 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 01:23:31 +00:00
Chris Lattner
b5677f933f
avoid a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29674 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 21:47:50 +00:00
Chris Lattner
1653366010
move code out of line so that GCC doesn't inline it at -O3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:40:23 +00:00
Chris Lattner
80b6582314
Split SmallVector into SmallVector and SmallVectorImpl, which allows us to
...
eliminate code duplication due to the 'N' parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29634 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:19:51 +00:00
Chris Lattner
8e10f5b811
capacity is a pointer, not a value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29564 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 01:54:17 +00:00
Chris Lattner
1c567b5d92
add a new assign method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29562 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 01:44:16 +00:00
Chris Lattner
8de353df9d
Add ctor that initializes from a range.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29560 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 00:37:50 +00:00
Chris Lattner
d0337c1678
Remove assertions from the SmallVector class. They slow down clients of
...
smallvector too much in a release build. Removing them speeds up isel 4%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29556 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:41:59 +00:00
Chris Lattner
f5e42bfed1
Add a clear method to SmallVector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29542 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 05:45:34 +00:00
Chris Lattner
cfb3ba060a
Silence a warning on x86-64, reported by chandlerc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29535 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-06 18:12:50 +00:00
Evan Cheng
e6ffe61c84
This causes some random crashes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29534 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-05 17:31:00 +00:00
Chris Lattner
d91e5f911f
The smallvector dtor should destroy the elements.
...
Implement pop_back.
Chage some code to use 'iterator' instead of T*. This unbreaks operators=.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29380 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 05:03:42 +00:00
Chris Lattner
825405c0c1
Use std::copy instead of custom loops to take advantage of STL optimizations.
...
Add a new append method for appending a range.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29323 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 03:38:08 +00:00
Chris Lattner
f282654021
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29281 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 06:22:30 +00:00
Chris Lattner
1e36126f5e
Add two helper functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29150 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 22:54:06 +00:00
Chris Lattner
70aa33ee37
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28898 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 16:53:47 +00:00
Reid Spencer
79818a40d7
Favor C++ casts over C casts in C++ code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28622 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 07:03:53 +00:00
Chris Lattner
6fb568f77e
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28601 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31 21:25:50 +00:00
Andrew Lenharth
37e8bde141
Fix build breakage on alpha, without causing it on x86. as a bonus, all platforms can invent the same number of unique names now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28596 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31 20:18:28 +00:00
Andrew Lenharth
f48ec61fbd
revert for now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28595 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31 19:16:26 +00:00
Andrew Lenharth
cffba3a6e9
make 64-bit safe and fix the build on alpha
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28593 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31 18:56:42 +00:00
Reid Spencer
19b7e0e0ca
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28453 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 19:21:13 +00:00
Chris Lattner
410354fe0c
Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean.
...
Patch by Martin Partel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26313 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-22 16:23:43 +00:00
Chris Lattner
8211e82e40
add some methods for case-insensitive string compares
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25659 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 20:36:29 +00:00
Jim Laskey
3e0be526bf
Use find instead of lower_bounds.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25657 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 20:30:51 +00:00
Jim Laskey
e4a359e43b
Add support to find existing entries.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25654 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 20:09:35 +00:00
Chris Lattner
1dc3fd1110
This only needs <iosfwd> not <iostream>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25517 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-22 23:43:45 +00:00
Evan Cheng
7715fba9b1
Suppress "no newline at end of file" warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25400 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 19:21:01 +00:00
Jim Laskey
e3150024b4
Reduce memory consumption and force (somewhat) access to entries via ID.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25393 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 16:29:58 +00:00
Jim Laskey
67218e9f27
Redundant inline keyword.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25377 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 23:44:03 +00:00
Jim Laskey
54c3319022
UniqueVector template provides a means of enumerating objects uniquely.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25376 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 23:29:43 +00:00
Chris Lattner
8b6cea1b95
Remove a now-dead map, patch by Saem Ghani, thanks!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24629 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-07 05:41:44 +00:00
Chris Lattner
767a033a5c
Implement external storage for post-order iteration, implementing PR267
...
Patch by Saem Ghani, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24617 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-06 07:05:27 +00:00
Jeff Cohen
61b42eb928
Fix comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24004 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 15:02:21 +00:00
Jeff Cohen
8030c25882
Eliminate use of sed in Visual Studio builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24003 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 14:48:53 +00:00
Misha Brukman
9e7a601eaf
Wrap long lines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23009 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24 14:03:07 +00:00
Reid Spencer
ca09bd0732
Remove some tabs.
...
Wrap a line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23008 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24 10:57:30 +00:00
Chris Lattner
ef35ba4f64
add a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22985 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-23 21:45:31 +00:00
Nate Begeman
cb647519d3
Add some operators the PowerPC backend needs to efficiently and correctly
...
generate conditional branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22214 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-15 18:28:44 +00:00
Misha Brukman
e25bc8c957
Convert tabs to spaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21703 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-05 22:30:40 +00:00
Misha Brukman
3b1b6e626e
Convert tabs to spaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21436 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 03:27:20 +00:00
Misha Brukman
9769ab2226
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 20:19:05 +00:00
Chris Lattner
24a751eccd
Provide a guaranteed definition of intptr_t. Thansk to Evan Jones for
...
pointing this out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20721 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-21 01:36:35 +00:00
Misha Brukman
37884fc79e
Constant-propagate the value of `isL' variable and eliminate it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20698 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-19 23:39:50 +00:00
Jeff Cohen
2413a68d2d
Silence VC++ warning about mixing intptr_t and bool, and about unused variable isL.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20697 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-19 22:36:39 +00:00
Chris Lattner
1f377fefb7
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20692 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-19 21:02:12 +00:00
Chris Lattner
6782397046
add some methods, fix a major bug in getLeader() that was causing things to
...
not be unified correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20691 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-19 20:42:43 +00:00
Chris Lattner
4a6d9cf122
implement a proper copy ctor, operator= and add a helper method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20690 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-19 19:26:14 +00:00
Chris Lattner
72af57f26c
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20677 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-19 05:14:29 +00:00
Chris Lattner
986d99a6f8
remove compat_iterator, which is dead in the tree.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20644 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-16 22:42:45 +00:00
Jeff Cohen
4d1b4458fe
Don't provide default hash struct instantiation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20639 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-16 05:49:06 +00:00
Jeff Cohen
1467e7ae92
Add adapter class to let VC++ hash_map use GCC's hash struct.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20637 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-16 05:25:09 +00:00
Chris Lattner
6c2997f5b9
remove some more dead templates and a dead macro.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20279 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 23:36:37 +00:00
Chris Lattner
127a8a7764
Remove a bunch of dead templates.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20275 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 23:19:42 +00:00
Chris Lattner
bca81448ac
Improve conformance with the Misha spelling benchmark suite
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-30 00:09:23 +00:00
Chris Lattner
ed4d467c69
Rename createNode -> createSentinal.
...
Add a new method, destroySentinal, that is used to delete it (instead of
requiring use of delete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19921 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29 18:40:19 +00:00
Reid Spencer
be4922a28a
Convert some old C-style casts to C++ style.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19868 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-28 07:22:20 +00:00
Reid Spencer
8085cff7eb
Provide support for HP/UX aCC compiler's variant of hash_map and hash_set
...
(RogueWave). These are implemented in rw/stdex/hash_map.h and
rw/stdex/hash_set.h on HP/UX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19600 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 02:58:39 +00:00
Chris Lattner
67cb2f6eb5
Do not let 'ftostr' return a string that starts with spaces. This allows
...
the AsmWriter to emit FP constants like 1.0 in normal exponential notation
instead of hex notation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19279 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-04 01:56:28 +00:00
Chris Lattner
d828e340a8
Define the pointer hash struct before the string one, to improve compatibility
...
with ICC. Patch contributed by Bjørn Wennberg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18663 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08 20:59:18 +00:00
Chris Lattner
7fc3824835
ignore generated files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18073 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-21 00:01:54 +00:00
Chris Lattner
fbb719c7f0
Use explicit std:: qualification to avoid relying on Koenig lookup, which
...
VC++ does not do properly. Thanks to Morten Ofstad for the patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16955 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 15:11:23 +00:00
Chris Lattner
c87b1db927
Get rid of template templates that were preventing VC from compiling the
...
set_intersect template. Thanks to Morten Ofstad and Jeff Cohen for the
patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16954 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 15:09:21 +00:00
Chris Lattner
c441f1e1c7
Fix #include flavor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16658 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 18:10:18 +00:00
Alkis Evlogimenos
30eed211c9
Remove whitespace from the end of the line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16624 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-30 21:39:47 +00:00
Alkis Evlogimenos
c72c617a4e
Add includes and use std:: for standard library calls to make code
...
compile on windows. This patch was contributed by Paolo Invernizzi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16539 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 14:42:44 +00:00
John Criswell
4046846d2c
Updated the last two header files so that they are configured with
...
AC_CONFIG_HEADERS. This should prevent LLVM from needlessly re-compiling
on a re-configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16510 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24 21:19:06 +00:00
John Criswell
9f011866e9
Modified hash_map and hash_set configuration so that they are not
...
regenerated on every run of configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16509 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24 18:28:00 +00:00
Reid Spencer
70e2d38361
Fix the replace method to assert if an item was erased from the set but not
...
found in the vector. Previously, it just ignored this condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16296 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 20:38:25 +00:00
Reid Spencer
0bdc620c16
Implement the remove method for deleting entries from the SetVector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16283 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 04:25:58 +00:00
Chris Lattner
8018a665b2
Add missing #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16256 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-09 02:37:56 +00:00
Alkis Evlogimenos
df8d5e908f
Pull in definition of std::unary_function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16140 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 03:24:45 +00:00
Reid Spencer
551ccae044
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Alkis Evlogimenos
fc093bd081
Add size member function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16067 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 03:58:31 +00:00
Alkis Evlogimenos
5501e568b3
Add default index functor (an identity functor). You could use a
...
vector directly to get the same functionality but using a DenseMap
makes the code more readable IMO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16052 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 03:37:28 +00:00
Misha Brukman
8831db745b
Instead of int64_t, overload itostr with `long long' parameter.
...
This appeases both SparcV9 and 64-bit PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15910 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 22:56:12 +00:00
Misha Brukman
b5e1decefb
Add itostr(long) for our furry 64-bit friends.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15885 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 18:08:52 +00:00
Brian Gaeke
3638e9918c
Fix typo in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15318 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 04:22:30 +00:00
Chris Lattner
f90fcaf572
Add back() and pop_back() methods to SetVector
...
Move clear to the end of the class
Add assertions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15203 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 11:07:02 +00:00
Alkis Evlogimenos
7b32639362
Add greater_ptr functor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15070 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21 08:38:06 +00:00
Misha Brukman
c5f9d8c630
Use C++-style <cstdio> instead of C-style <stdio.h>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15042 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-20 16:14:06 +00:00
Misha Brukman
913e1b4bdd
Dump the old-fashioned C-style <ctype.h> in favor of new `C++'-style <cctype>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15025 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-20 02:18:25 +00:00
Misha Brukman
497b52f381
isupper() and tolower() are declared in <ctype.h>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15016 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-20 00:52:16 +00:00
Chris Lattner
5e87754250
Give SetVector range support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14855 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-15 08:18:31 +00:00
Chris Lattner
85e4eb6dc0
Fix warning compiling with VC++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14772 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-12 20:25:04 +00:00
Reid Spencer
800473c8df
Get rid of some cruft in the insert method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14704 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-08 21:50:33 +00:00
Reid Spencer
4bb2867bc1
First version of a vector with uniqueness constraints (or a set with
...
deterministic, insertion-order iteration).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14702 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-08 19:36:21 +00:00
Alkis Evlogimenos
3b94a5142c
Add more operators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14589 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 01:30:54 +00:00
Chris Lattner
990a6a39c0
Unbreak the build. tsk tsk
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14390 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 00:18:02 +00:00
Misha Brukman
64aed54684
Add a LowercaseString() utility function, courtesy of brg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-24 23:38:52 +00:00
Chris Lattner
63d64a80bc
GCC doesn't like prefix form of cast with two identifiers I guess.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14021 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:21:53 +00:00
Chris Lattner
c285da73a4
Silence a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14019 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:10:17 +00:00
Chris Lattner
2908ca78b0
Add explicit casts to silence warnings. There is no need to use snprintf here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14013 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 19:10:30 +00:00
Chris Lattner
6bf7ca5f6f
Only use the non-standards-compliant std::distance on the compiler that is
...
buggy, not for all compilers that are not GCC 3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13990 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 18:48:59 +00:00
Alkis Evlogimenos
1da7e8e0b3
Add comparator useful for natural comparisons on collections with
...
pointers to objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13909 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 07:45:09 +00:00
Vikram S. Adve
6ffd14dd54
Remember the set of leaders. Also compute on demand and cache the equiv
...
class for each leader. Finally, rename Elem2ECLeaderMap to Elem2LeaderMap
(most of the changed lines are only due to the latter).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13651 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:05:14 +00:00
Alkis Evlogimenos
afa9235f07
Declare iterator as public since it is defined as such (gcc-3.4 fix)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13090 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-21 16:10:40 +00:00
Brian Gaeke
f9a5f780bf
Switch to including <iostream> for compatibility with gcc-3.0.x (Debian).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12990 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-16 16:28:33 +00:00
Chris Lattner
7c78afefe9
Fix a bug in the densemap that was killing the local allocator, and probably
...
other clients. The problem is that the nullVal member was left to the default
constructor to initialize, which for int's does nothing (ie, leaves it unspecified).
To get a zero value, we must use T(). It's C++ wonderful? :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11867 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 05:00:15 +00:00
Chris Lattner
00fa65be83
Fix typeo. grow() cannot shrink storage. clear() should really nuke storage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 04:07:12 +00:00
Alkis Evlogimenos
4d0d864be3
Add DenseMap template and actually use it for for mapping virtual regs
...
to objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11840 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 21:55:45 +00:00
Chris Lattner
c50879dfe6
Noone cares about similarity to boost
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:47:25 +00:00
Brian Gaeke
cbc20b451d
Renamed to hash_set.in; move to using autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11765 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:36 +00:00
Brian Gaeke
6cd52446fa
Renamed to hash_map.in; move to using autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:35 +00:00
Brian Gaeke
c134395628
Renamed from include/Support/iterator. Doxygenify comments; add autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:10 +00:00
Alkis Evlogimenos
bc79471be1
Add next() and prior() iterator utility functions. Unlike std::advance
...
they do not modify the passed iterator but return a copy.
next(myIt) returns copy of myIt incremented once
next(myIt, n) returns copy of myIt incremented n times
prior(myIt) returns copy of myIt decremented once
prior(myIt, n) returns copy of myIt decremented n times
While at it remove obsolete implementation of mapped_iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11429 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14 01:17:28 +00:00
Brian Gaeke
a0031cc08c
Update the example here in the header file.
...
I don't know about you guys, but I rarely read the .html manuals :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 04:49:04 +00:00
Alkis Evlogimenos
71be6db3ef
Add global methods that prevent us from using ilist::iterators as
...
random access iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11248 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-09 22:40:50 +00:00
Chris Lattner
2cca3008e8
One of the 'annoying' things about ilists is that the iterators don't behave
...
quite the same as for non-intrusive lists of pointers to nodes. To support
transitioning code bases, add a new 'compatibility' iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11172 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08 00:51:31 +00:00
Chris Lattner
d924edb845
add support for -- for symmetry
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-14 23:37:22 +00:00
Chris Lattner
9fc8a3ec2e
add new function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10638 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-29 05:06:38 +00:00
Chris Lattner
d2aa7b8ee7
Hrm, how could this compile?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10263 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 19:55:02 +00:00
Brian Gaeke
9bb2188b0e
A better way to get std::pair into the compiler's little, walnut-sized brain.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10174 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-23 03:50:31 +00:00
Brian Gaeke
6de98f242a
This is a hack to make this file compile under g++-3.0.x;
...
otherwise it can't decide what std::pair is. It seemed relatively
harmless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-23 00:55:27 +00:00
Chris Lattner
825b02d5ee
Fix copy-and-pasteo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10049 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17 01:07:58 +00:00
Chris Lattner
8b70b78ba4
Fixes for PR114: Thanks to Reid Spencer!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10029 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 20:21:15 +00:00
Chris Lattner
a3f5f80f2b
Remove needless dependence on boost
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9961 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13 04:11:30 +00:00
Chris Lattner
de0579d946
Add namespace qualifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9959 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13 02:30:22 +00:00
Chris Lattner
2d3e1ee93c
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9958 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13 02:01:41 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
Alkis Evlogimenos
e292da29bf
Add std::pair tier. This is a much simplified version of boost::tie
...
that works only for std::pair.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9723 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 05:58:26 +00:00
Brian Gaeke
0b64ca3cbd
Apparently my Mac OS X fixes were not entirely compatible with SPARC...hmm.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9612 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30 15:03:49 +00:00
Brian Gaeke
78e1dcc321
Add support for utostr(unsigned long)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9588 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29 20:06:19 +00:00
Chris Lattner
60f1445cf2
This #include is no longer necessary
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9306 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:29:44 +00:00
John Criswell
b2109ce978
Added LLVM notice.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 19:46:57 +00:00
Chris Lattner
803f03e217
This file uses assert and doesn't include anything which already #includes <cassert>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9142 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-15 21:55:37 +00:00
Chris Lattner
1e79609e30
Add missing default argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9092 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-13 16:44:30 +00:00
Chris Lattner
9061e992d5
add support for "external" depth first iterators, which store the 'visited' set
...
outside of the iterator itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9090 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-13 16:34:26 +00:00
Chris Lattner
4846f4b87a
Extricate the "reverse" support from the depth-first iterator. This is really
...
a crappy form of post-order traversal which really does not belong here. While
we are at it, improve documentation and use a vector instead of a stack.
This improves the post dominator analysis pass by ~5%, and probably also helps
other passes as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9084 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-13 15:45:33 +00:00
Chris Lattner
27db7e0472
Output a very high-precision number
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8856 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 00:41:07 +00:00
Chris Lattner
48486893f4
Standardize header file comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 18:37:50 +00:00
Chris Lattner
55b2eb3ef8
Rename TarjanSCCIterator -> scc_iterator
...
* Increases consistency with other iterators (e.g. df_iterator, po_iterator...)
* It's shorter
* We don't name classes by the implementation, we name it for the interface!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8273 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 20:01:57 +00:00
Chris Lattner
ff8fc07890
ELIMINATE the SCC class completely. One less thing deriving from std::vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:55:31 +00:00
Chris Lattner
94d1092c6a
Move the HasLoop method from the SCC class to the iterator class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:51:22 +00:00
Chris Lattner
b55cae23cb
* Cleanups
...
* operator* now returns a reference to the current SCC, instead of a possibly
null pointer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8261 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:34:27 +00:00
Chris Lattner
22ab2a16e5
Remove usage of unsigned long: unsigned should be enough!
...
Remove explicit use of a stack<>, use a vector instead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8246 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 01:48:21 +00:00
Chris Lattner
ca82e6c3d1
This file uses cerr without including <iostream>. Since it's just for debugging, comment it out
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8245 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 01:45:00 +00:00
Chris Lattner
40c6fb6cac
Fix compilation problems with G++ 3.4
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8212 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 14:22:29 +00:00
Misha Brukman
5560c9d49c
Spell `necessary' correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Misha Brukman
53523e57bf
Reordered includes to be consistent with the LLVM style.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7887 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 17:52:02 +00:00
Chris Lattner
2dd93edfc2
Move debugging support out of Statistic.h into Debug.h, implement the new DEBUG_TYPE facilities
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7490 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:12:40 +00:00
Chris Lattner
aeac00ed53
Including statistics into an anonymous namespace that gets #included into
...
every file is a bad idea.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7489 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:12:07 +00:00
Chris Lattner
02a31a5af6
Fix another accessibility problem illuminated by GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7314 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:49:28 +00:00
Chris Lattner
d091d85c15
Fix visibility problem exposed by GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7313 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:46:25 +00:00
Chris Lattner
32862da7c7
Fix accessibility problems GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7306 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:23:13 +00:00
John Criswell
7a73b80b90
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
Chris Lattner
680a7c2d1a
Get rid of WORDSIZE macro which can pollute untold numbers of translation units
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6843 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:09:10 +00:00
Chris Lattner
3889a2cb05
Remove a ton of extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:08:05 +00:00
Brian Gaeke
a9f6e4ae0e
Regularize the names of #include-guards.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 00:35:55 +00:00
John Criswell
be583b914d
Included assert.h so that the code compiles under newer versions of GCC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:01:36 +00:00
Sumant Kowshik
a3e5764984
Made changes suggested by Chris; Renamed 'union' function to unionSetsWith
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6605 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 08:00:05 +00:00
Sumant Kowshik
87a991eea3
Implementation of Equivalence Classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:44:25 +00:00
Chris Lattner
011ce8d2e4
Allow autoconversion from ilist_iterator<T> to T* in a dyn_cast and friends
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5862 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:17:53 +00:00
Chris Lattner
6f2ec7f59d
Update comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5752 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-21 21:40:39 +00:00
Chris Lattner
8fb1fe16b7
Fix problems with BitSetVector that makes it not compile under GCC 3.0 and 2.95
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-17 18:11:27 +00:00
Chris Lattner
fd373cb944
Initial checking: defult the make_vector function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-28 20:01:16 +00:00
Vikram S. Adve
1818275956
Bug fix in operator==() and in method fini().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4945 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 15:02:22 +00:00
Vikram S. Adve
0e2cf7606d
Several fixes:
...
(1) Applied patch from Casey to implement iterator::operator= correctly:
it should use a pointer, not a reference.
(2) Added operators == and !=, and method all().
(3) Important bug fix: excess bits need to be ignored in operations
like ==, count(), and all(). We do this by ensuring excess bits
in the last bitset are always 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4837 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-27 17:46:38 +00:00
Chris Lattner
d8a947e233
Fix warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4708 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-15 18:04:16 +00:00
Chris Lattner
169f8b838b
Add tarj_end() method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4684 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 23:46:31 +00:00
Chris Lattner
45a9116e0a
Make maxSize a private variable, add a size() accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4573 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 18:34:40 +00:00
Vikram S. Adve
5f76054a79
An implementation of the bit-vector representation of sets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4568 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 17:14:14 +00:00
Vikram S. Adve
5fe9171b38
Generic graph iterator to enumerate the SCCs of a graph
...
in linear time using Tarjan's DFS algorithm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4531 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 14:15:57 +00:00
Chris Lattner
4932b31dce
Statistic class should return const reference to *this, not a reference to
...
the data type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4458 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-31 02:50:27 +00:00
Chris Lattner
4a63b72df9
Don't #include <Support/*>, #include "Support/*"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4325 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 02:11:53 +00:00
Chris Lattner
df6f5835e9
Add neccesary #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4294 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:16:27 +00:00
Chris Lattner
d063725c3c
disable the unused "pointer" member
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:30:44 +00:00
Chris Lattner
b38e4fd8b0
Add dummy entries to document what members can be added
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4141 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 17:12:05 +00:00
Chris Lattner
96ef1b90c8
- Rework Statistics:
...
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
* Broke constructor to take two const char * arguments instead of one, so
that indendation can be taken care of automatically.
* Sort the list by pass name when printing
* Make sure to print all statistics as a group, instead of randomly when
the statistics dtors are called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3999 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 22:35:45 +00:00
Vikram S. Adve
33adbcc87d
Add ilist_iterator constructor from a node reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3756 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:46:17 +00:00
Chris Lattner
de32fedb8c
GCC 3.1 changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3076 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:00:43 +00:00
Chris Lattner
8dc67168cc
GCC 3.1 fixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:20:00 +00:00
Chris Lattner
7f4dd472e3
Changes to build with GCC 3.1
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3064 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:08:36 +00:00
Chris Lattner
0d219edad2
Use the new include/Support/iterator file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3062 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:07:42 +00:00
Chris Lattner
417d31c202
Move hash_* extension headers from ext/ to Support/ so that we can support
...
GCC 2.95, GCC 3.0.4 and GCC 3.1 all concurrently, without having to delete
headers after a chackou.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3055 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:16:42 +00:00
Chris Lattner
a1cb4737b0
Changes to make it GCC 3.1 compatible
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3052 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:44:01 +00:00
Anand Shukla
4a9f933751
changes to make it compatible with 64bit gcc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2786 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 20:22:25 +00:00
Chris Lattner
7e70829632
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:24 +00:00
Chris Lattner
4435ac0097
Implement a new command line option, -debug, which is meant to unify all of
...
the random debugging macros scattered throughout llvm.
The new DEBUG(x) macro should be used instead of special purpose debug macros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2709 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 17:06:20 +00:00
Chris Lattner
fa10fdf5eb
Initial checkin of Statistic class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2599 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 15:36:56 +00:00
Chris Lattner
876509614b
Remove obsolete namespace from example
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2368 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:18:32 +00:00
Chris Lattner
35c15b4bfe
Add new function utohexstr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2140 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 08:36:19 +00:00
Chris Lattner
04bb837cc0
Genericize the ReversePostOrderIterator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1785 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-24 21:48:59 +00:00
Chris Lattner
edcea4ba4a
New Support file for operations on set like objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1714 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-05 03:35:10 +00:00
Chris Lattner
7612c90351
PostOrderIterator really does depend on Method and BasicBlock. Obviously this
...
is a huge fixme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1682 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 16:29:55 +00:00
Chris Lattner
697954c15d
Changes to build successfully with GCC 3.02
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
cee8f9ae67
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00