1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 07:22:55 +01:00
Commit Graph

220 Commits

Author SHA1 Message Date
Chris Lattner
b2f675c588 Fix an obvious bug in the Log2 stuff that broke SingleSource/UnitTests/2005-05-12-Int64ToFP
last night.

llvm-svn: 22630
2005-08-03 20:53:19 +00:00
Chris Lattner
42474809e3 Wrap comments to 80 cols, fix code sequence for CountLeadingZeros_64 on
non-ppc GCC 4.0 machines.  Patch by Jim Laskey!

llvm-svn: 22618
2005-08-03 16:53:58 +00:00
Chris Lattner
260411fd9f Fix another bug in the clz patch that caused miscompilations when !gcc4
llvm-svn: 22616
2005-08-03 01:04:40 +00:00
Chris Lattner
420424b477 Fix the non-gcc 4.0 paths for countleadingzeros
Patch fixed by Jim Laskey

llvm-svn: 22598
2005-08-02 20:21:33 +00:00
Chris Lattner
4b86bc6f31 Fix inverted conditionals
llvm-svn: 22597
2005-08-02 20:06:18 +00:00
Chris Lattner
a9994bf67a Fix the non-gcc 4.0 path to compile
llvm-svn: 22593
2005-08-02 19:21:51 +00:00
Chris Lattner
eed3c76305 Consolidate all of the various log2 computing functions into MathExtras.h.
Also, provide accelerated implementations when building with GCC.
Patch contributed by Jim Laskey!

llvm-svn: 22591
2005-08-02 19:15:30 +00:00
Jeff Cohen
81980781a1 Eliminate tabs and trailing spaces.
llvm-svn: 22520
2005-07-27 05:53:44 +00:00
Reid Spencer
78910545f0 For PR540:
This patch completes the changes for making lli thread-safe. Here's the list
of changes:
* The Support/ThreadSupport* files were removed and replaced with the
  MutexGuard.h file since all ThreadSupport* declared was a Mutex Guard.
  The implementation of MutexGuard.h is now based on sys::Mutex which hides
  its implementation and makes it unnecessary to have the -NoSupport.h and
  -PThreads.h versions of ThreadSupport.

* All places in ExecutionEngine that previously referred to "Mutex" now
  refer to sys::Mutex

* All places in ExecutionEngine that previously referred to "MutexLocker"
  now refer to MutexGuard (this is frivolous but I believe the technically
  correct name for such a class is "Guard" not a "Locker").

These changes passed all of llvm-test. All we need now are some test cases
that actually use multiple threads.

llvm-svn: 22404
2005-07-12 15:51:55 +00:00
Reid Spencer
04d734c2f6 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
Reid Spencer
5534b2d505 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
Andrew Lenharth
108f509fb5 header file changes for varargs
llvm-svn: 22253
2005-06-18 18:31:30 +00:00
Reid Spencer
58090fdf3d Make sure a variable is initialized before use to clean up a warning from
GCC 4.0.0 in release build.

llvm-svn: 22248
2005-06-18 16:53:27 +00:00
Chris Lattner
96e6d65c22 silence a huge number of bogus warnings with GCC 4 on Reid's tester.
llvm-svn: 22244
2005-06-17 13:20:15 +00:00
Reid Spencer
0628cd9f1b Don't lie to the casual reader about Value subclassing from Annotable.
llvm-svn: 22215
2005-06-15 18:40:45 +00:00
Reid Spencer
ba222e3e99 Some cleanups for compilation with GCC 4.0.0 to remove warnings:
* Use C++ style casts, not C style casts
* Abstract base classes should have virtual destructor.

llvm-svn: 22057
2005-05-15 16:13:11 +00:00
Chris Lattner
d2dfcb3c0e Add support for explicit calling conventions
llvm-svn: 21745
2005-05-06 20:26:26 +00:00
Misha Brukman
7860850b86 Convert tabs to spaces
llvm-svn: 21437
2005-04-22 03:35:49 +00:00
Reid Spencer
f6e98c8cf5 Change some old-style casts to C++ style casts to avoid warnings in XPS
compilation. This change has been waiting in the wings for a long time but
since Misha just did a global change, I figured now was the time to commit
it.

llvm-svn: 21431
2005-04-22 02:31:56 +00:00
Misha Brukman
8018cc9e05 Remove trailing whitespace
llvm-svn: 21411
2005-04-21 20:48:15 +00:00
Chris Lattner
5c9c611068 Use static_cast and #include Instructions.h
llvm-svn: 20528
2005-03-09 05:35:16 +00:00
Chris Lattner
970db20de4 Fix this to create a recursive mutex. Patch by Evan Jones!
llvm-svn: 20355
2005-02-27 19:07:36 +00:00
Chris Lattner
4750a2274f Rename include guard, patch contributed by Evan Jones!
llvm-svn: 20353
2005-02-27 19:05:24 +00:00
Chris Lattner
c2aa286697 Move private helper function into the only .cpp file that uses it.
llvm-svn: 20169
2005-02-13 23:14:06 +00:00
Chris Lattner
fdbedbbb45 Switch from using an ilist for uses to using a custom doubly linked list.
This list does not provide the ability to go backwards in the list (its
more of an unordered collection, stored in the shape of a list).

This change means that use iterators are now only forward iterators, not
bidirectional.

This improves the memory usage of use lists from '5 + 4*#use' per value to
'1 + 4*#use'.  While it would be better to reduce the multiplied factor,
I'm not smart enough to do so.  This list also has slightly more efficient
operators for manipulating list nodes (a few less loads/stores), due to not
needing to be able to iterate backwards through the list.

This change reduces the memory footprint required to hold 176.gcc from
66.025M -> 57.687M, a 14% reduction.  It also speeds up the compiler,
7.73% in the case of bytecode loading alone (release build loading 176.gcc).

llvm-svn: 19956
2005-02-01 01:22:06 +00:00
Chris Lattner
3f035ee52d There is no reason to include ostream here, include iosfwd instead.
This file was schizophrenic when it came to representing sizes.  In some
cases it represented them as 'unsigneds', 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: 19917
2005-01-29 17:16:07 +00:00
Chris Lattner
41114c90af Fix quotes.
llvm-svn: 19909
2005-01-29 06:29:45 +00:00
Jeff Cohen
8d28a62773 Unbreak VC++ build
llvm-svn: 19908
2005-01-29 06:27:16 +00:00
Chris Lattner
3b3e7f7cc2 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
18d4178fe6 Remove two dead methods and improve the comments for DiffFilesWithTolerance.
Also, make DiffFilesWithTolerance take sys::Path objects instead of std::strings.

llvm-svn: 19770
2005-01-23 03:30:39 +00:00
Chris Lattner
236f3c69b8 New method.
llvm-svn: 19765
2005-01-23 03:11:38 +00:00
Jeff Cohen
43692e25e9 Fix VC++ complaint
llvm-svn: 19747
2005-01-22 16:30:58 +00:00
Chris Lattner
bd8da4c80e Apparently destroyFile() now throws an exception. Since this class is
designed to be put on the stack, that's not cool.  Catch and ignore the
exception.

llvm-svn: 19723
2005-01-20 23:31:35 +00:00
Jeff Cohen
a3414ac8c7 Add missing data types for VC++
llvm-svn: 19680
2005-01-19 05:08:31 +00:00
Chris Lattner
eff86ebbc3 Add a method
llvm-svn: 19540
2005-01-13 23:26:28 +00:00
Chris Lattner
a942f987c0 Add support for bottom-up graphs.
llvm-svn: 19446
2005-01-11 00:24:59 +00:00
Chris Lattner
3db5a50eb5 Add a helper method
llvm-svn: 19439
2005-01-10 23:05:07 +00:00
Jeff Cohen
aef3f70921 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
Reid Spencer
37f31d4aa1 Make printing a warning message optional in CheckBytecodeOutputToConsole.
llvm-svn: 19240
2005-01-02 00:10:03 +00:00
Reid Spencer
2d73c4d556 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
9d949160f5 For PR351:
Move non-portable FDHandle class to its only user: lib/Debugger

llvm-svn: 19106
2004-12-22 10:24:43 +00:00
Jeff Cohen
147ad804fa Fix VC++ compilation error
llvm-svn: 19082
2004-12-21 15:40:41 +00:00
Reid Spencer
9bf67b0b3f For PR351:
Turn path instance variables into sys::Path instead of std::string

llvm-svn: 19038
2004-12-19 17:59:45 +00:00
Reid Spencer
e3eb1bb93d For PR351:
Replace RunProgramWithTimeout with an inline function that calls
sys::Program::ExecuteAndWait. This is now just a convenience function.

llvm-svn: 19037
2004-12-19 17:59:33 +00:00
Reid Spencer
df60327fbe 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
391b891e42 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
22b625f52c Get rid of inclusion of config.h because this file is autoconf'd.
llvm-svn: 18992
2004-12-16 18:47:17 +00:00
Reid Spencer
c13933032d 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
a0f6155809 For PR351:
* isExecutable -> sys::Path::executable()
* Adjust interface of FindExecutable to return a sys::Path

llvm-svn: 18917
2004-12-13 23:40:08 +00:00
Reid Spencer
3b88b3427b 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