1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
Commit Graph

71 Commits

Author SHA1 Message Date
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