Commit Graph

562 Commits

Author SHA1 Message Date
Reid Spencer
772192cf36 For PR351:
Move non-portable FDHandle class to its only user: lib/Debugger


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19106 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-22 10:24:43 +00:00
Jeff Cohen
37ee220462 Fix VC++ compilation error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19082 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-21 15:40:41 +00:00
Reid Spencer
2418bf9546 For PR351:
Turn path instance variables into sys::Path instead of std::string


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19038 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-19 17:59:45 +00:00
Reid Spencer
fd335687bc For PR351:
Replace RunProgramWithTimeout with an inline function that calls
sys::Program::ExecuteAndWait. This is now just a convenience function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19037 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-19 17:59:33 +00:00
Reid Spencer
9ac141823d 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()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19000 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 23:01:34 +00:00
Reid Spencer
a2f7ed7035 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18999 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 23:00:05 +00:00
Reid Spencer
7117c6ed9c Get rid of inclusion of config.h because this file is autoconf'd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18992 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 18:47:17 +00:00
Reid Spencer
67f6d3ad30 For PR351:
Remove getUniqueFilename and CopyFile. These are now implemented by
sys::Path::makeUnique and sys::CopyFile, respectively.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18946 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 01:46:54 +00:00
Reid Spencer
1749a0c1b9 For PR351:
* isExecutable -> sys::Path::executable()
* Adjust interface of FindExecutable to return a sys::Path


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18917 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 23:40:08 +00:00
Reid Spencer
9b9e22a32e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18912 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 20:14:30 +00:00
Reid Spencer
2356f8612e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18910 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 20:08:14 +00:00
Reid Spencer
2923f34533 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18903 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 18:28:59 +00:00
Reid Spencer
9d88d1aaab For PR351: \
The getFileTimestamp and getFileSize functions have been removed from  \
FileUtilities.{h,cpp}. They are replaced by Path::getTimestamp and  \
Path::getSize,respectively.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18892 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 17:01:53 +00:00
Reid Spencer
4251ce4b10 Added a size_type typedef to LLVM containers to make Visual Studio shut up
(and possibly to make LLVM more x86 64bit friendly).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18891 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 16:28:53 +00:00
Reid Spencer
061e9491f8 Remove commented out functions that have been replaced with lib/System
functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18868 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 03:15:47 +00:00
Reid Spencer
d99eaa3c1f For PR351:Remove the file type checking methods (now in sys::Path)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18846 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:57:41 +00:00
Jeff Cohen
31127e1d89 Fix residual Visual Studio build problems
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18688 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-09 05:51:11 +00:00
Reid Spencer
42f006c8f5 Make a const method const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18524 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 05:17:34 +00:00
Reid Spencer
50b0421caa Restrict the interface to not allow algorithm selection
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18248 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 19:37:42 +00:00
John Criswell
8fb51e4800 Moved into the poolalloc tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18102 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 16:32:35 +00:00
Chris Lattner
74db09b096 Ignore generated files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18071 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-21 00:00:04 +00:00
Chris Lattner
721aef6897 Update comments, now that CPR's are gone, inline the methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17957 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 17:46:57 +00:00
Reid Spencer
e26057a376 Standardize on 'class' instead of 'struct'. Gets rid of warnings in VC++
Patch contributed by Jeff Cohen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17889 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:58:55 +00:00
Reid Spencer
9bbba09139 Per code review:
*Implement/Document the cl::extrahelp feature instead of the MoreHelp ptr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17871 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:11:52 +00:00
Reid Spencer
f44715638b Linker is its own module now. Moved to include/llvm/Linker.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17758 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:50:50 +00:00
Reid Spencer
14ef01405c Add higher level interface to simplify use of Compressor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17757 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:50:00 +00:00
Reid Spencer
cc08ee507f Add the MoreHelp function pointer. If non-null, this specifies a function to be called to print out additional help information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17756 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:49:13 +00:00
Chris Lattner
e6c745261e Add useful method, minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17715 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13 23:28:10 +00:00
Chris Lattner
f17ffcce18 Add support for shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17702 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13 19:32:45 +00:00
Chris Lattner
5200ad1b34 defining __STDC_LIMIT_MACROS on the command line is not really necessary
for Visual Studio, and is a bit of a pain when you want to include the
LLVM headers from your own project, so I moved the check a bit down into
the Unix case to avoid the hassle... Here is a patch

Patch by Morten Ofstad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17450 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-03 17:15:45 +00:00
John Criswell
9ba883c22f Commented out the _Alloc_traits specialization entirely, as it is only
supported by specific versions of GCC.

It is left in place in case anyone wants to updated it for GCC 3.4 or
re-use it for earlier versions of GCC where it works.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17324 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 18:21:41 +00:00
John Criswell
cd74271a79 Only add the _Alloc_traits specialization in if we're compiling for
Linux and not compiling for Sparc.
This is still probably not correct, or portable, but it'll do for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17321 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 17:31:46 +00:00
Chris Lattner
1fca5ff62b Convert 'struct' to 'class' in various places to adhere to the coding standards
and work better with VC++.  Patch contributed by Morten Ofstad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 16:14:51 +00:00
Chris Lattner
b2fc1fcb90 Fix header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17259 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-26 16:19:57 +00:00
Misha Brukman
e757752e39 * DataTypesFix.h moved to AIXDataTypesFix.h
* Condition #inclusion of AIXDataTypes.h on the _AIX preprocessor symbol to
  prevent extra I/O on non-AIX systems.  Thus, no #ifdef in AIXDataTypes.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17257 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-26 16:15:18 +00:00
Chris Lattner
7a36ae8b01 Patch to support MSVC better, contributed by Morten Ofstad
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17215 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-25 18:40:47 +00:00
Misha Brukman
e42aeece6c Move code to redefine INT64_{MIN,MAX} on AIX/PowerPC to a separate header,
because #undef becomes commented out in DataTypes.h.in due to autoheader


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17135 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 22:14:48 +00:00
Misha Brukman
103f2eede3 * AIX on Power defines INT64_MIN and INT64_MAX in ways that annoy GCC, so
special-case those definitions
* Add comments in #ifdef/#else/#endif clauses for ease of reading


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17132 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 18:35:21 +00:00
Chris Lattner
c8717b1624 Add support for the unreachable instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17039 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16 18:06:43 +00:00
Chris Lattner
c441f1e1c7 Fix #include flavor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16658 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 18:10:18 +00:00
Reid Spencer
469c34bdeb Add a context for the callback so different compression scenarios can be
distinguished. Tidy up documentation.  Thanks, Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16652 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 17:29:25 +00:00
Reid Spencer
460eb63612 First version of a support utility to provide generalized compression in
LLVM that handles availability and unavailability of bzip2 and zlib.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16648 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 10:49:41 +00:00
John Criswell
4046846d2c Updated the last two header files so that they are configured with
AC_CONFIG_HEADERS.  This should prevent LLVM from needlessly re-compiling
on a re-configure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16510 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24 21:19:06 +00:00
John Criswell
5fbb1f8fcc Configure Datatypes.h.in with AC_CONFIG_HEADERS. This should prevent it
from being re-generated if the new version is identical to the old version.
Hence, it should save us some recompiling after re-configures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16506 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24 13:28:51 +00:00
Misha Brukman
2d3dcb6a55 I was actually wrong in my "simplification".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16156 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 19:46:43 +00:00
Misha Brukman
18d55dd700 Simplify check for uint64_t and u_int64_t
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 19:44:28 +00:00
Reid Spencer
206043aac9 Provide correct definition of uint64_t for platforms that have only
u_int64_t defined.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16154 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 19:37:39 +00:00
Reid Spencer
551ccae044 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/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Chris Lattner
e265504e82 Add an overload
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15889 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 19:17:10 +00:00
Chris Lattner
2c2475296d Allow an arbitrary prefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15864 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:06:37 +00:00
Reid Spencer
1e13fd23d3 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15725 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 19:47:30 +00:00
Chris Lattner
7c136c3f8b Minor efficiency improvements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15461 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 04:45:29 +00:00
Misha Brukman
b714fdccdb Enable compilation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15344 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 14:33:07 +00:00
Chris Lattner
524d8f1722 Check in some useful helper routines for doing ML-style pattern matching on
the LLVM IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15341 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 07:45:00 +00:00
Chris Lattner
62c91fcda5 Provide timeout values to all abstract interpreters
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 07:48:50 +00:00
Chris Lattner
de0213b9f5 Add support for killing the program if it executes for too long.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15158 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 07:41:31 +00:00
Brian Gaeke
7d02766247 Include <iostream> here, because most people using DEBUG() want to use std::cerr too.
This means that users of this file do not also need to include <iostream>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15088 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21 20:50:22 +00:00
Brian Gaeke
a7d03b466a Add prototypes for platform-independent wrappers for isinf().
Patch contributed by Bill Wendling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15055 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21 03:15:14 +00:00
John Criswell
7ed43ad3ab Added support for stdint.h. It is now automatically included by
DataTypes.h.  So far, it doesn't seem to break Linux, Solaris, or MacOS X.
This should automatically include it for those people who need it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15006 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-19 16:12:29 +00:00
Chris Lattner
dcb115bc82 Add a new macro to be used for the end of enum lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14862 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 00:01:05 +00:00
Chris Lattner
6a4dd24a99 Provide better support for pointer-valued command line arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 03:18:30 +00:00
Chris Lattner
170d3af552 Add a new header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 01:03:57 +00:00
Chris Lattner
ddc49d6121 Add a new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14705 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-08 22:09:07 +00:00
Chris Lattner
6b5f30f365 Get rid of Annotable's vtable. If anyone deletes an object through an Annotable*,
they get what they deserve.

This reduces the size of Instruction & Function by 4 bytes each.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14433 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-27 18:36:39 +00:00
Brian Gaeke
7764f4b2e0 Provide prototypes for IsNAN() wrapper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14339 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 00:25:24 +00:00
Chris Lattner
c8fd918aa1 Initial checkin of the StableBasicBlockNumbering, a little helper class for computing
(strangely enough) a stable (determinstic) numbering for basic blocks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14246 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-19 08:41:59 +00:00
Chris Lattner
96698a5ec7 Warning foo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14035 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-05 00:17:13 +00:00
Chris Lattner
bc2de3c515 Add some constants for VC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14028 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:58:34 +00:00
Chris Lattner
775b08d9e8 Fix a *really* dumb warning on VC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14025 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:47:19 +00:00
Chris Lattner
745feacfd6 Add ssize_t for VC++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14018 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:06:33 +00:00
Chris Lattner
d1e89d657c Add more needed typedefs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14014 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 19:11:04 +00:00
Chris Lattner
6549b82535 Make this work with VC++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14012 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 19:01:49 +00:00
Chris Lattner
51ae205adf The prototype for ParseCommandLineOptions changed at some point, but this
was never updated.  I guess GCC just ignores the prototype


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13995 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 22:07:26 +00:00
Chris Lattner
2a7f15e50b Add a new CopyFile function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13944 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:51:20 +00:00
Chris Lattner
34e40d44c2 Add a new function for the JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13869 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 00:58:48 +00:00
Chris Lattner
eb08299518 Add a pair of functions to hide system specific details of mapping a file in for reading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 00:23:48 +00:00
Reid Spencer
e0b295afd6 Removed unused, useless header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13757 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 17:28:35 +00:00
Alkis Evlogimenos
14d2638e38 Remove virtual destructor from InstVisitor. This class should never be
used through a base pointer/reference so inproper destruction should
never be an issue. Removing this last virtual function also saves 4
bytes off each InstVisitor instance.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13664 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:54:39 +00:00
Vikram S. Adve
b5b0b45e58 Add getCaller() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13650 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:02:45 +00:00
Chris Lattner
3b963590ef Starting an identifier with an _ is not legal C/C++ code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13620 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 18:37:13 +00:00
Chris Lattner
2944bcaaed Add the enum corresponding to the source change I made earlier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07 02:27:32 +00:00
Alkis Evlogimenos
ad5c296792 Fix for gcc3.4: invalid use of forward delacred class on line 93
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13370 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06 02:07:42 +00:00
Brian Gaeke
6178085cfd Move the stuff that fixes the size, orientation & fonts of graphs to
the debugging functions that call "dot". These fixed settings have
various problems: for example, the fixed size that is set in the graph
traits classes is not appropriate for turning the dot file into a PNG,
and if TrueType font rendering is being used, the 'Courier' TrueType font
may not be installed. It seems easy enough to specify these things on the
command line, anyhow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-05 06:10:06 +00:00
Brian Gaeke
48b008db57 Apply simplification suggested by Chris: why assign() when operator = will do?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13364 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 22:02:41 +00:00
Brian Gaeke
d11577b68b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 21:09:01 +00:00
Misha Brukman
2dd5c96866 Provide visit(Module&) and visitModule(Module&) functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 18:30:38 +00:00
Chris Lattner
0aef12a7a9 Move the GraphTraits for MachineBasicBlocks to the MachineBasicBlock file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13299 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-01 21:05:34 +00:00
Brian Gaeke
8c53472d0c Add machine-CFG graph traits specializations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13288 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-29 17:43:55 +00:00
Chris Lattner
6ffe551f65 Changes to fix up the inst_iterator to pass to boost iterator checks. This
patch was graciously contributed by Vladimir Prus.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13185 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-27 15:13:33 +00:00
Chris Lattner
72e606e2bd Support iteration over constant instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-04 19:46:54 +00:00
Chris Lattner
43cb041754 Allow for use of arbitrary iterator types...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12642 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-03 23:29:11 +00:00
Chris Lattner
909f6cf350 Add new function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12601 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 05:04:12 +00:00
Chris Lattner
fc33d30446 Add some new methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12539 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-30 00:20:08 +00:00
Chris Lattner
62fe9b59c1 Relax the interface a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12533 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-29 20:42:38 +00:00
Chris Lattner
57b25973d6 Add the visitSelectInst visitor method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12312 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:51:22 +00:00
Brian Gaeke
e9f6f2c049 Update comment at head of file. Also fix C 'typedef struct' nonsense I
inadvertently left in here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11988 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 06:33:28 +00:00
Brian Gaeke
620ee02353 Add more architectures, and ELF64 stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11985 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 06:30:25 +00:00
Brian Gaeke
757c1f9d87 Fix my sloppiness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11968 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 22:06:03 +00:00
Brian Gaeke
6c39a42b5c ELF constants and data structures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11945 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 06:26:20 +00:00
Chris Lattner
1cd4c7294c 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11871 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 07:24:18 +00:00
Brian Gaeke
bb92f6fbf2 Cygwin defines log2 as a macro. Undef it here IFF it has already been defined,
so that we always get the inline function instead. Remember, kids, like it says
in the GCC manual, "An Inline Function is As Fast As a Macro."


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11815 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 01:53:45 +00:00
Chris Lattner
7b3d73b7ec Use the new LLVM is_class template instead of the boost one, allowing us to
remove our dependency on boost!  Thanks to Reid Spencer for making this possible!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11785 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:50:05 +00:00
Chris Lattner
5c4d53a4d1 Check in a new type_traits header which provides the mysterious is_class
template.  Thanks go out to Reid Spencer for skillfully extracting this
from boost!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11784 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:49:29 +00:00
Brian Gaeke
95ee9bd81f DataTypes.h is now output from configure, and shortened
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11778 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 22:07:26 +00:00
Brian Gaeke
a6eb7c19a1 ThreadSupport.h is now output from configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11770 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:30:29 +00:00
Chris Lattner
2425f8c629 Significantly simplify gep_type_iterator, and make its interface more general/powerful
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11708 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22 06:27:03 +00:00
Alkis Evlogimenos
1d29a6d6c7 Make ToolExecutionError inherit std::exception and implement its
interface: getMessage() is gone, use what() instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11621 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 07:39:26 +00:00
Chris Lattner
f03715c6a8 Add support for just compiling a program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11610 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:24:29 +00:00
Chris Lattner
c8580b2aee Byebye method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11598 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:38:12 +00:00
Chris Lattner
8c56be5e2b When an error occurs executing a tool, we now throw an exception instead
of calling exit(1).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11593 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:21:57 +00:00
Chris Lattner
f5c8146a7c Change the order of the arguments to the ctor, allowing us to make the boolean default to true
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11592 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:20:52 +00:00
Chris Lattner
f1e3285f3a Move a helper class out of bugpoint to here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11582 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 17:16:17 +00:00
Chris Lattner
df2cf418a8 The CBE is no longer in llvm-dis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11532 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-17 06:39:48 +00:00
Chris Lattner
d11e647257 Add method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11425 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14 00:30:31 +00:00
Chris Lattner
6a6dd6f487 If a node has more than 64 outgoing edges, make the edges go from the 'truncated' block,
instead of dropping them entirely.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11334 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 20:44:17 +00:00
Chris Lattner
440f87eea2 Revision of Brian's threading support library to be a bit more generic and
platform independent.  This code is completely untested (but never used),
and needs autoconf support for detecting pthreads, but it's a start, and
deletes two emails from my inbox.  :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-17 19:54:29 +00:00
Chris Lattner
9e26027b82 * 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%


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10672 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-31 10:20:38 +00:00
Chris Lattner
7a312bc102 add new function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10665 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-31 06:16:02 +00:00
Chris Lattner
cf902777e9 clarify comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10663 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-31 05:45:16 +00:00
Chris Lattner
a2e9363617 New class, useful for command-line interactive programs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10662 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-31 05:40:02 +00:00
Chris Lattner
9c4c66e70e Add new function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10648 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-30 07:35:47 +00:00
Chris Lattner
9899ae3ae8 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10646 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-30 02:45:16 +00:00
Chris Lattner
9b448b703f Add trivial exception specs to produce better code since the methods cannot
be inlined.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10643 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-29 21:43:58 +00:00
Chris Lattner
2d6481cc2a Factor FDHandle out of the bytecode reader into the FileUtilities.h support
routines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10642 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-29 21:35:05 +00:00
Brian Gaeke
92c59d60c9 Fix typo in comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12 04:58:13 +00:00
Brian Gaeke
59e47e3ee1 Lock abstraction, introduced with a view toward making the JIT thread-safe.
Eventually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10284 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 21:33:31 +00:00
Chris Lattner
d423fb5cbf fix gcc 3.4 compatibility problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-28 01:46:06 +00:00
Chris Lattner
c4c6b9e5bc Work with gepi's and constant exprs. Also, add versions of iterator ctors that take references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10220 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-25 20:17:49 +00:00
Chris Lattner
94a28c6bc8 Rename class to be consistent with other iterator classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10213 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-25 19:58:35 +00:00
Chris Lattner
19ed305339 Initial checkin of gep_type_begin/end which will be used to address PR82
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10212 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-25 19:37:28 +00:00
Misha Brukman
a140b3c367 Expose functionality to query if a file is an ELF shared object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10194 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-24 05:28:39 +00:00
Chris Lattner
8b70b78ba4 Fixes for PR114: Thanks to Reid Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10029 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 20:21:15 +00:00
Chris Lattner
e94e0edc3e Fix faulty namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9943 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-12 22:45:14 +00:00
John Criswell
fed0b2995e Regress to not using the llvm namespace.
This keeps Pool Allocation stuff from compiling.
We can re-visit it later when we have time to do it right.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9932 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-12 21:32:06 +00:00
Brian Gaeke
d0fde30ce8 Put all LLVM code into the llvm namespace, as per bug 109.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
Brian Gaeke
f33d00f0d8 Add prototypes for CheckMagic, IsArchive, and IsBytecode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9900 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 21:53:29 +00:00
Brian Gaeke
6a9127ec00 VS: ----------------------------------------------------------------------
Add prototype for FileOpenable().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9891 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 18:27:11 +00:00
Chris Lattner
33e0a7575d No really, I'm not on crack
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9855 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10 04:23:52 +00:00
Chris Lattner
b977ef2d54 Helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9854 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10 04:16:50 +00:00
Chris Lattner
94db57024f Provide a specialization of _Alloc_traits, which allows the G++ runtime to avoid
storing an instance of the allocator in each data structure it uses.  Yaay.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9795 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 23:20:56 +00:00
Brian Gaeke
4ba0f57904 Add a warning about not "new"ing or "delete"ing CallSites
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 19:25:22 +00:00
Chris Lattner
f0d6b493f2 Add some ctors for this allocator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9766 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 15:20:06 +00:00
Brian Gaeke
01f93a4712 A few handy methods that seem to mesh well with what CallSite already provides.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9737 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 20:25:33 +00:00
Chris Lattner
c2630f7314 New file, for use by the pool allocator project
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9702 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-04 22:38:28 +00:00
Chris Lattner
ac50030f86 Allow CallSites to be used as the key of a map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9660 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-02 23:04:33 +00:00
Chris Lattner
1926f69c53 Escape "'s, which are frequent visitors to C++ types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9642 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 22:16:41 +00:00
Chris Lattner
bc539434c5 Did I mention that I _HATE_ CPRs?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9639 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 18:38:06 +00:00
Chris Lattner
7c4098ee2b Add assertions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9443 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 19:33:49 +00:00
John Criswell
6fbcc26f14 Added LLVM copyright header (for lack of a better term).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
John Criswell
b2109ce978 Added LLVM notice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 19:46:57 +00:00
Chris Lattner
4661dc6a6a Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
This allows removal of a special case from the instvisitor


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:34:11 +00:00
Chris Lattner
99e7ab72c8 New revised variable argument handling support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9219 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 05:53:13 +00:00
Chris Lattner
eeed983821 Generalize abstract interpreter interface to allow linking in an arbitrary number of shared objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9129 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:52:52 +00:00
Chris Lattner
7915a1e764 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9121 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:34:11 +00:00
Misha Brukman
d5d96b9fcd Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9021 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:42:19 +00:00
Brian Gaeke
f212e47271 Add my abstracted dynamic linker support files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9008 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 16:55:42 +00:00
Chris Lattner
aacd3c8d86 Doxygenize class comments. Add new NamedRegionTimer class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8888 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-06 15:02:16 +00:00
Chris Lattner
48486893f4 Standardize header file comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 18:37:50 +00:00
Chris Lattner
f474449804 Add a file header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8781 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 18:28:53 +00:00
Misha Brukman
29afb64d5b Abstracted away the process of running our tools + gcc from bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8753 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 22:38:57 +00:00
Misha Brukman
516d4b1366 Tersified and fixed whitespace (tabs -> spaces).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8752 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 22:37:57 +00:00
Brian Gaeke
02dea4b355 Fix a typo I happened to notice.
Rename include guards in the "usual" manner.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8695 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-24 04:09:50 +00:00
Chris Lattner
02a3be020a Rename Function::getEntryNode -> getEntryBlock
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8625 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-20 14:39:18 +00:00
John Criswell
e5b3e1559b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8585 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 19:02:49 +00:00
John Criswell
e9ba8b3674 Added the ExecWait() function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8578 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 15:14:25 +00:00
Chris Lattner
776f776838 Fix spello
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10 05:30:09 +00:00
Chris Lattner
3cd5c1d7f1 add support for the unwind inst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8406 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-08 18:54:16 +00:00
John Criswell
66622be46a Added the MakeFileReadable() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8327 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-02 21:09:30 +00:00
John Criswell
6991a03753 Added the MakeFileExecutable() method. This method takes a filename and
gives it execute access while respecting the user's umask.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8324 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-02 20:14:57 +00:00
Chris Lattner
004caf4ded Remove automagic support for Modules. Noone uses it now anyways, and GCC 3.4 doesn't want us to do this unless Module has been #included
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8216 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 14:48:21 +00:00
Misha Brukman
88d942d898 Spell `incompatible' correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8163 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 18:26:28 +00:00
Chris Lattner
2d710ff7cf Of course, the copy ctor really should copy the operand as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8077 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 20:06:38 +00:00
Chris Lattner
8518e74f3e Add more methods to be more value-like
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8074 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 19:51:10 +00:00
Chris Lattner
88e1eef1ed Initial checkin of ValueHolder helper class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8073 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 19:43:18 +00:00
Chris Lattner
31a6db0f2c Changes to work better with GCC3.4/LLVM G++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8054 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 14:26:59 +00:00
Chris Lattner
3c7eb1f2ea Make assertion message more helpful in a case that might happen...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7975 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-19 21:57:00 +00:00
Misha Brukman
5560c9d49c Spell `necessary' correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Brian Gaeke
c48ef2ae36 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().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7905 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 21:05:57 +00:00
Chris Lattner
20968a2472 Remove extraneous cl:: namespace qualifiers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7852 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 22:04:41 +00:00
Brian Gaeke
06b06c5f00 Add support for reading command line arguments from an environment variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7851 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 22:00:59 +00:00
Chris Lattner
2b3860faeb Add support to the mangler for targets which require _'s on global symbols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7741 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:34:29 +00:00
Misha Brukman
35d402fbba Remove references to `bugpoint' from the now-generic system utilities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7693 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:33:33 +00:00
Misha Brukman
3d1b0c7331 Moved removeFile() and getUniqueFilename() into FileUtilities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7691 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:28:50 +00:00
Chris Lattner
2dd93edfc2 Move debugging support out of Statistic.h into Debug.h, implement the new DEBUG_TYPE facilities
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7490 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:12:40 +00:00
Chris Lattner
4181a4fb4f New file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7482 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 20:28:55 +00:00
Tanya Lattner
ebb20c51fa Need to include <string> to fix compile error on Sun
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7358 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 16:42:33 +00:00
Brian Gaeke
00fee61672 Forward-declare class Module to make the header file self-contained.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7319 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 20:20:53 +00:00
Chris Lattner
d957518b51 Use the C++ <cassert> header, not the C <assert.h> header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7310 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:34:17 +00:00
Chris Lattner
a44a4cd055 Add includes of assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7307 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:23:27 +00:00
Chris Lattner
ab63bd15f5 Add assert.h include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7305 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 16:47:07 +00:00
Brian Gaeke
4166445b7c 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>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7301 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 21:37:57 +00:00
Brian Gaeke
b198ca304b Factor out name-mangling from X86/Printer, which is derived from CWriter,
into this new support class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 20:20:58 +00:00
Misha Brukman
bc0e998c49 The word separate' only has one e'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-14 17:20:40 +00:00
Misha Brukman
b5c520bfb6 Lowercase versions of `occurrence' need to be spelled correctly, too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7142 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 17:05:26 +00:00
Misha Brukman
dd6cb6a43b Occurrence' has no a' and the `r' is doubled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7140 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 16:49:51 +00:00
John Criswell
7a73b80b90 Merged in autoconf branch. This provides configuration via the autoconf
system.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
Chris Lattner
d2a6fc397e Add support for 'unsigned' command line arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6928 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 15:47:20 +00:00
Chris Lattner
3889a2cb05 Remove a ton of extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:08:05 +00:00
Chris Lattner
697a00fbf0 * Add new CallSite::get factory method
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6758 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 22:16:59 +00:00
Chris Lattner
57ec659810 Make sure accessor is properly doxygenized. It wants two lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:51 +00:00
Chris Lattner
95ab3d4bc4 Add accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6755 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:31 +00:00
Chris Lattner
ad110d2bb4 Make CallSite's default constructable, copyable, and assignable (explicitly)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6749 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 19:50:28 +00:00
Brian Gaeke
a9f6e4ae0e Regularize the names of #include-guards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 00:35:55 +00:00
John Criswell
be583b914d Included assert.h so that the code compiles under newer versions of GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:01:36 +00:00
Chris Lattner
bf0ac3fe69 Add doxygen comment for namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6579 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:37 +00:00
Chris Lattner
1ff1da7ac9 dyn_cast_or_null should work just the same as dyn_cast does
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6394 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:07:48 +00:00
Chris Lattner
7594b29c75 Remove long dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6307 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 22:00:54 +00:00
Chris Lattner
b3b729b69b Add support for a new "CommaSeparated" modifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 20:25:57 +00:00
Misha Brukman
82c89b9f3a Hopefully, the final fix for `[Pp]ropogate'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6251 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 21:01:22 +00:00
Chris Lattner
806cebc562 Updates to match recent timer updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6069 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 20:44:22 +00:00
Chris Lattner
97b315a585 Add support for the new VarArgInst instruction, reindent some stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6028 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 02:43:06 +00:00
Chris Lattner
6ad5a31324 Revert last checkin. Note that PHI nodes can use basic blocks also!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5956 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 17:38:26 +00:00
Chris Lattner
90117cbb6f Remove long-dead obsolete cruft
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5955 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 23:39:08 +00:00
Chris Lattner
baf64b1e1c Remove support for "targetdata pass ctors"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5901 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 18:41:30 +00:00
Chris Lattner
d55e98673a Kill unneccesary &*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5870 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:35:30 +00:00
Chris Lattner
ea0f49e524 Allow dyn_cast to operate on things that aren't OBVIOUSLY a pointer type.
These things can be converted to a pointer, like ilist_iterators


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5861 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:17:28 +00:00
Chris Lattner
93a7e08d1f Initial checkin of CallSite wrapper for Call/Invoke instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5618 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:35:45 +00:00
Chris Lattner
a329733f47 Allow the addition of edge source labels
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5493 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 19:40:59 +00:00
Chris Lattner
cb09cc268b Move annotation to support library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:58 +00:00
Chris Lattner
4a10645c70 New files for miscompilation detection
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5120 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-23 23:50:16 +00:00
Chris Lattner
90c5fdb20a Give better error message if two passes of the same argument are registered
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4950 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-07 04:41:22 +00:00
Chris Lattner
af43b64d12 Ignore options that are ""
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4757 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 17:10:14 +00:00
Chris Lattner
44a92675e4 Add facility to compute peak memory usage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4752 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-18 21:45:55 +00:00
Chris Lattner
d8d97ce857 Fix a problem where bad graphs could be generated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4671 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 06:47:03 +00:00
Chris Lattner
b7843a4f57 Allow memory sizes to be negative, eliminate TmpRSS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4539 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 19:20:09 +00:00
Chris Lattner
4a63b72df9 Don't #include <Support/*>, #include "Support/*"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4325 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 02:11:53 +00:00
Chris Lattner
ab77194e2a Old GCC's don't have an <ostream>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4293 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:12:37 +00:00
Chris Lattner
137d399fae Don't emit braces around something without outgoing edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4225 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-18 14:55:44 +00:00
Chris Lattner
dc05fffe2b Break up the GraphWriter into smaller chunks to be used in different ways
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4207 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 00:59:59 +00:00
Chris Lattner
a16adb7dd2 As wierd as it feels to type it, const void* is more generic than void*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4206 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 00:16:39 +00:00
Chris Lattner
7be17dd233 Allow simple nodes to have outgoing edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4202 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 20:15:38 +00:00
Chris Lattner
96f5493100 * Factor printing code again, add emitSimpleNode method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4198 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 02:03:18 +00:00
Chris Lattner
834a9d12f3 * Add new DOTGraphTraits::addCustomGraphFeatures method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4197 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:44:59 +00:00
Chris Lattner
8c836ce4f8 * Significantly refactor GraphWriter into a class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4194 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:34:18 +00:00
Chris Lattner
63a32de776 - Generic graph printing infrastructure changes:
* Only print outgoing edges from a cell if the destination isn't null.
       This is important for DSGraphs, which have sources with no edges.
     * Allow Node attributes to override shape of the node


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4192 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:18:14 +00:00
Chris Lattner
f77b57097d Expose API to graph library to allow iteration over all nodes, even unreachable ones
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4111 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:31:31 +00:00
Chris Lattner
f6516da9b3 * Don't only print out reachable nodes in the graph.
* use new api to get all nodes in the graph
  * Allow custom graph traits


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4109 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:29:51 +00:00
Chris Lattner
e9812838ee Add new getGraphProperties that may be specialized by graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4108 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:29:10 +00:00
Chris Lattner
9106a58806 Don't rotate paper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 22:37:03 +00:00
Chris Lattner
95b923d548 - Allow printing generic LLVM graphs to 'dot' files, so they can be
visualized easily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4061 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:37:10 +00:00
Chris Lattner
8f1717f697 Fix bug in last checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4058 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 17:13:22 +00:00
Chris Lattner
5554a1de08 Implement operator= for SuccIterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4055 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 16:53:22 +00:00
Chris Lattner
b0d0f5b473 The wall clock timer (implementing using the RTC or cycle counter on x86) is
so much more accurate than the per process timers that we get better results
(less noise) by sorting according to wall time than process time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4034 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-03 21:08:20 +00:00
Chris Lattner
6c38a79d77 Checkin generic interval timer support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3992 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 19:36:54 +00:00
Chris Lattner
16ca2b991b Fix ambiguity problem due to builtin log2(double) function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3800 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:56:50 +00:00
Vikram S. Adve
46fece70c2 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3749 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:01:41 +00:00
Chris Lattner
4042332d4a Checkin patch written by Casey Carter, enabling support for the redhat GCC 2.96
compiler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3697 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 14:33:39 +00:00
Chris Lattner
a690c590dc Eliminate the GenericBinaryInst class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3649 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:35:23 +00:00
Chris Lattner
96c2ce8614 Checkin initial support for automatic memory leak detection routines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3617 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:51:12 +00:00
Chris Lattner
625ea21205 Implement operator== and != for ranges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3571 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-03 01:05:31 +00:00
Chris Lattner
7382e73f86 Add printing support to ConstantRange class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3566 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-02 00:18:26 +00:00
Chris Lattner
f6814d1dc7 Initial implementation of ConstantRange support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3564 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-01 23:53:39 +00:00
Chris Lattner
3bb8ad27a8 Eliminated the MemAccessInst class, folding contents into GEP class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3488 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 23:37:24 +00:00
Chris Lattner
d145c2172f Load & Store Inst now no longer derive from MemAccessInst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3486 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 22:54:10 +00:00
Chris Lattner
7742799a80 Add missing forward decl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3413 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 15:38:45 +00:00
Chris Lattner
30551d02f5 Remove support for unary instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3324 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:18:28 +00:00
Chris Lattner
d23a35bc2b Simplify interface to parsers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3255 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 18:36:27 +00:00
Chris Lattner
7b499f7303 Factor PassNameParser out of opt.cpp so that analyze and eventually llc can use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3108 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 21:09:10 +00:00
Chris Lattner
47d3e26139 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3082 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:39:09 +00:00
Chris Lattner
c6a4bf1251 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3077 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:00:45 +00:00
Chris Lattner
fe8041ae39 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:08:53 +00:00
Chris Lattner
7f4dd472e3 Changes to build with GCC 3.1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3064 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:08:36 +00:00
Chris Lattner
5a6d63ae29 Add missing typename's that GCC3.1 is whining about.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3051 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:22:09 +00:00
Chris Lattner
e2c677fd9c Disable the operator= in Value
Disable the copy ctor and operator= in Annotation.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3048 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:01:57 +00:00
Chris Lattner
c1b5d092a0 Initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3005 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:56:53 +00:00
Chris Lattner
af7e82184d Add support for removing an option from a genericparser
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2998 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:15:09 +00:00
Chris Lattner
ae1257a77b Change to avoid bug in GCC 3.0.4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2997 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 00:44:37 +00:00
Chris Lattner
331de23705 Checkin CommandLine 2.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2982 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:07:59 +00:00
Chris Lattner
7e70829632 MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:24 +00:00
Chris Lattner
71fb71628a Add ability to update existing variables with values read from the command line
to certain classes.  This is nice because it means that in header files we can
just declare a value, and still have that value be set based on a command-line
argument.  The difference is now that the #include of CommandLine.h does not
need to go into the header file as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2708 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 17:03:05 +00:00
Chris Lattner
54ea60c69e Cleanups, rename IsPowerOf2 to isPowerOf2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2662 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 21:19:55 +00:00
Vikram S. Adve
bcfa423e3d Added log2 for log-base-2 and also modified IsPower2 to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2653 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:46:52 +00:00
Chris Lattner
dd63a37c87 Make sure to call the derived visit versions from the ranged iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2607 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 22:21:05 +00:00
Chris Lattner
b498cce6b2 Add explicit abort so optimized build knows that the function does not return
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2605 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 18:53:55 +00:00
Chris Lattner
efbe5d682b Update header after moving file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:34:57 +00:00
Chris Lattner
0e743b8397 * Add a comment to the header giving a breif overview of how to return a
value from a visit function
* Define a (file local) DELEGATE macro to make the code easier to read/maintain
* Define per-opcode delegation functions so that users can override specific
  instances of BinaryOperator for example.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2290 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 16:16:16 +00:00
Chris Lattner
536fe85d6d * Make dtor virtual
* Add a new defaulted argument that allows the instruction visitation
  visitors to return a non-void value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2289 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 15:46:40 +00:00
Chris Lattner
7296e93f08 * s/Method/Function
* Add/allow callbacks for module,function, & basic block visiting


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2250 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-15 19:32:36 +00:00
Chris Lattner
b7653df085 s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2180 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:03:57 +00:00
Chris Lattner
589df88ba0 Pull casting operators out of Value.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2166 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 21:43:56 +00:00
Chris Lattner
2fbfdcffd3 Change references to the Method class to be references to the Function
class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 20:49:59 +00:00
Chris Lattner
b4c5f83eac Initial checkin of InstVisitor class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1916 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-18 19:07:42 +00:00
Chris Lattner
cc179d3ab8 * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into
llvm/Support/CFG.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1749 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-12 22:35:32 +00:00
Chris Lattner
428039a6e1 * Move BasicBlock and Method graph stuff to new "llvm/Support/CFG.h" file
* Move Method::inst_* to new "llvm/Support/InstIterator.h" file
* inst_iterator no longer permits resync'ing


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1744 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-12 21:02:53 +00:00
Chris Lattner
697954c15d Changes to build successfully with GCC 3.02
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
cee8f9ae67 Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
360e17eaf1 Move DataTypes.h from llvm/Support to just Support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1399 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 23:04:08 +00:00
Chris Lattner
6eaa457343 Print floating point numbers in expodential form so that small numbers don't get truncated, which broke the health benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1086 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 22:06:00 +00:00
Chris Lattner
5f62191f02 Include functionality to get a string array constant as a string
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1020 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 13:24:31 +00:00
Chris Lattner
1d050112f7 Initial checkin of name mangling code. Moved from Linker.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1017 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 23:31:10 +00:00
Chris Lattner
fa2c50324e Remove unneccesary function prototypes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1014 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 22:40:59 +00:00
Vikram S. Adve
4321ded265 Add support for name mangling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@998 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 21:23:44 +00:00
Chris Lattner
1166b00316 New module linking functionality prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@789 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 16:57:49 +00:00
Chris Lattner
432b0a7e3d Better linux support. This file still sucks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@750 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:31:55 +00:00
Chris Lattner
6bad546c2a Update comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@692 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 13:34:22 +00:00
Chris Lattner
7461bf5f8e Pull iterators out of CFG.h and genericize them with GraphTraits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@666 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 22:59:14 +00:00
Chris Lattner
07ea7d7f7e Generic k-way tree support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@554 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 01:42:01 +00:00
Chris Lattner
78914e772f Convert ConstRules to use annotations to clean it up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@514 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:00:23 +00:00
Chris Lattner
643afb3b01 * Fixed mapped_iterator to actually work with functors
* Implement mapto function that works like map in a functional programming language


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@439 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:30:28 +00:00
Chris Lattner
53aaefe18a Make annotations operations const with a mutable annotation list so that
we can annotate Types.  A better solution would be make types nonconst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@416 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:16:35 +00:00