Commit Graph

441 Commits

Author SHA1 Message Date
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
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
Reid Spencer
d977d8651a Replace inferred getCast(V,Ty) calls with more strict variants.
Rename getZeroExtend and getSignExtend to getZExt and getSExt to match
the the casting mnemonics in the rest of LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32514 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 23:36:14 +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
1a097e30d3 Don't use <sstream> in Streams.h but <iosfwd> instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32340 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 23:41:45 +00:00
Bill Wendling
bcd2498f4f Removed more <iostream> includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32321 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 20:28:15 +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
Reid Spencer
c6bf4bfc35 Adjust to new ConstantIntegral interface for Max/Min tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32289 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 20:45:15 +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
Reid Spencer
575d95ce37 Change inferred casts to explicit casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32165 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-04 02:46:44 +00:00
Bill Wendling
8d89281989 WTF? These weird newlines got in there...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31998 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-29 01:14:00 +00:00
Bill Wendling
6f81b51021 Removed some of the iostream #includes. Moved towards converting to using
llvm streams


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31983 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-28 22:46:12 +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
fe6b146dcd Removed #include <iostream> and replace with llvm_* streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31927 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-26 10:52:51 +00:00
Reid Spencer
9df1246a15 Make the absolute/relative tolerance information easier to read/understand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31908 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-25 08:38:44 +00:00
Bill Wendling
ab41c3e6b7 Moved definition of llvm_ostream wrappers to the Streams.cpp file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31819 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 09:54:47 +00:00
Bill Wendling
e562ed1c92 Added wrappers for the std::cerr/std::cout objects. The wrappers will
soon replace all uses of those objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31817 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 09:51:22 +00:00
Bill Wendling
1ea783f13a Added "DOUT" macro. This is used as a replacement for the std::cerr
stream. It centralizes the use of std::cerr so that static c'tor/d'tors
aren't scattered around all over the place. The way to use it is like this:

       DOUT << "This is a status line: " << Var << "\n";

If "-debug" is specified, it will print. Otherwise, it'll not print. If
NDEBUG is defined, the DOUT does nothing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31798 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 00:49:12 +00:00
Jim Laskey
d6c3422e31 Remove redundant <cmath>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31561 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 19:16:44 +00:00
John Criswell
72a780f577 Include llvm/Support/DataTypes.h to define intptr_t.
This fixes the build on OpenBSD and potentially other systems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31550 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 15:04:35 +00:00
Rafael Espindola
39c6d3aac1 assert.h -> cassert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31399 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:38:14 +00:00
Rafael Espindola
2b8ba512be #include <assert.h>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31386 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 23:48:53 +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
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
Chris Lattner
9f617d64c5 Add a new llvm::Allocator abstraction, which will be used by a container
I'm about to add.  This is similar to, but necessarily different than, the
STL allocator class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31285 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-29 22:08:03 +00:00
Jim Laskey
a97c67c866 Try again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31278 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-29 09:19:59 +00:00
Jim Laskey
d8cb446aa2 Not handling zero length strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31277 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-29 08:27:07 +00:00
Jim Laskey
2ac33c447d SmallVector append not insert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31224 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 19:38:32 +00:00
Jim Laskey
47ce6b4752 Grrr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31223 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 19:20:12 +00:00
Jim Laskey
788a0c6a18 Temp patch for missing functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31222 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 19:14:16 +00:00
Bill Wendling
160db5d20a MathExtras isn't in the llvm/ADT directory but in the llvm/Support directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31219 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 18:47:29 +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
Reid Spencer
b83eb6447b For PR950:
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-20 07:07:24 +00:00
Reid Spencer
bfb8eaff73 Beef up the output from DiffFilesWithTolerance by setting the error code
to describe the difference being reported. This assists with understanding
differences an llvm-test and should help with bugpoint too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31044 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 20:23:52 +00:00
Chris Lattner
efa3da5593 avoid a ctor/dtor issue with the ProgramName global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-13 00:06:24 +00:00
Chris Lattner
500d8bff20 shrink anon-ns and mark stuff static. No functionality changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30922 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-12 22:09:17 +00:00
Chris Lattner
c055a9191f Fix a static dtor issue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30726 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-04 22:13:11 +00:00
Chris Lattner
90aa839c88 Fix more static dtor issues
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30725 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-04 21:52:35 +00:00
Chris Lattner
151880b020 Define this in the correct n/s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30671 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-29 18:43:14 +00:00
Chris Lattner
193c2d886f Simplify some code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30658 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 23:14:29 +00:00
Chris Lattner
771cbf30bc new helper class to provide more explicit management of static ctor/dtors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:31:55 +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
232885873f Minor code cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29917 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:10:29 +00:00
Chris Lattner
7422a76100 Add external definitions for commonly-used template specializations and add
anchor methods to others.  This eliminates the vtable/template method bloat
in .o files that defining a cl::opt used to impose (~4K per .o file for one
cp::opt<unsigned>).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29909 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 12:45:47 +00:00
Reid Spencer
7b7a1be856 Remove a character to avoid line exceeding 80 cols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29860 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-24 22:39:25 +00:00
Reid Spencer
81bc5088dd For PR797:
This library no longer throws nor handles exceptions, so turn off the
REQUIRES_EH flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29849 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 20:39:25 +00:00
Reid Spencer
30493372f3 For PR797:
Final remove of exception handling from this file. lib/System can no longer
throw exceptions so there's no need for try/catch blocks here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29848 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 20:37:59 +00:00
Reid Spencer
6f4c60770c Make the ProgramName variable a std::string so we can eliminate the path
portion fo the program name via sys::Path().getLast(). This makes error
messages more readable since this is invariably used only in error
messages.  Instead of:
  /path/to/llvm/bin/directory/toolname: error message
we will now get:
  toolname: error message
Also, since we always have a program name (even if its defaulted), don't
check to see if it is set or not when generating error messages. This
eliminates a bunch of constant strings, saving a little under 1K of data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29842 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 07:10:06 +00:00