Chris Lattner
5bbf770764
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
700b873130
Detemplatize the Statistic class. The only type it is instantiated with
...
is 'unsigned'.
llvm-svn: 32279
2006-12-06 17:46:33 +00:00
Chris Lattner
228bcd3802
Add a helper function
...
llvm-svn: 31981
2006-11-28 22:32:35 +00:00
Bill Wendling
3750ae25a0
Removed #include <iostream> and replace with llvm_* streams.
...
llvm-svn: 31927
2006-11-26 10:52:51 +00:00
Reid Spencer
aa5c220665
Make the absolute/relative tolerance information easier to read/understand.
...
llvm-svn: 31908
2006-11-25 08:38:44 +00:00
Bill Wendling
9594f3a196
Moved definition of llvm_ostream wrappers to the Streams.cpp file.
...
llvm-svn: 31819
2006-11-17 09:54:47 +00:00
Bill Wendling
3315869498
Added wrappers for the std::cerr/std::cout objects. The wrappers will
...
soon replace all uses of those objects.
llvm-svn: 31817
2006-11-17 09:51:22 +00:00
Bill Wendling
d7fda04420
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.
llvm-svn: 31798
2006-11-17 00:49:12 +00:00
Jim Laskey
61feeb90f9
Remove redundant <cmath>.
...
llvm-svn: 31561
2006-11-08 19:16:44 +00:00
John Criswell
8ea2e68493
Include llvm/Support/DataTypes.h to define intptr_t.
...
This fixes the build on OpenBSD and potentially other systems.
llvm-svn: 31550
2006-11-08 15:04:35 +00:00
Rafael Espindola
f16dbf697a
assert.h -> cassert
...
llvm-svn: 31399
2006-11-03 01:38:14 +00:00
Rafael Espindola
a1fde82b6b
#include <assert.h>
...
llvm-svn: 31386
2006-11-02 23:48:53 +00:00
Jim Laskey
eb0fd251c1
Allow FoldingSet clients to pump up the initial hash size.
...
llvm-svn: 31377
2006-11-02 14:21:26 +00:00
Chris Lattner
149e666baf
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
Chris Lattner
b9de90377f
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.
llvm-svn: 31285
2006-10-29 22:08:03 +00:00
Jim Laskey
179ebd3fc3
Try again.
...
llvm-svn: 31278
2006-10-29 09:19:59 +00:00
Jim Laskey
8f05a611e9
Not handling zero length strings.
...
llvm-svn: 31277
2006-10-29 08:27:07 +00:00
Jim Laskey
cef515fcc0
SmallVector append not insert.
...
llvm-svn: 31224
2006-10-27 19:38:32 +00:00
Jim Laskey
a9e9cae33e
Grrr.
...
llvm-svn: 31223
2006-10-27 19:20:12 +00:00
Jim Laskey
a88e609c0f
Temp patch for missing functionality.
...
llvm-svn: 31222
2006-10-27 19:14:16 +00:00
Bill Wendling
e0412f500e
MathExtras isn't in the llvm/ADT directory but in the llvm/Support directory.
...
llvm-svn: 31219
2006-10-27 18:47:29 +00:00
Jim Laskey
6ca4a345dd
Apply editorials.
...
llvm-svn: 31218
2006-10-27 18:05:12 +00:00
Jim Laskey
43bc1847a2
Breakout folding hash set from SelectionDAGCSEMap.
...
llvm-svn: 31215
2006-10-27 16:16:16 +00:00
Reid Spencer
309e03aea2
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.
llvm-svn: 31044
2006-10-18 20:23:52 +00:00
Chris Lattner
5af1cbc5cf
avoid a ctor/dtor issue with the ProgramName global.
...
llvm-svn: 30925
2006-10-13 00:06:24 +00:00
Chris Lattner
adb19d6e8f
shrink anon-ns and mark stuff static. No functionality changes
...
llvm-svn: 30922
2006-10-12 22:09:17 +00:00
Chris Lattner
c374ec43b5
Fix a static dtor issue
...
llvm-svn: 30726
2006-10-04 22:13:11 +00:00
Chris Lattner
8111c59279
Fix more static dtor issues
...
llvm-svn: 30725
2006-10-04 21:52:35 +00:00
Chris Lattner
adf4095338
Define this in the correct n/s
...
llvm-svn: 30671
2006-09-29 18:43:14 +00:00
Chris Lattner
9daff49ebb
new helper class to provide more explicit management of static ctor/dtors.
...
llvm-svn: 30638
2006-09-28 00:31:55 +00:00
Chris Lattner
f5bed76353
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
2de6e33c06
Minor code cleanups
...
llvm-svn: 29917
2006-08-27 22:10:29 +00:00
Chris Lattner
3e5d60fcea
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>).
llvm-svn: 29909
2006-08-27 12:45:47 +00:00
Reid Spencer
a38aa72771
Remove a character to avoid line exceeding 80 cols.
...
llvm-svn: 29860
2006-08-24 22:39:25 +00:00
Reid Spencer
2fe39fea85
For PR797:
...
This library no longer throws nor handles exceptions, so turn off the
REQUIRES_EH flag.
llvm-svn: 29849
2006-08-23 20:39:25 +00:00
Reid Spencer
d62a96323d
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.
llvm-svn: 29848
2006-08-23 20:37:59 +00:00
Reid Spencer
bd156a901d
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.
llvm-svn: 29842
2006-08-23 07:10:06 +00:00
Reid Spencer
efdc3a13cd
For PR797:
...
Adjust users of MappedFile to its new non-throwing interface. Note that in
most cases the lazy step of just throwing after a call to MappedFile was
installed. This was done in the name of incremental changes. Getting rid of
the new throw statements will take adjustment of interfaces and propagation
of errors to higher levels. Those changes will come in subsequent patches.
llvm-svn: 29817
2006-08-22 16:06:27 +00:00
Jim Laskey
5c51c2b4ab
Adding new Dwarf constants.
...
llvm-svn: 29798
2006-08-21 21:18:10 +00:00
Reid Spencer
944645af44
For PR797:
...
Adjust usage of the ExecuteAndWait function to use the last argument which
is the ErrMsg string. This is necessitated because this function no longer
throws exceptions on error.
llvm-svn: 29791
2006-08-21 06:04:45 +00:00
Reid Spencer
c295914b7a
For PR797:
...
Make sys::Program::ExecuteAndWait not throw exceptions and update any
affected code. It now return -9999 to signal that the program couldn't be
executed. Only one case (in bugpoint) actually examines the result code.
llvm-svn: 29785
2006-08-21 02:04:43 +00:00
Chris Lattner
5425637481
remove IncludeFile turds in MathExtras.h, which bloats every .o file that
...
#includes it.
llvm-svn: 29639
2006-08-11 23:52:54 +00:00
Reid Spencer
47b1ed7276
Remove the use of "IncludeFile" from this support facility. The mechanism
...
to build a loadable module is now correctly defined and documented so this
workaround isn't needed any longer.
llvm-svn: 29553
2006-08-07 23:20:15 +00:00
Jim Laskey
82cd9c513e
If the Program name was NULL then all further output sent to std::cerr was
...
suppressed.
llvm-svn: 29477
2006-08-02 20:15:56 +00:00
Chris Lattner
2091cc86af
Finegrainify namespacification, minor cleanups
...
llvm-svn: 29399
2006-07-28 22:21:01 +00:00
Chris Lattner
4857253d98
Change Path::getStatusInfo to return a boolean and error string on an error
...
instead of throwing an exception. This reduces the amount of code that is
exposed to exceptions (e.g. FileUtilities), though it is clearly only one step
along the way.
llvm-svn: 29395
2006-07-28 22:03:44 +00:00
Chris Lattner
6da9d8ecf9
libsupport still throws.
...
llvm-svn: 29394
2006-07-28 22:01:01 +00:00
Reid Spencer
421475cd3b
For PR780:
...
1. Move IncludeFile.h to System library
2. Move IncludeFile.cpp to System library
3. #1 and #2 required to prevent cyclic library dependencies for libSystem
4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h
5. Add IncludeFile support to various lib/System classes.
6. Add new lib/System classes to LinkAllVMCore.h
All this in an attempt to pull in lib/System to what's required for VMCore
llvm-svn: 29287
2006-07-26 16:18:00 +00:00
Chris Lattner
a0ddced752
Add an out-of-line virtual method to provide a home for the cl::option class.
...
llvm-svn: 29191
2006-07-18 23:59:33 +00:00
Chris Lattner
1025840417
Add two helpers for escaping and unescaping strings.
...
llvm-svn: 29151
2006-07-14 22:54:39 +00:00
Chris Lattner
a41def5801
LoadLibraryPermanently no longer throws an exception, so this code doesn't have
...
to catch it. Other minor cleanups.
llvm-svn: 29050
2006-07-07 17:14:04 +00:00
Chris Lattner
4f1b929022
This patch (written by Reid) changes compressor to never throw an exception.
...
llvm-svn: 29045
2006-07-07 17:00:12 +00:00
Chris Lattner
5418b0f39e
Modify the SlowOperationInformer interface to not throw exceptions.
...
llvm-svn: 29028
2006-07-06 22:34:06 +00:00
Chris Lattner
8ac22e748c
Print LLVM version info like this:
...
Low Level Virtual Machine (http://llvm.org/ ):
llvm version 1.8cvs
DEBUG build with assertions.
instead of like this:
Low Level Virtual Machine (llvm) 1.8cvs (see http://llvm.org/ ) ASSERTIONS ENABLED
Also, add a place for vendor version info.
llvm-svn: 29020
2006-07-06 18:33:03 +00:00
Reid Spencer
ee7eaa25cf
For PR801:
...
Refactor the Graph writing code to use a common implementation which is
now in lib/Support/GraphWriter.cpp. This completes the PR.
Patch by Anton Korobeynikov. Thanks, Anton!
llvm-svn: 28925
2006-06-27 16:49:46 +00:00
Chris Lattner
1c12a881fb
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
Jim Laskey
19f964e048
1. Support standard dwarf format (was bootstrapping in Apple format.)
...
2. Add vector support.
llvm-svn: 28807
2006-06-15 20:51:43 +00:00
Reid Spencer
54cb2d8533
For PR780:
...
Break the "IncludeFile" mechanism into its own header file and adjust other
files accordingly. Use this facility for the IntrinsicInst problem which
was the subject of PR800.
More to follow on this.
llvm-svn: 28709
2006-06-07 20:00:19 +00:00
Chris Lattner
d63b1b5a1f
Move toolrunner out of libsupport into the bugpoint tool
...
llvm-svn: 28700
2006-06-06 22:31:36 +00:00
Reid Spencer
c3065b7d3f
Add the -Xlinker option to bugpoint which allows an option to be passed
...
through to gcc when its being used as a linker. This allows -L and -l
(and any other) options to be added so that non-complete bytecode files
can be processed with bugpoint. The -Xlinker option can be added as many
times as needed.
llvm-svn: 28692
2006-06-06 00:00:42 +00:00
Reid Spencer
b3171678ee
Make it possible to override the standard version printer. Not all tools
...
built with CommandLine.h will want the --version option to report that the
tool belongs to LLVM. To override simply pass a void func() to the
cl::SetVersionPrinter() function and that void func() will be called when
it is time to print the version information.
llvm-svn: 28687
2006-06-05 16:22:56 +00:00
Reid Spencer
a647c7ff42
Use archive libraries instead of object files for VMCore, BCReader,
...
BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate
these changes. This was done to speed up link times.
llvm-svn: 28610
2006-06-01 01:30:27 +00:00
Reid Spencer
d8df61a4d0
Squelch this warning:
...
/bzlib.c:126: warning: string length `1056' is greater than the length `509' ISO
C89 compilers are required to support
llvm-svn: 28602
2006-05-31 21:53:42 +00:00
Chris Lattner
aa2372562e
Patches to make the LLVM sources more -pedantic clean. Patch provided
...
by Anton Korobeynikov! This is a step towards closing PR786.
llvm-svn: 28447
2006-05-24 17:04:05 +00:00
Reid Spencer
26bb7c467f
For PR777:
...
Add an additional catch block to ensure that this function can't throw any
exceptions, even one's we're not expecting.
llvm-svn: 28309
2006-05-15 22:12:42 +00:00
Chris Lattner
1b7a51520c
Fix PR743: emit -help output of a tool to cout, not cerr.
...
llvm-svn: 28010
2006-04-28 05:36:25 +00:00
Jim Laskey
6d5c2a0156
Qualify dwarf namespace inside llvm namespace.
...
llvm-svn: 26409
2006-02-27 22:37:23 +00:00
Jim Laskey
22e47b9f4e
Re-orging file.
...
llvm-svn: 26401
2006-02-27 12:43:29 +00:00
Chris Lattner
2d2e2e3c0e
Let bugpoint work on sparc with v9 instructions enabled.
...
llvm-svn: 25958
2006-02-04 05:02:27 +00:00
Andrew Lenharth
4558e4ae10
dynamically allocate plugin space as needed
...
llvm-svn: 25652
2006-01-26 19:38:58 +00:00
Andrew Lenharth
bb4c9c0bd7
Remember plugins should someone like bugpoint want to know them.
...
llvm-svn: 25649
2006-01-26 18:36:50 +00:00
Chris Lattner
469640e506
Add explicit #includes of <iostream>
...
llvm-svn: 25509
2006-01-22 22:53:01 +00:00
Chris Lattner
c9fbba6fc0
Revert this, I didn't mean to commit it
...
llvm-svn: 25382
2006-01-17 00:40:24 +00:00
Chris Lattner
f64762c26e
Add support for programs with a null argv[0]
...
llvm-svn: 25379
2006-01-17 00:32:28 +00:00
Duraid Madina
b43eb8c75b
HP aCC chokes on this, but it's not required anyway: according to
...
the bzip2 homepage, only ancient (gcc 2.7.x ?) versions of GCC
require this? It certainly isn't needed for the current bzip2
sources.
llvm-svn: 25013
2005-12-26 05:00:25 +00:00
Duraid Madina
36501f5eb0
MERRY CHRISTMAS EVERYONE!!! (what better way to spend christmas than
...
to try building LLVM on HP-UX! (the Right Way seems to be to tear out
the ancient STL that HP ship and use http://incubator.apache.org/stdcxx/ )
llvm-svn: 25012
2005-12-26 04:56:16 +00:00
Reid Spencer
6197688c71
For PR351:
...
Move the system dependent portion to lib/System/*/Alarm.inc. This makes the
SlowOperationInformer platform independent.
llvm-svn: 24938
2005-12-22 03:31:26 +00:00
Chris Lattner
fdc8b19ad6
indicate when a tool is a debug build.
...
llvm-svn: 24374
2005-11-16 06:36:47 +00:00
Chris Lattner
bde3845548
DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now
...
llvm-svn: 23940
2005-10-24 02:26:13 +00:00
Chris Lattner
1e050bd88b
Only build .a file versions of these libraries, instead of .a and .o versions.
...
This should speed up build times.
llvm-svn: 23934
2005-10-24 02:05:35 +00:00
Chris Lattner
1a1ecf0679
Allow bugpoint+PPC codegen to use fsqrt
...
llvm-svn: 23128
2005-08-29 13:14:24 +00:00
Chris Lattner
d09a9a788b
Allow tools with "consume after" options (like lli) to take more positional
...
opts than they take directly. Thanks to John C for pointing this problem
out to me!
llvm-svn: 22717
2005-08-08 21:57:27 +00:00
Chris Lattner
d380d8412d
Reject command lines that have too many positional arguments passed (e.g.,
...
'opt x y'). This fixes PR493.
Patch contributed by Owen Anderson!
llvm-svn: 22705
2005-08-08 17:25:38 +00:00
Chris Lattner
fca31aee4f
200.sixtrack prints FP numbers with a very strange notation that uses D
...
instead of E for exponentials (e.g. 1.234D-43). Add support for this
notation.
llvm-svn: 22574
2005-08-02 00:11:53 +00:00
Jeff Cohen
5f4ef3c5a8
Eliminate all remaining tabs and trailing spaces.
...
llvm-svn: 22523
2005-07-27 06:12:32 +00:00
Reid Spencer
af48d8643d
Final Changes For PR495:
...
This chagne just renames some sys::Path methods to ensure they are not
misused. The Path documentation now divides methods into two dimensions:
Path/Disk and accessor/mutator. Path accessors and mutators only operate
on the Path object itself without making any disk accesses. Disk accessors
and mutators will also access or modify the file system. Because of the
potentially destructive nature of disk mutators, it was decided that all
such methods should end in the work "Disk" to ensure the user recognizes
that the change will occur on the file system. This patch makes that
change. The method name changes are:
makeReadable -> makeReadableOnDisk
makeWriteable -> makeWriteableOnDisk
makeExecutable -> makeExecutableOnDisk
setStatusInfo -> setStatusInfoOnDisk
createDirectory -> createDirectoryOnDisk
createFile -> createFileOnDisk
createTemporaryFile -> createTemporaryFileOnDisk
destroy -> eraseFromDisk
rename -> renamePathOnDisk
These changes pass the Linux Deja Gnu tests.
llvm-svn: 22354
2005-07-08 03:08:58 +00:00
Nate Begeman
b62a4c8da6
Add support for assembling .s files on mac os x for intel
...
Add support for running bugpoint on mac os x for intel
llvm-svn: 22351
2005-07-08 00:23:26 +00:00
Reid Spencer
c9c0473fa5
For PR495:
...
Get rid of the difference between file paths and directory paths. The Path
class now simply stores a path that can refer to either a file or a
directory. This required various changes in the implementation and interface
of the class with the corresponding impact to its users. Doxygen comments were
also updated to reflect these changes. Interface changes are:
appendDirectory -> appendComponent
appendFile -> appendComponent
elideDirectory -> eraseComponent
elideFile -> eraseComponent
elideSuffix -> eraseSuffix
renameFile -> rename
setDirectory -> set
setFile -> set
Changes pass Dejagnu and llvm-test/SingleSource tests.
llvm-svn: 22349
2005-07-07 23:21:43 +00:00
Reid Spencer
5b891e9847
For PR495:
...
Change interface to Path class:
readable -> canRead
writable -> canWrite
executable -> canExecute
More (incremental) changes coming to close 495.
llvm-svn: 22345
2005-07-07 18:21:42 +00:00
Duraid Madina
33464ad3a2
HP-UX system headers make a mess of isinf(), so much so that gcc fixincludes
...
can't patch it up for c++ (works in C though)
llvm-svn: 22079
2005-05-16 06:45:57 +00:00
Chris Lattner
88bb4457fc
Capitalize
...
llvm-svn: 21964
2005-05-13 19:49:09 +00:00
Reid Spencer
39ec7f049d
Make sure that decompression checks for the case that bzip2 returns
...
BZ_OK (meaning more data is expected) but there is no more input data. In
this case, the input file is probably truncated. Generate an exception that
indicates this case when its detected.
llvm-svn: 21926
2005-05-13 07:05:37 +00:00
Chris Lattner
c18e92f3cd
Do not use "" as a sentinal for a missing argument! This fixes PR560.
...
llvm-svn: 21850
2005-05-10 23:20:17 +00:00
Misha Brukman
308a715acc
Why output multiple strings, let the compiler concatenate them for us for free
...
llvm-svn: 21845
2005-05-10 22:03:50 +00:00
Misha Brukman
7937b07940
* Order #includes as per style guide
...
* Combine multiple ``std::cerr <<'' statements into one for simplicity
llvm-svn: 21458
2005-04-22 19:13:22 +00:00
Misha Brukman
5191b4b2d0
Convert tabs to spaces
...
llvm-svn: 21440
2005-04-22 04:08:30 +00:00
Misha Brukman
10468d8a3c
Remove trailing whitespace
...
llvm-svn: 21422
2005-04-21 22:55:34 +00:00
Chris Lattner
24922c7a2b
Timers SHOULD NOT record the time taken to count the bytes allocated in the heap!
...
llvm-svn: 20765
2005-03-22 03:20:38 +00:00
Chris Lattner
252f546ceb
Fix a bug where we would consider " .99" and "1.0" different because of the
...
leading whitespace.
llvm-svn: 20647
2005-03-17 04:49:04 +00:00
Andrew Lenharth
7054073bb6
yay for camel_cvs diff
...
llvm-svn: 20552
2005-03-10 20:15:09 +00:00
Chris Lattner
b9f0cebeb5
get bugpoint working on ia64, by building .so's with -fpic. :)
...
llvm-svn: 20525
2005-03-09 03:31:02 +00:00
Chris Lattner
5315aa0ec6
Remove some stuff I checked in accidentally
...
llvm-svn: 20340
2005-02-27 04:32:35 +00:00
Chris Lattner
3e7a193bd7
Instead of doing a manual comparison loop, just use memcmp, thanks to JohnC
...
for the suggestion! :)
llvm-svn: 20203
2005-02-15 22:12:10 +00:00
Chris Lattner
9d0db6f602
Make this more efficient now that we know both files are the same length.
...
llvm-svn: 20202
2005-02-15 22:01:43 +00:00
Misha Brukman
f232a4582d
Fix spelling
...
llvm-svn: 20201
2005-02-15 21:59:53 +00:00
Reid Spencer
f4425b0208
Adjust DiffFilesWithTolerance to help poor cygwin's mmap facility by
...
handling zero length files a little more intelligently. If both files are
zero length then we return 0 (true) indicating a match. If only one of the
files is zero length then we return 1 (false) indicating that the files
differ. If the files don't agree in length then they can't match so we
skip the first loop that looks for a quick match.
llvm-svn: 20200
2005-02-15 21:47:02 +00:00
Chris Lattner
a3a55bf997
Work around GCC PR19958, which causes programs to sometimes crash after
...
printing help output or version info.
llvm-svn: 20180
2005-02-14 19:17:29 +00:00
Chris Lattner
dc01c3f058
Move helper function here.
...
llvm-svn: 20168
2005-02-13 23:13:47 +00:00
Chris Lattner
610ce2c678
Don't print a 'Total Execution Time' line for the 'Miscellaneous Ungrouped
...
Timers' section. Since these are random timers in the program it doesn't
make sense to sum them up.
llvm-svn: 20090
2005-02-09 18:41:32 +00:00
Tanya Lattner
5ca41e2b68
Make this work on systems where size_t == unsigned and where they are not
...
the same.
llvm-svn: 19929
2005-01-29 23:29:55 +00:00
Tanya Lattner
238cf92000
Make this work on systems where size_t is not the same as unsigned.
...
llvm-svn: 19928
2005-01-29 23:08:01 +00:00
Chris Lattner
800b72445f
This file was schizophrenic when it came to representing sizes. In some
...
cases it represented them as 'unsigned's, which are not enough for 64-bit
hosts. In other cases, it represented them as uint64_t's, which are
inefficient for 32-bit hosts.
This patch unifies all of the sizes to use size_t instead.
llvm-svn: 19918
2005-01-29 17:17:18 +00:00
Chris Lattner
bb4384ba71
After reading in a bc file, trim the resultant buffer down to what we
...
really need. This reduces 4M of memory consumption reading 176.gcc.
llvm-svn: 19916
2005-01-29 17:05:56 +00:00
Chris Lattner
173340640a
Finegrainify namespacification
...
llvm-svn: 19915
2005-01-29 16:53:02 +00:00
Chris Lattner
2295d0b7de
Memory used is a delta between memuse at the start of the time and the
...
memuse at the end, thus it is signed.
llvm-svn: 19904
2005-01-29 05:21:16 +00:00
Chris Lattner
6c43f5e5fe
Fix crash comparing empty file against nonempty file.
...
llvm-svn: 19782
2005-01-23 06:02:40 +00:00
Chris Lattner
b782187b32
Make DiffFilesWithTolerance take sys::Path's instead of std::strings
...
Delete dead functions.
llvm-svn: 19771
2005-01-23 03:31:02 +00:00
Chris Lattner
364e8b771d
Fix a bug in previous checkin
...
llvm-svn: 19769
2005-01-23 03:19:13 +00:00
Chris Lattner
16a4368c40
Add a new method, refactored out of fpcmp
...
llvm-svn: 19766
2005-01-23 03:13:43 +00:00
Jeff Cohen
c8f1f4bc8e
Use binary mode for reading/writing bytecode files
...
llvm-svn: 19751
2005-01-22 17:36:17 +00:00
Jeff Cohen
1a26d15c80
Use size_t instead of long to represent memory usage. long is 32 bits
...
on 64-bit Windows.
llvm-svn: 19393
2005-01-08 20:15:57 +00:00
Chris Lattner
867158cefd
Do not throw away bits for no reason
...
llvm-svn: 19378
2005-01-08 19:32:59 +00:00
Chris Lattner
2c5e4ed8f9
Silence a VS warning.
...
llvm-svn: 19377
2005-01-08 19:31:31 +00:00
Reid Spencer
4e8dd44733
Make printing a warning message optional in CheckBytecodeOutputToConsole.
...
llvm-svn: 19240
2005-01-02 00:10:03 +00:00
Reid Spencer
1263cfd14f
Implement a function to print a warning if bytecode output is to be sent to
...
a terminal/console.
llvm-svn: 19237
2005-01-01 23:56:20 +00:00
Reid Spencer
ad7bdf7400
Fix a bug that made the nightly tester *really* slow. During changes for
...
portability, the --track-space option was inadvertently ignored. This patch
fixes that so that sys::Process::GetMallocUsage() is only invoked if the
--track-spaces option is given. Apparently the mallinfo() call that
GetMallocUsage() uses is *very* slow, especially when processing very large
modules like projects/llvm-test/MultiSource/Applications/kimwitu++.
llvm-svn: 19163
2004-12-27 08:03:04 +00:00
Reid Spencer
5260b5b46d
For PR351:
...
Move non-portable FDHandle class to its only user: lib/Debugger
llvm-svn: 19106
2004-12-22 10:24:43 +00:00
Reid Spencer
92e8a5a0ea
Fix a bug where system time always equals user time
...
llvm-svn: 19075
2004-12-20 21:44:27 +00:00
Reid Spencer
ee556dd431
Put some header files back that Win32 needs.
...
llvm-svn: 19058
2004-12-20 03:59:23 +00:00
Reid Spencer
2708881067
For PR351:
...
* Move system dependent implementation out of this file.
* Make implementation use sys::Process::GetMallocUsage where necessary.
* Make implementation use sys::Process::GetTimeUsage where necessary.
llvm-svn: 19053
2004-12-20 00:59:04 +00:00
Reid Spencer
2d76ff5c85
For PR351:
...
* Pass sys::Path instead of std::string for paths
* Correct the types of arguments passed to RunProgramWithTimeout due to its
interface using sys::Path instead of std::string
* Replace "/dev/null" (not portable) with empty string which
sys::Program::ExecuteAndWait recognizes as "redirect to bit bucket"
llvm-svn: 19041
2004-12-19 18:00:21 +00:00
Reid Spencer
d44f845213
For PR351:
...
* Remove unneeded header files.
* Move RedirectFD static function to lib/System/Unix/Program.cpp
* Delete RunProgramWithTimeout, now implemented by
sys::Program::ExecuteAndWait. RunProgramWithTimeout is now a convenience func.
llvm-svn: 19040
2004-12-19 18:00:09 +00:00
Reid Spencer
beb9946af8
For PR351:
...
* Make the OutputC and OutputAsm functions work with sys::Path for the output
file name instead of using std::string.
* Get rid of extraneous "toString" calls.
* Change "removeFile" to sys::Path::destroyFile()
llvm-svn: 19000
2004-12-16 23:01:34 +00:00
Reid Spencer
ea71e3c89b
For PR351:
...
* Remove the "removeFile" function, now implemented by the
sys::Path::destroyFile method.
* Make the FileRemove work with a sys::Path instead of a std::string
llvm-svn: 18999
2004-12-16 23:00:05 +00:00
Reid Spencer
9329172767
For PR351:
...
* Remove #inclusion of FileUtilities.h, not needed any more.
* Convert getUniqueFilename -> sys::Pat::makeUnique()
llvm-svn: 18948
2004-12-15 01:51:56 +00:00
Reid Spencer
320a20ac45
For PR351:
...
Remove getUniqueFilename and CopyFile. These are now implemented by
sys::Path::makeUnique and sys::CopyFile, respectively.
llvm-svn: 18946
2004-12-15 01:46:54 +00:00
Reid Spencer
c2e22fea42
For PR351:
...
* Remove the ExecWait function. This is now in sys::Program::ExecuteAndWait
llvm-svn: 18927
2004-12-14 04:18:15 +00:00
Reid Spencer
87ad666bb3
Revert the last patch as it causes a static destruction ordering problem.
...
llvm-svn: 18925
2004-12-14 03:55:21 +00:00
Reid Spencer
d89ff0a5e1
For PR351:
...
Adjust to changes in the interface of FindExecutable, getting ToolRunner
ready for bigger things to come.
llvm-svn: 18919
2004-12-13 23:43:44 +00:00
Reid Spencer
dc49d865a1
For PR351:
...
* Remove isExecutable as its now implemented by sys::Path::executable
* Make FindExecutable a thin veneer over sys::Program::FindProgramByName.
llvm-svn: 18918
2004-12-13 23:41:37 +00:00
Reid Spencer
e42f222d36
For PR351:
...
Remove AllocateRWXMemory as it is not used any more in LLVM. The function
has been replaced with sys::Memory::AllocateRWX several months ago.
llvm-svn: 18912
2004-12-13 20:14:30 +00:00
Reid Spencer
6b8632850b
For PR351:
...
Remove the MakeFileReadable and MakeFileExecutable functions which are no
longer present in LLVM. They have been replaced with the sys::Path methods
makeReadable and makeExecutable, respectively.
llvm-svn: 18910
2004-12-13 20:08:14 +00:00
Reid Spencer
73fc525557
For PR351:
...
The ReadFileIntoAddressSpace and UnmapFileFromAddressSpace functions are no
longer used by LLVM. Remove them. Replacement functionality for both
functions is now encapsulated in the sys::MappedFile class.
llvm-svn: 18903
2004-12-13 18:28:59 +00:00
Reid Spencer
aa95684acd
For PR351: \
...
The getFileTimestamp and getFileSize functions have been removed from \
FileUtilities.{h,cpp}. They are replaced by Path::getTimestamp and \
Path::getSize,respectively.
llvm-svn: 18892
2004-12-13 17:01:53 +00:00
Reid Spencer
53bd3d0b1a
Get rid of some leaks found by VC leak detector.
...
Patch contributed by Morten Ofsted.
llvm-svn: 18889
2004-12-13 16:04:04 +00:00
Reid Spencer
21d9ef9e82
For PR351:Remove the file type checking methods (now in sys::Path)
...
llvm-svn: 18846
2004-12-13 02:57:41 +00:00
Reid Spencer
ca49210f65
Distribute headers and license files too
...
llvm-svn: 18505
2004-12-04 22:34:21 +00:00
Reid Spencer
95729469cc
Up the compression threshold to 64K so we avoid it for all but the largest
...
bytecode files. This should help linking substantially.
llvm-svn: 18378
2004-11-30 07:13:34 +00:00
Reid Spencer
4f44c95967
Functionality moved to portable lib/System/DynamicLibrary.cpp
...
implementation
llvm-svn: 18358
2004-11-29 14:11:41 +00:00
Reid Spencer
9ec2761bb7
Use System/DynamicLibrary instead of Support/DynamicLinker to implement.
...
llvm-svn: 18356
2004-11-29 14:07:46 +00:00
Reid Spencer
d1697bf2f7
Shared library extension is now in LTDL_SHLIB_EXT
...
llvm-svn: 18353
2004-11-29 12:40:21 +00:00
Reid Spencer
d49013f0b8
Add bzip2 subdirectory
...
llvm-svn: 18251
2004-11-25 19:38:28 +00:00
Reid Spencer
fa8d2e0b27
Remove zlib support in favor of our own bzip2 library
...
llvm-svn: 18250
2004-11-25 19:38:16 +00:00
Reid Spencer
c51e80a09f
Revise to LLVM makefile standards.
...
llvm-svn: 18246
2004-11-25 16:12:25 +00:00
Reid Spencer
a01ef71032
Initial Version from bzip2 Release 1.0.2.
...
llvm-svn: 18245
2004-11-25 16:11:36 +00:00
Reid Spencer
80bb693109
Implement and document prefix options with arbitrary values including an
...
= sign. This needed to support -DNAME=value options as pass-through in
llvmc.
llvm-svn: 18203
2004-11-24 06:13:42 +00:00
Tanya Lattner
d27b014459
Fixed assertion from triggering. We need to check if the commandline map is empty before checking if an arg exists.
...
llvm-svn: 18057
2004-11-20 23:35:20 +00:00
Chris Lattner
37bcd99622
Patches to avoid "leaking" memory on process exit. Patch contributed by
...
Morten Ofstad!
llvm-svn: 17998
2004-11-19 17:08:15 +00:00
Reid Spencer
dc23fe9ded
Allow this to compile even on machines that HAVE the bzlib library but do
...
NOT have the bzlib.h header file. Go figure.
llvm-svn: 17989
2004-11-19 15:56:28 +00:00
Reid Spencer
0bcf9e4da6
Undo last change as its unnecessary.
...
llvm-svn: 17985
2004-11-19 04:59:07 +00:00
Reid Spencer
5d76fa0a3c
Make a cast explicit.
...
llvm-svn: 17977
2004-11-19 03:20:09 +00:00
Reid Spencer
f0173e0c48
Add a comment to some code that at first glance just doesn't look right.
...
llvm-svn: 17886
2004-11-16 06:50:36 +00:00
Reid Spencer
5e5547045b
Per code review:
...
*Implement/Document the cl::extrahelp feature instead of the MoreHelp ptr.
llvm-svn: 17871
2004-11-16 06:11:52 +00:00
Reid Spencer
cf602a8e67
Implement the high level interface to make (de)compression easier.
...
llvm-svn: 17775
2004-11-14 22:04:46 +00:00
Reid Spencer
1f4ab8b449
Implement the MoreHelp utility that calls a function to printmore help information if the MoreHelp global is not null.
...
llvm-svn: 17774
2004-11-14 22:04:00 +00:00
Reid Spencer
6a1a10aa54
Tune compression:
...
bzip2: block size 9 -> 5, reduces memory by 400Kbytes, doesn't affect speed
or compression ratio on all but the largest bytecode files (>1MB)
zip: level 9 -> 6, this speeds up compression time by ~30% but only
degrades the compressed size by a few bytes per megabyte. Those few
bytes aren't worth the effort.
llvm-svn: 17647
2004-11-09 17:58:09 +00:00
Misha Brukman
3e5dd6d34c
* Convert tabs to spaces
...
* Order #includes according to style guide
* Remove extraneous blank lines
llvm-svn: 17639
2004-11-09 04:27:19 +00:00
Nate Begeman
1164955bf1
Allow hbd to be bugpointable on darwin by fixing common and linkonce codegen
...
llvm-svn: 17637
2004-11-09 04:01:18 +00:00
Misha Brukman
1df8148b01
Handle headers for compressed bytecode files
...
llvm-svn: 17634
2004-11-08 22:03:32 +00:00
Misha Brukman
8a75d2e73b
Replace uses of llvm.org with llvm.cs.uiuc.edu
...
llvm-svn: 17549
2004-11-07 00:58:38 +00:00
Misha Brukman
c7c8d88804
* Fix compilation on AIX: GCC's fixincludes eliminates isinf() declaration
...
* Move file comment to the top of the header where it belongs
llvm-svn: 17349
2004-10-29 23:17:45 +00:00
Reid Spencer
57cbe39d1e
Change Library Names Not To Conflict With Others When Installed
...
llvm-svn: 17286
2004-10-27 23:18:45 +00:00
Chris Lattner
d3642d720c
Patch to support MSVC, contributed by Morten Ofstad
...
llvm-svn: 17220
2004-10-25 18:47:10 +00:00
Chris Lattner
2e493d9e75
Patch to support MSVC, contributed by Morten Ofstad
...
llvm-svn: 17219
2004-10-25 18:46:05 +00:00
Reid Spencer
c1c320c335
We won't use automake
...
llvm-svn: 17155
2004-10-22 03:35:04 +00:00
Reid Spencer
6a11a75f31
Initial automake generated Makefile template
...
llvm-svn: 17136
2004-10-18 23:55:41 +00:00
Nate Begeman
e5e5b37b79
Pass -single_module option to gcc when linking dynamic libraries for use with bugpoint, so that we can bugpoint multiple .cp files
...
llvm-svn: 17102
2004-10-17 23:03:32 +00:00
Reid Spencer
ace94df71f
Update to reflect changes in Makefile rules.
...
llvm-svn: 16950
2004-10-13 11:46:52 +00:00
Reid Spencer
b84cbf2725
Initial version of automake Makefile.am file.
...
llvm-svn: 16885
2004-10-10 20:43:57 +00:00
Reid Spencer
04f1e90657
Excise the ill-advised RLCOMP compression algorithm and simply leave the
...
previously temporary NULLCOMP implementation that merely copies the data
verbatim without compression. Also, don't warn if there's no compression
library as that is taken care of during configuration time.
llvm-svn: 16654
2004-10-04 17:45:44 +00:00
Reid Spencer
2e3cc54e42
Add a context for the callback so different compression scenarios can be
...
distinguished. Tidy up documentation. Thanks, Chris.
llvm-svn: 16652
2004-10-04 17:29:25 +00:00
Chris Lattner
b4abe320bf
Fix build if not HAVE_BZIP2
...
llvm-svn: 16650
2004-10-04 16:33:25 +00:00
Reid Spencer
c89503753c
First version of a support utility to provide generalized compression in
...
LLVM that handles availability and unavailability of bzip2 and zlib.
llvm-svn: 16648
2004-10-04 10:49:41 +00:00
Alkis Evlogimenos
20f1b0bafb
Add includes and use std:: for standard library calls to make code
...
compile on windows. This patch was contributed by Paolo Invernizzi.
llvm-svn: 16539
2004-09-28 14:42:44 +00:00
Reid Spencer
45101043ef
Put in a #error in the event that we don't have an mmap that can map a file
...
into memor. This is just a reminder that the ReadFileIntoAddressSpace
function needs to be properly converted to lib/System and implemented via
read/write if there's no mmap of file support.
llvm-svn: 16428
2004-09-20 04:13:43 +00:00
Reid Spencer
7c16caa336
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/.
llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
9501b9b82b
Make CommandLine prefix error output with the name of the program.
...
llvm-svn: 16129
2004-09-01 04:41:28 +00:00
Reid Spencer
6fca37236d
Signals support has been moved to lib/System
...
llvm-svn: 16097
2004-08-29 19:36:34 +00:00
Misha Brukman
30cee49933
Move these files (which are dependent on VMCore) into VMCore
...
llvm-svn: 15825
2004-08-16 19:04:36 +00:00
Reid Spencer
2027a6ffdc
Allow any cl::opt to use the method getPosition() to retrieve the option's
...
absolute position on the command line. Similarly allow any cl::list to
use the method getPosition(n) to retrieve the absolute position of the nth
option in the list. This provides support for two things: (a) options like
-l that are actually positional and their order of occurrence matters when
they are intermixed with positional arguments like "a.o"; and (b) options
like -x LANG which affect only the positional arguments that come after
the option. In both cases, knowing the absolute position of a given option
helps.
llvm-svn: 15725
2004-08-13 19:47:30 +00:00
Chris Lattner
46303fdbf8
It is not possible to catch SIGKILL, don't bother trying.
...
llvm-svn: 15496
2004-08-04 18:14:24 +00:00
Reid Spencer
ff6cc1233e
Add a --version option for every tool that prints out:
...
Low Level Virtual Machine ($PACKAGE_NAME) $PACKAGE_VERSION
llvm-svn: 15454
2004-08-04 00:36:06 +00:00
Chris Lattner
d1980dbeba
Remove linux/solaris specific stuff.
...
llvm-svn: 15195
2004-07-25 07:34:00 +00:00
Chris Lattner
2731ead702
Get rid of the printout from the low-level system interface
...
llvm-svn: 15161
2004-07-24 07:50:48 +00:00
Chris Lattner
8171b14fcc
Pass timeouts into the low level "execute program with timeout" function
...
llvm-svn: 15160
2004-07-24 07:49:11 +00:00
Chris Lattner
f5da5de94a
Add support for killing the program if it executes for too long.
...
llvm-svn: 15158
2004-07-24 07:41:31 +00:00
Brian Gaeke
902dcf0729
These files don't need to include <iostream> since they include "Support/Debug.h".
...
llvm-svn: 15089
2004-07-21 20:50:33 +00:00
Brian Gaeke
84a69f1494
Solaris hack for isinf()
...
llvm-svn: 15058
2004-07-21 03:32:51 +00:00
Brian Gaeke
0810ebf56a
Add platform-independent wrapper function for isinf().
...
Patch contributed by Bill Wendling.
llvm-svn: 15050
2004-07-21 03:13:50 +00:00
Chris Lattner
46c48a9654
Err, fix last checkin
...
llvm-svn: 14995
2004-07-19 06:03:51 +00:00
Chris Lattner
874ffdd592
Fix bugpoint miscompilation support on OS/X
...
Patch contributed by the fabulous Nate Begeman.
llvm-svn: 14994
2004-07-19 06:00:17 +00:00
Chris Lattner
13e5831bd0
Add a workaround for a GCC 3.3.2 bug
...
llvm-svn: 14976
2004-07-18 21:56:20 +00:00
Misha Brukman
06773822b9
Correctly build shared objects on MacOS X for debugging code generators
...
llvm-svn: 14892
2004-07-16 19:45:45 +00:00
Chris Lattner
cae777bb4f
Bug fixes for PR341
...
llvm-svn: 14838
2004-07-15 01:29:12 +00:00
Chris Lattner
99dcad4584
Implicitly getting a new option by linking to support.o instead of support.a
...
is a bad idea. Make tools that want the option #include PluginSupport.h
explicitly.
llvm-svn: 14738
2004-07-11 01:04:33 +00:00
Chris Lattner
3a9fd4c421
Do not call Type::getUniqueID
...
llvm-svn: 14706
2004-07-08 22:09:34 +00:00
Brian Gaeke
84e1bb8eff
Work around apparent Apple compiler bug which was making all mangled
...
names start with l0_.
llvm-svn: 14651
2004-07-06 20:29:05 +00:00
Reid Spencer
eb04d9bcb4
Add #include <iostream> since Value.h does not #include it any more.
...
llvm-svn: 14622
2004-07-04 12:19:56 +00:00
Chris Lattner
d3ecc61840
Fix compilation on internix
...
llvm-svn: 14588
2004-07-03 01:21:05 +00:00
Brian Gaeke
ef178a43dd
Wrapper for c99 isnan()
...
llvm-svn: 14338
2004-06-22 23:54:38 +00:00
Misha Brukman
4b58581545
* Fix file header and name
...
* Order #includes alphabetically
llvm-svn: 14234
2004-06-18 15:38:49 +00:00
Misha Brukman
42a24823a1
Use the machine-independent method of querying the page size.
...
llvm-svn: 14233
2004-06-18 15:34:07 +00:00
Chris Lattner
07ab2d1d2d
Make all of this functionality work directly on win32. Properly conditionalize
...
system specific stuff on HAVE_MKSTEMP
llvm-svn: 14051
2004-06-07 19:37:24 +00:00
Chris Lattner
6068345cc5
Implement getTimeRecord natively in Win32, properly conditionalize the
...
getrusage implementation on HAVE_GETRUSAGE
llvm-svn: 14050
2004-06-07 19:34:51 +00:00
Alkis Evlogimenos
2c0735446b
Include cerrno.
...
llvm-svn: 14041
2004-06-05 08:59:43 +00:00
Chris Lattner
80adb79be2
Implement the new CopyFile function
...
llvm-svn: 13945
2004-06-02 00:52:22 +00:00
Misha Brukman
140f26ea46
Fix spelling, trim empty space, tighten up function header comment.
...
llvm-svn: 13940
2004-06-02 00:09:46 +00:00
Reid Spencer
9163bcdf0f
Moved this file to lib/Bytecode/Writer because its used there only.
...
llvm-svn: 13900
2004-05-30 00:09:32 +00:00
Chris Lattner
446ac25072
Thoroughly rehack the dynamic linking mechanisms on Win32. The Win32
...
dynamic linker does not automatically search libraries when looking up
symbols with GetProcAddress. Because of this we have to emulate it. The
only detail is that there doesn't seem to be a way to enumerate the
libraries loaded, so we have a gross hack (tm).
This make the JIT functional on win32 under cygwin.
llvm-svn: 13887
2004-05-28 23:54:07 +00:00
Chris Lattner
972c68fbdf
Prune #includes
...
llvm-svn: 13886
2004-05-28 23:35:39 +00:00
Chris Lattner
b6d6b931cc
Add support for getting executable memory on Windows. This is actually
...
much easier than on unix. :) The only evil thing is that windows.h defines
a macro named FindExecutable, which collides with one of our names.
The JIT now runs on windows, but it cannot resolve external functions
(like printf) yet.
llvm-svn: 13871
2004-05-28 01:20:58 +00:00
Chris Lattner
d54358279d
Add a new function for the JIT. libsupport is now the only library that
...
includes mman.h
llvm-svn: 13870
2004-05-28 00:59:40 +00:00
Chris Lattner
acc6cdda85
Add support for zero length files
...
llvm-svn: 13866
2004-05-28 00:34:42 +00:00
Chris Lattner
0e713bc208
Add a pair of functions to hide system specific details of mapping a file in for reading.
...
llvm-svn: 13863
2004-05-28 00:23:48 +00:00
Chris Lattner
db3da22f4b
Add DynamicLinker support for systems that provide windows.h
...
llvm-svn: 13851
2004-05-27 20:53:10 +00:00
Chris Lattner
ed317b2a29
Signals.h header moved. Eventually this should move into a lib/System library,
...
but not right now.
llvm-svn: 13811
2004-05-27 05:31:24 +00:00
Chris Lattner
1760ccd7b0
Changes to make libSupport build on systems that don't have the wait syscall.
...
llvm-svn: 13806
2004-05-27 01:20:55 +00:00
Reid Spencer
abac0ef0b7
Put SlotTable.h inclusion back at front of list to be coding standards
...
compliant. Thanks, Chris.
llvm-svn: 13771
2004-05-25 20:09:05 +00:00
Reid Spencer
37dd30c00a
Make some improvements suggested by Chris.
...
llvm-svn: 13765
2004-05-25 19:03:21 +00:00
Reid Spencer
4feb245a31
Adding the initial implementation of the SlotTable class. This class is
...
the Abstract Data Type that holds slot number values and associates them
with Type* and Value*. The SlotTable is simply the holder of the slot
numbers and provides a controlled interface for building the table. It does
not enforce any particular idiom or functionality for manipulating the slot
numbers.
This is part of bug_122. The SlotCalculator and SlotMachine classes will
follow.
llvm-svn: 13764
2004-05-25 18:44:51 +00:00
Alkis Evlogimenos
40f9a8730a
Remove this file as well as it is no longer needed nor it compiles
...
llvm-svn: 13762
2004-05-25 18:24:27 +00:00
Chris Lattner
a60f355c87
Implement the new cl::PositionalEatsArgs flag, refactor code a bit
...
llvm-svn: 13388
2004-05-06 22:04:31 +00:00
Brian Gaeke
706bd5bf2b
Apply simplification suggested by Chris: why assign() when operator = will do?
...
llvm-svn: 13364
2004-05-04 22:02:41 +00:00
Brian Gaeke
b3a9a0fcbd
Add "Args" optional argument to AbstractInterpreter factory methods, which
...
fills in a ToolArgs vector in the AbstractInterpreter if it is set. This
ToolArgs vector is used to pass additional arguments to LLI and/or LLC.
This is intended to address Bug 40.
Also, make -debug-only=toolrunner work for the LLC and CBE
AbstractInterpreters.
llvm-svn: 13356
2004-05-04 21:09:01 +00:00
Chris Lattner
82876bdb2a
Bugpoint was not correctly capturing stderr! This caused it to "find" bugs
...
that didn't exist, missing the ones that do :(
llvm-svn: 12978
2004-04-16 05:35:58 +00:00
Chris Lattner
b0d1e9d02e
lli no longer takes the -quiet option!
...
llvm-svn: 12674
2004-04-05 20:28:41 +00:00
Chris Lattner
c97b7b2285
Do not mangle intrinsics in any way!
...
llvm-svn: 12673
2004-04-05 20:17:53 +00:00
Brian Gaeke
5ade501501
Add autoconf support for isStandardOutAConsole ().
...
llvm-svn: 12638
2004-04-02 21:26:04 +00:00
Chris Lattner
454e18317d
Add new function, autoconf support required tho
...
llvm-svn: 12600
2004-04-02 05:04:03 +00:00
Chris Lattner
55481f78d3
Add some new methods
...
llvm-svn: 12539
2004-03-30 00:20:08 +00:00
Chris Lattner
5152b9ed34
Adjust to new itf
...
llvm-svn: 12534
2004-03-29 20:42:49 +00:00
Alkis Evlogimenos
33cb4260a5
Hide variable from other functions.
...
llvm-svn: 12118
2004-03-04 17:50:44 +00:00
Chris Lattner
120035898b
Make sure that at least one virtual method is defined in a .cpp file to avoid
...
having the compiler emit RTTI and vtables to EVERY translation unit.
llvm-svn: 11871
2004-02-26 07:24:18 +00:00
Misha Brukman
0025f1b044
`cat' is usually in /bin, not /usr/bin, at least on our systems.
...
llvm-svn: 11690
2004-02-21 21:51:41 +00:00
Chris Lattner
375e3a1d4a
When printing a stack trace, demangle it if possible. Since we are potentially
...
in a signal handler, allocating memory or doing other unsafe things is bad,
which means we should do it in a different process.
llvm-svn: 11689
2004-02-21 21:06:19 +00:00
Brian Gaeke
99983d569e
Use backtrace() and include execinfo.h, if they were detected by autoconf.
...
llvm-svn: 11658
2004-02-20 06:40:59 +00:00
Chris Lattner
79b88a7590
Disable the stack trace thing until we can get an autoconf test for it. This
...
call breaks on sparcs
llvm-svn: 11635
2004-02-19 21:21:23 +00:00
Chris Lattner
b0bedfa4b2
Implement new function
...
llvm-svn: 11631
2004-02-19 20:03:14 +00:00
Alkis Evlogimenos
3562c2dd9f
Make ToolExecutionError inherit std::exception and implement its
...
interface: getMessage() is gone, use what() instead.
llvm-svn: 11621
2004-02-19 07:39:26 +00:00
Alkis Evlogimenos
c94edd6cde
Print stacktrace in STDERR before dying on a fatal signal. Currently
...
the symbols are not demangled.
llvm-svn: 11620
2004-02-19 07:36:35 +00:00
Chris Lattner
8d05ebc2f9
Add support for just running the code generator
...
llvm-svn: 11611
2004-02-18 23:24:41 +00:00
Chris Lattner
03d993b265
indent correctly
...
llvm-svn: 11601
2004-02-18 20:58:00 +00:00
Chris Lattner
abcd97dcd8
Don't yell. BUGPOINT should yell, not the tool runner :)
...
llvm-svn: 11600
2004-02-18 20:57:38 +00:00
Chris Lattner
3163a98492
If there is an error running a tool, include the error message (e.g. assertion failure) in the exception
...
llvm-svn: 11597
2004-02-18 20:38:00 +00:00
Chris Lattner
08180ecfcf
When an error occurs executing a tool, we now throw an exception instead
...
of calling exit(1).
llvm-svn: 11593
2004-02-18 20:21:57 +00:00
Chris Lattner
70d42f6765
The C backend is no longer in llvm-dis, it's in llc
...
llvm-svn: 11533
2004-02-17 06:40:06 +00:00
Chris Lattner
5f25fb0dd7
Fix a bug in the recent rewrite of the leakdetector that caused all of the
...
nightly tests to be really messed up. The problem was that the new leakdetector
was depending on undefined behavior: the order of destruction of static objects.
llvm-svn: 11488
2004-02-15 23:33:48 +00:00
Alkis Evlogimenos
fccb75d91e
Modularize implementation of LeakDetector into a typed template
...
implementation class. This makes the code simpler and allows for more
types to be added easily. It also implements caching for generic
objects (it was only available for llvm objects).
llvm-svn: 11452
2004-02-14 23:33:39 +00:00
Chris Lattner
77687a9746
Fix the logic in the name mangler. If there are two symbols named 'X', and one
...
is external, make sure to mangle the *internal* one, not external one
llvm-svn: 11424
2004-02-14 00:30:23 +00:00
Chris Lattner
f3e6e63d71
Initialize the count instance variable.
...
llvm-svn: 11305
2004-02-11 03:29:16 +00:00
John Criswell
e6a41815f3
Fixes for PR214. Use the SHLIBEXT variable instead of hardcoding .so into
...
every file.
llvm-svn: 10976
2004-01-26 20:59:41 +00:00
Chris Lattner
14004da36c
This file goes away
...
llvm-svn: 10905
2004-01-17 19:35:57 +00:00
Chris Lattner
b1505c8594
Remove use of ConstantHandling itf
...
llvm-svn: 10800
2004-01-12 20:13:04 +00:00
Chris Lattner
d832807311
Remove config wrapper around <cerrno>
...
llvm-svn: 10747
2004-01-10 19:15:14 +00:00
Alkis Evlogimenos
96e9a91f55
Pass std::string to constructor as const reference to avoid multiple
...
copies.
llvm-svn: 10705
2004-01-06 09:16:02 +00:00
John Criswell
5782ca06fc
Not all platforms supports sighandler_t, so I changed it to use the older
...
return value from signal() (which should be the same type; it's just not
typedef'd).
This fixes the build on Solaris.
llvm-svn: 10675
2004-01-01 15:14:28 +00:00
Chris Lattner
78f1f51c66
* Add a new helper progress method
...
* Make sure that the user sees the 100% mark
* Don't bother printing out X.0%, just print out X%
llvm-svn: 10672
2003-12-31 10:20:38 +00:00
Chris Lattner
73546536b2
Add missing #include
...
llvm-svn: 10669
2003-12-31 07:31:10 +00:00
Chris Lattner
e866d1183b
Add new function
...
llvm-svn: 10664
2003-12-31 06:15:37 +00:00
Chris Lattner
1c007c0ff0
New class, useful for command-line interactive programs.
...
llvm-svn: 10662
2003-12-31 05:40:02 +00:00
Chris Lattner
4a1c74dcf8
Add new method
...
llvm-svn: 10649
2003-12-30 07:36:14 +00:00
Chris Lattner
6b668f228f
Further revisions of the FDHandle idea. In this version we use ownership
...
semantics that are the same as those used by std::auto_ptr. This allows
copying of FDHandle's, but copying transfers ownership.
llvm-svn: 10646
2003-12-30 02:45:16 +00:00
Chris Lattner
0120e92b2b
Add trivial exception specs to produce better code since the methods cannot
...
be inlined.
llvm-svn: 10643
2003-12-29 21:43:58 +00:00
Chris Lattner
a462161f9c
Factor FDHandle out of the bytecode reader into the FileUtilities.h support
...
routines.
llvm-svn: 10642
2003-12-29 21:35:05 +00:00
Chris Lattner
dca358f6ae
implement new getToken function
...
llvm-svn: 10639
2003-12-29 05:07:02 +00:00
Chris Lattner
c9499b6a20
Finegrainify namespacification
...
llvm-svn: 10464
2003-12-14 21:35:53 +00:00
Chris Lattner
dd978ce8c5
Finegrainify namespacification
...
Make the Timer code give correct user/system/user+system times when -track-memory is enabled
llvm-svn: 10463
2003-12-14 21:27:33 +00:00
Brian Gaeke
93823ed30c
Lock abstraction, introduced with a view toward making the JIT thread-safe.
...
Eventually.
llvm-svn: 10284
2003-12-01 21:33:31 +00:00
Misha Brukman
bb718f14e0
Fix copy-pasto.
...
llvm-svn: 10197
2003-11-24 05:36:38 +00:00
Misha Brukman
7c9144b5f5
Add ability to query if a file is a legitimate ELF shared object.
...
llvm-svn: 10193
2003-11-24 05:28:12 +00:00
Brian Gaeke
921440c309
Only use -Wl,-R. if HAVE_LINK_R.
...
llvm-svn: 10066
2003-11-18 06:31:17 +00:00
Brian Gaeke
960707c335
Put all LLVM code into the llvm namespace, as per bug 109.
...
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Brian Gaeke
251b979943
Move IsArchive and IsBytecode here from gccld. Refactor into CheckMagic.
...
llvm-svn: 9901
2003-11-11 21:53:50 +00:00
Brian Gaeke
ca35fbf33d
Add implementation of FileOpenable().
...
Refactor MakeFileExecutable() & MakeFileExecutable() into AddPermissionsBits().
llvm-svn: 9892
2003-11-11 18:27:21 +00:00
Chris Lattner
4d5767c703
Attempt to provide support for those without RTLD_DEFAULT.
...
llvm-svn: 9503
2003-10-25 16:55:32 +00:00
John Criswell
4436c49787
Added LLVM copyright notice to Makefiles.
...
llvm-svn: 9312
2003-10-20 22:26:57 +00:00
John Criswell
482202a601
Added LLVM project notice to the top of every C++ source file.
...
Header files will be on the way.
llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Chris Lattner
4aad8b9ed8
Add debugtype, make output marginally more nice
...
llvm-svn: 9251
2003-10-19 02:27:40 +00:00
Chris Lattner
97d7f8373c
Fix PR #47
...
llvm-svn: 9250
2003-10-19 02:14:58 +00:00
Chris Lattner
0132ae4117
Without this option, the -run-llc mode does not work with shared objects at
...
all, making it pointless for use with the code generator debugger. With it,
it works like a charm.
llvm-svn: 9245
2003-10-18 21:54:47 +00:00
Brian Gaeke
828449f9fe
Fix up error message.
...
llvm-svn: 9139
2003-10-15 20:46:58 +00:00
Chris Lattner
1499851ef6
Generalize abstract interpreter interface to allow linking in an arbitrary number of shared objects
...
llvm-svn: 9129
2003-10-14 21:52:52 +00:00
Chris Lattner
66da9ef634
Substantial cleanups:
...
* Add header comment
* Remove extraneous #includes
* Move the FileType enum into the GCC class
* The GCC class is not virtual.
* Move all of the "constructor" functions into the classes themselves
* Stop using cl::list as arguments, use std::vector instead (which cl::list
derives from)
* Improve comments
llvm-svn: 9121
2003-10-14 21:34:11 +00:00
Chris Lattner
74d64c7d02
Actually return an error if something bad happens, don't just exit.
...
llvm-svn: 9119
2003-10-14 21:07:25 +00:00
Chris Lattner
abb3b38448
LLI no longer has -abort-on-exception
...
llvm-svn: 9097
2003-10-13 18:26:49 +00:00
Chris Lattner
44d2c3514a
Regularize header file comments
...
llvm-svn: 9071
2003-10-13 03:32:08 +00:00
Brian Gaeke
cc31fddf13
Don't include Config/stdio.h or <stdio.h>.
...
llvm-svn: 9031
2003-10-10 18:46:29 +00:00
Brian Gaeke
0cf2da2b03
Change to use LinkDynamicObject instead of dlopen.
...
llvm-svn: 9011
2003-10-10 17:01:49 +00:00
Brian Gaeke
e5e53229fc
Change to use strtoul instead of strtoll.
...
llvm-svn: 9010
2003-10-10 17:01:36 +00:00
Brian Gaeke
e2a8124476
Add my abstracted dynamic linker support files.
...
llvm-svn: 9008
2003-10-10 16:55:42 +00:00
Misha Brukman
c27da9dce0
ToolRunner.h has been moved from include/Support to include/llvm/Support.
...
llvm-svn: 8898
2003-10-06 18:37:24 +00:00
Chris Lattner
8bfda656d9
Implement the NamedRegionTimer class
...
llvm-svn: 8889
2003-10-06 15:02:31 +00:00
Chris Lattner
5f0c08e9cf
Move support/lib/Support back to lib/Support
...
llvm-svn: 8874
2003-10-05 19:24:38 +00:00
Misha Brukman
34c9610e2d
Fixed space issues, code alignment, tabs -> spaces.
...
llvm-svn: 8755
2003-09-29 22:40:07 +00:00
Misha Brukman
b5d41c4ad9
Implementation of the abstraction of running our tools + gcc, taken out of
...
bugpoint for general usage and enjoyment.
llvm-svn: 8754
2003-09-29 22:39:25 +00:00
John Criswell
f874ea807e
Moved code from llvm/lib/Support to llvm/support/lib/Support.
...
llvm-svn: 8735
2003-09-29 15:02:30 +00:00
John Criswell
74c89470d3
In ExecWait(), made the child process exit if it can't execve() the new
...
program.
Added the use of const (which compiles and is hopefully correct).
Added comments.
llvm-svn: 8585
2003-09-17 19:02:49 +00:00
John Criswell
9a99ed1992
Added the ExecWait() function. It executes a program with the specified
...
arguments and environment.
Perhaps it should be merged with the RunProgramWithTimeout function, but I'd
want to allow it to inherit the parent process's stdin and stdout.
I'll save that for a rainy day...
llvm-svn: 8577
2003-09-17 15:13:59 +00:00
Brian Gaeke
6d069fcd49
Add missing apostrophe. It's been bugging me for years.
...
No really, years.
llvm-svn: 8566
2003-09-16 18:00:35 +00:00
Misha Brukman
c08758a5b3
Fixed spelling & grammar.
...
llvm-svn: 8559
2003-09-16 15:31:46 +00:00
John Criswell
b83a22bd82
Added the MakeFileReadable() method.
...
llvm-svn: 8327
2003-09-02 21:09:30 +00:00
John Criswell
44375ca7d6
Added a description of the algorithm.
...
Return failure if the chmod() fails.
llvm-svn: 8326
2003-09-02 20:30:16 +00:00
John Criswell
5357283c7a
Added the MakeFileExecutable() method. This method takes a filename and
...
gives it execute access while respecting the user's umask.
llvm-svn: 8324
2003-09-02 20:14:57 +00:00
Chris Lattner
9527fea3a1
Mangle ALL letters that we do not allow, not just a few.
...
llvm-svn: 8140
2003-08-24 21:08:38 +00:00
Chris Lattner
32db9de2ff
Initial checkin of ValueHolder helper
...
llvm-svn: 8072
2003-08-23 19:43:16 +00:00
Brian Gaeke
497216dc00
lib/Support/CommandLine.cpp:
...
Many changes suggested by Chris. It's okay, I'll recover from the emotional
damage...maybe someday. :-)
Collapse ParseCStringVector into ParseStringVector. Comment it.
Make it take a const input.
Use std::string::npos instead of -1 (what a mouthful!)
Make ParseEnvironmentOptions take const inputs.
Check its args at the very beginning.
Strdup all the contents of newArgv and free them all at the end.
include/Support/CommandLine.h:
Constify progName and envVar arguments to ParseEnvironmentOptions().
llvm-svn: 7905
2003-08-15 21:05:57 +00:00
Brian Gaeke
ca782d9fe6
Add support for reading command line arguments from an environment variable.
...
llvm-svn: 7851
2003-08-14 22:00:59 +00:00
Chris Lattner
afa3ec446c
This file uses stable_sort
...
llvm-svn: 7831
2003-08-13 21:32:37 +00:00
Chris Lattner
291675b34d
Reenable optimized build
...
llvm-svn: 7788
2003-08-12 20:46:50 +00:00
Chris Lattner
ce200422d4
Add support to the mangler for targets which require _'s on global symbols
...
llvm-svn: 7741
2003-08-11 19:34:29 +00:00
Misha Brukman
c231c0889e
close() requires "unistd.h" .
...
llvm-svn: 7695
2003-08-07 21:35:41 +00:00
Misha Brukman
e4d58ec261
Doxygen-ify the comments by using '///' instead of '//'.
...
llvm-svn: 7694
2003-08-07 21:34:25 +00:00
Misha Brukman
b02e413f65
Remove references to `bugpoint' from the now-generic system utilities.
...
llvm-svn: 7693
2003-08-07 21:33:33 +00:00
Misha Brukman
3581f8542d
Moved removeFile() and getUniqueFilename() into FileUtilities.
...
llvm-svn: 7691
2003-08-07 21:28:50 +00:00
Chris Lattner
8fb754a5b9
Move debug functionality to Debug.cpp/Debug.h
...
llvm-svn: 7494
2003-08-01 22:15:41 +00:00
Chris Lattner
f1afe32353
Describe the value name
...
llvm-svn: 7493
2003-08-01 22:15:15 +00:00
Chris Lattner
802b0e2a6e
Check in the implementation of the FileUtilities!
...
llvm-svn: 7487
2003-08-01 21:16:14 +00:00
Chris Lattner
238ec53e70
Use the C++, more portable, deleter
...
llvm-svn: 7483
2003-08-01 20:29:18 +00:00
Chris Lattner
958f47b9f7
Move #include from a header to here
...
llvm-svn: 7480
2003-08-01 19:16:29 +00:00
Chris Lattner
c4bbc7109d
Fix the JIT in the Nightly tester. This was not a fun bug to track down.
...
See the comments in the patch for details.
llvm-svn: 7457
2003-07-31 19:38:34 +00:00
Chris Lattner
eaee325932
Trivial cleanups: no need to include header twice. Global variable is local to file
...
llvm-svn: 7456
2003-07-31 19:31:21 +00:00
Chris Lattner
2da046f055
Add support for "named positional arguments"
...
llvm-svn: 7421
2003-07-30 17:34:02 +00:00
Misha Brukman
3bb53319e8
The RTLD_GLOBAL flag allows symbols to be globally accessible, which makes
...
resolution of symbols in the .so possible (currently assists debugging with
bugpoint).
llvm-svn: 7366
2003-07-28 19:19:58 +00:00
Brian Gaeke
b0078fabea
Include llvm/Support/Mangler.h first. Don't include <iostream>, <set>,
...
<string>, or llvm/Value.h. Move up the inclusion of llvm/Support/Mangler.h.
llvm-svn: 7321
2003-07-25 20:21:20 +00:00
Brian Gaeke
356f3289fe
Cleanups:
...
Mangler.cpp: Constify parameter to makeNameProper, and use const_iterator.
Make Count an unsigned int, and use utostr().
Don't name parameters things that start with underscore.
Mangler.h: All of the above, and also: Add Emacs mode-line. Include <set>.
llvm-svn: 7301
2003-07-24 21:37:57 +00:00
Brian Gaeke
d4dff190a4
Factor out name-mangling from X86/Printer, which is derived from CWriter,
...
into this new support class.
llvm-svn: 7300
2003-07-24 20:20:58 +00:00
Chris Lattner
6077c3195f
Simplify code by using ConstantInt::getRawValue instead of checking to see
...
whether the constant is signed or unsigned, then casting
llvm-svn: 7252
2003-07-23 15:22:26 +00:00
Misha Brukman
7fdaab4f68
The word `separate' only has one `e'.
...
llvm-svn: 7173
2003-07-14 17:20:40 +00:00
Misha Brukman
5258e59908
Fixed grammatical error.
...
llvm-svn: 7160
2003-07-10 21:38:28 +00:00
Misha Brukman
c18333ac0a
Lowercase versions of `occurrence' need to be spelled correctly, too.
...
llvm-svn: 7142
2003-07-10 17:05:26 +00:00
Misha Brukman
069e6b5be0
`Occurrence' has no `a' and the `r' is doubled.
...
llvm-svn: 7140
2003-07-10 16:49:51 +00:00
John Criswell
3ef61afb76
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner
719c715639
Add support for 'unsigned' command line arguments
...
llvm-svn: 6928
2003-06-28 15:47:20 +00:00
Chris Lattner
0cfcaf0cc3
Remove usage of sys/unistd.h
...
llvm-svn: 6788
2003-06-19 18:42:09 +00:00
Brian Gaeke
ad3aabd47a
Put ifdefs around use of malloc.h/mallinfo, which isn't available on FreeBSD.
...
llvm-svn: 6750
2003-06-17 19:54:00 +00:00
Chris Lattner
55491774bb
Actually, change it to use explicit new/delete, which is more likely to be
...
optimized INTO an alloca
llvm-svn: 6727
2003-06-16 22:29:09 +00:00
Chris Lattner
7bdbd91e92
Remove usage of alloca
...
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Brian Gaeke
7a719ed20c
Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
...
so that we can easily change its use to be conditional on the result of
an autoconf test later.
llvm-svn: 6723
2003-06-16 21:54:01 +00:00
Chris Lattner
235b91e2ea
Fix compilation problem with some versions of G++
...
llvm-svn: 6660
2003-06-06 22:13:01 +00:00
Chris Lattner
efadd781f4
Fix problem with perror
...
llvm-svn: 6659
2003-06-06 21:09:29 +00:00