1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Commit Graph

103 Commits

Author SHA1 Message Date
Chris Lattner
87e0f0787e eliminate constructor from Statistic class. It is now impossible to get a
static constructor for them :).   Transition complete.

llvm-svn: 32710
2006-12-19 23:17:40 +00:00
John Criswell
3b18f0e184 Added operator methods to the Statistic class; some LLVM projects depend
on these.

llvm-svn: 32701
2006-12-19 22:55:57 +00:00
Chris Lattner
c18ec8716e 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.

llvm-svn: 32687
2006-12-19 21:27:47 +00:00
Bill Wendling
899c552208 Removed llvm_ostream and used std::ostream instead.
llvm-svn: 32658
2006-12-18 21:59:00 +00:00
Bill Wendling
7f6a73eb5c 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.

llvm-svn: 32636
2006-12-17 05:15:13 +00:00
Chris Lattner
9c52dc6c34 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.

llvm-svn: 32372
2006-12-08 20:00:42 +00:00
Bill Wendling
a3246c4272 Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.

llvm-svn: 32298
2006-12-07 01:30:32 +00:00
Chris Lattner
e626f6de68 merge the Statistic and StatisticBase classes, eliminating virtual methods
and eliminating #includes from the Statistic.h file.

llvm-svn: 32282
2006-12-06 18:20:44 +00:00
Chris Lattner
a531ce882e Detemplatize the Statistic class. The only type it is instantiated with
is 'unsigned'.

llvm-svn: 32279
2006-12-06 17:46:33 +00:00
Bill Wendling
5def3648f4 Support for llvm_ostreams.
llvm-svn: 31988
2006-11-28 23:31:42 +00:00
Chris Lattner
339c732e0b Add a helper function
llvm-svn: 31981
2006-11-28 22:32:35 +00:00
Bill Wendling
4157840bd6 Added a temporary hack to get the llvm-streams to work for future checkins.
llvm-svn: 31978
2006-11-28 22:21:29 +00:00
Jeff Cohen
e1003da1a2 Unbreak VC++ build.
llvm-svn: 31464
2006-11-05 19:31:28 +00:00
Jim Laskey
c770e68c11 Allow FoldingSet clients to pump up the initial hash size.
llvm-svn: 31377
2006-11-02 14:21:26 +00:00
Chris Lattner
5c33fa2a37 add a new form of insert.
llvm-svn: 31290
2006-10-30 05:07:51 +00:00
Chris Lattner
9a99a284dc Add SmallString a (currently) minimal class that adapts SmallVector to be
more string-like.

llvm-svn: 31289
2006-10-30 03:39:20 +00:00
Chris Lattner
593e2361b4 add a method
llvm-svn: 31288
2006-10-30 03:14:15 +00:00
Chris Lattner
08b405916c add newline at end of file
llvm-svn: 31287
2006-10-29 23:47:01 +00:00
Chris Lattner
1db6efc297 add a highly efficient hash table that is specialized for mapping C strings
to some other type.

llvm-svn: 31286
2006-10-29 23:42:03 +00:00
Jim Laskey
e65b6c3c60 Clean up
llvm-svn: 31238
2006-10-27 22:52:02 +00:00
Jim Laskey
3d1116e32c Apply editorials.
llvm-svn: 31218
2006-10-27 18:05:12 +00:00
Jim Laskey
69b57830c2 Breakout folding hash set from SelectionDAGCSEMap.
llvm-svn: 31215
2006-10-27 16:16:16 +00:00
Andrew Lenharth
6223a6ce63 Fix build error in gcc 3.4 and make more this general
llvm-svn: 30839
2006-10-09 19:05:44 +00:00
Chris Lattner
e3f0524253 Fix PR897
llvm-svn: 30820
2006-10-08 22:28:34 +00:00
Chris Lattner
7453a7d197 add a simple reserve method.
llvm-svn: 30011
2006-09-01 06:08:16 +00:00
Chris Lattner
e84b1b8352 Instantiate Statistic<> in one place, not in every .o file that uses it.
llvm-svn: 29971
2006-08-30 04:17:00 +00:00
Chris Lattner
4fa85705f6 Add 2nd form of resize
llvm-svn: 29945
2006-08-28 21:52:08 +00:00
Chris Lattner
a6735ae8d1 add resize, move swap out of line
llvm-svn: 29823
2006-08-22 17:28:57 +00:00
Chris Lattner
19d59ce917 add a bunch more operations, including swap, insert, erase, front(), and
bugfixes for operator=.

llvm-svn: 29811
2006-08-22 06:27:16 +00:00
Chris Lattner
402986c13f silence a warning.
llvm-svn: 29734
2006-08-16 22:09:24 +00:00
Chris Lattner
2cd25d1642 Bugfixes for smallvector when the element size is small and N is small.
llvm-svn: 29720
2006-08-16 01:23:31 +00:00
Chris Lattner
67305e3cf6 avoid a warning
llvm-svn: 29674
2006-08-14 21:47:50 +00:00
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