Commit Graph

3084 Commits

Author SHA1 Message Date
Jeff Cohen
bb66a9f960 Get new SelectionDAG stuff building with Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19340 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 15:52:36 +00:00
Jeff Cohen
e89c7c616b But not the identation of THAT line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19328 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:46:40 +00:00
Chris Lattner
c3aae25116 Complete rewrite of the SelectionDAG class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19327 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:46:32 +00:00
Chris Lattner
cc524ca1c1 Common base class for SelectionDAG-based instruction selectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19326 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:46:03 +00:00
Chris Lattner
63b570d49b Initial implementation of the nodes in a SelectionDAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19325 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:45:27 +00:00
Chris Lattner
75c2d0a351 First draft of a new Target interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19323 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:44:22 +00:00
Jeff Cohen
b99468d718 Correct indentation levels
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19322 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:44:02 +00:00
Chris Lattner
fe59d36c45 Add convenience method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19321 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:40:32 +00:00
Jeff Cohen
d9ed8c8880 Add missing createXxxPass functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19319 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 06:57:28 +00:00
Misha Brukman
3e4c46fbd6 Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19317 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 06:45:07 +00:00
Jeff Cohen
c313932693 Update list of passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19316 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 06:12:41 +00:00
Jeff Cohen
835ca25de6 Fix return type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19314 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 05:41:39 +00:00
Jeff Cohen
e67bc1384a Get the #ifdef right on LinkAllPasses.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19310 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-06 07:01:08 +00:00
Jeff Cohen
00f3db6a4c Fix minor mistakes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19309 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-06 06:29:42 +00:00
Jeff Cohen
d1c452b501 Get rid of those pesky tabs...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19308 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-06 06:06:35 +00:00
Jeff Cohen
4b807e0381 Add project opt to Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19307 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-06 06:02:53 +00:00
Jeff Cohen
466d9398c5 Fix incorrect return type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19304 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-06 05:45:45 +00:00
Chris Lattner
13259f8b0f Add required #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19302 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-06 03:25:27 +00:00
Chris Lattner
15afefbe94 Add a useful method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19301 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-06 03:23:59 +00:00
Chris Lattner
b66144c1e1 Add a list end sentinal
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19299 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-05 22:14:14 +00:00
Chris Lattner
d34b257692 add an assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19290 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-05 16:27:34 +00:00
Chris Lattner
67cb2f6eb5 Do not let 'ftostr' return a string that starts with spaces. This allows
the AsmWriter to emit FP constants like 1.0 in normal exponential notation
instead of hex notation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19279 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-04 01:56:28 +00:00
Chris Lattner
15f63ad2e5 Add some bits that can be set on instructions. Renumber existing bits so
they are dense.  Add a virtual method that targets can choose to implement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19242 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 02:28:31 +00:00
Reid Spencer
52b50a64ec Make printing a warning message optional in CheckBytecodeOutputToConsole.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19240 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 00:10:03 +00:00
Reid Spencer
436f23ebf5 Implement a function to print a warning if bytecode output is to be sent to
a terminal/console.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19237 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 23:56:20 +00:00
Reid Spencer
a01aade75d Add functions for determining if the stdin/out/err is connected to a
console or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19233 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 22:29:26 +00:00
Jeff Cohen
184d84b07d Add llvm-as project to Visual Studio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19227 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 20:51:41 +00:00
Jeff Cohen
00dcbaa6e5 Fix bountiful sources of VC++ 'possible loss of data' warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19224 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 18:58:23 +00:00
Reid Spencer
9d9c19cf96 Add HAVE_SBRK
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19222 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 18:16:16 +00:00
Chris Lattner
801abe663f Add a useful accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19209 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 15:58:55 +00:00
Chris Lattner
fd1cbc095a Add two helper functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19208 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 15:58:41 +00:00
Reid Spencer
582a23c686 * Fix a bug in an m4 macro that used an incorrect test operator
* Add CAN_DLOPEN_SELF so we can determine if dlopen(0) will open the
  program or not.
* Correct a warning messages to be a little more specific on what it checks


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19184 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 07:07:57 +00:00
Reid Spencer
68fdcc123b For PR351:
* Move implementation of sys::PreventCoreFiles function to this file from
  the now defunct SysConfig abstraction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 06:17:27 +00:00
Reid Spencer
d0ae93f022 For PR351:
SysConf abstraction was pointless because it had a single function in it that
pertained only to the current process. So merge it into the Process abstraction
and remove the files completely.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19149 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 06:15:14 +00:00
Reid Spencer
7931a7867b For PR351:
* Add checks for sterror and strerror_r functions
* Add check to determine if /dev/zero is needed for allocating RWX memory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19148 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 06:15:02 +00:00
Reid Spencer
59473af395 For PR351:
* Make sure all headers used by lib/System have checks
* Use "standard" autoconf checks for certain problematic headers
For PR432:
* Resurrect --with-llvmgccdir so a specific llvm-gcc/llvm-g++ installation
  can be specified.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19142 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-25 07:31:29 +00:00
Reid Spencer
7b3e851e2b For PR351:
Create new variables LLVM_ON_UNIX and LLVM_ON_WIN32 so we can start getting
rid of reliance upon a symbolic link to switch implementations in lib/System


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19131 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-24 06:29:05 +00:00
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
cc638c181d Remove this file as there are no LLVM users of it any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19066 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20 04:35:20 +00:00
Reid Spencer
59d41d96e0 Remove this file as its not used by anything in LLVM any more. System
dependent behavior is now made through the lib/System interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19064 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20 04:25:53 +00:00
Reid Spencer
2f3dd9289b Remove these files as they are included by nothing in LLVM any more. The
system dependent functionality has been moved to lib/System.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19063 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20 04:24:32 +00:00
Reid Spencer
115ca7c08c Remove these headers. The files that used to #include them don't any more
as most system dependent behavior has been moved to lib/System.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19062 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20 04:20:37 +00:00
Reid Spencer
51a33548d4 Add HAVE_SYSCONF
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19060 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20 04:08:58 +00:00
Reid Spencer
e6b77ede40 For PR351:
* Add GetMallocUsage as a wrapper around mallinfo()
* Add GetTotalMemoryUsage to get approximate RSS size
* Add GetTimeUsage to get elapsed/system/user time


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19051 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20 00:58:53 +00:00
Reid Spencer
9a5c432a3d Wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19050 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20 00:58:41 +00:00
Reid Spencer
9a55e8517b For PR351:
This file is no longer needed as system dependent functions have been
encapsulated into lib/System.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20 00:58:25 +00:00
Reid Spencer
7eae81d4da For PR351:
Incorporate the abilities of RunPRogramWithTimeout into
sys::Program::ExecuteAndWait so that redirection and a timeout are optionally
supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19039 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-19 17:59:57 +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
3874730dd4 Correct the name of the method. CopyFiles -> CopyFile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19025 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-18 00:14:24 +00:00
Chris Lattner
fb752ba02a Make code fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19016 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-17 17:02:54 +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
2d01af2c31 Adjust documentation of GetBytecodeLibraryPaths after removing LLVMGCCDIR
support from it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18972 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 22:49:18 +00:00
Reid Spencer
88422fee66 Remove LLVMGCCDIR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18971 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 22:28:35 +00:00
Reid Spencer
07f9f4e2a4 Fix a file overwrite bug in llvm-ar introduced by changes to
createTemporaryFile semantics where it doesn't create a fully unique name
if the basename doesn't exist. This functionality is now optionally
provided by the boolean reuse_current parameter to createTemporaryFile and
makeUnique. The default values differ because of the way these functions
are used in LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18961 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 08:32:45 +00:00
Chris Lattner
248e8ebeff Make the AliasAnalysis interface more precise for common cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18956 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 07:21:39 +00:00
Reid Spencer
c29befb554 For PR351:
* Fix implementation and documentation about LLVMGCCDIR/bytecode-libs
* Add the makeUnique method, replacement for getUniqueFilename in Support.
* Add the sys::CopyFile function, replacement for CopyFile in Support.
* Move GetLLVMConfigDir() into generic code area since its generic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18947 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 01:50:13 +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
f9960f769a Add some system specific functions we use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18945 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 01:41:56 +00:00
Jeff Cohen
626e38e481 Implement Win32 Path::getStatusInfo(), TimeValue::toString()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18930 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-14 05:26:43 +00:00
Reid Spencer
a077c9a0a2 For PR351:
* Fix commentary, wrap lines, etc.
* Add an environment pointer to the ExecuteAndWait function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18926 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-14 04:17:12 +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
77cc91deaa For PR351:
Implement three new functions to allow setting access/permission bits on
the file referenced by a path. The makeReadable and makeExecutable methods
replace the FileUtilities MakeFileReadable and MakeFileExecutable
functions. The makeWritable function is new and provided for consistency
since Path has a writable() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18907 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 19:59:50 +00:00
Chris Lattner
fcdd82e4a9 Change this method to return ulong, not uint, for 64-bit targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 19:48:51 +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
0982d08105 Add a convenience function for clearing the two global areas.
Patch contributed by Morten Ofsted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18890 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 16:22:32 +00:00
Reid Spencer
732f92d56e * Add a std::ostream inserter for sys::Path
* Correct the std::string constructor to take a const reference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18877 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 06:57:15 +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
56c3ed854f Make the size() method const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18852 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:58:51 +00:00
Reid Spencer
3343be3f2e For PR351:\
* Modify file reading to use sys::MappedFile \
* Use sys::Path instead of std::string


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18851 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:58:40 +00:00
Reid Spencer
fa3b923f9e Add LLVMGCCDIR for path lookup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18850 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:58:28 +00:00
Reid Spencer
37911af8c4 Make the OpenAndLoad functions have an ErrorMessage argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18849 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:58:16 +00:00
Reid Spencer
e5caf877e9 Completely rewrite the interface to be class based
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18848 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:58:05 +00:00
Reid Spencer
e12d00da9c For PR351:\
* Consolidate path retrieval into just two methods. \
* Add FindLibrary as a convenience function. \
* Add isDynamicLibrary for testing for dynamic libs. \
* Make toString constant and reference clean.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18847 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:57:53 +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
Reid Spencer
1fce09125c Path::get -> Path::toString
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18785 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-11 00:14:15 +00:00
Chris Lattner
bfaf88a4d3 Add missing accessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18775 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 20:35:47 +00:00
Chris Lattner
3c05176526 New prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 07:55:01 +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
Chris Lattner
833408d484 Move method out of line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18666 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08 21:04:10 +00:00
Chris Lattner
d828e340a8 Define the pointer hash struct before the string one, to improve compatibility
with ICC.  Patch contributed by Bjørn Wennberg.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18663 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08 20:59:18 +00:00
Alkis Evlogimenos
57ebabe9dc Use getOperand() and remove getElementAt() function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18612 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08 03:45:20 +00:00
Reid Spencer
ce20771ec2 For PR387:\
Add runPass methods to remove -Woverloaded-virtual warnings are not \
present and circumvent possible inheritance bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18600 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-07 08:11:11 +00:00
Reid Spencer
ce9653ce44 For PR387:\
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18589 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-07 04:03:45 +00:00
Alkis Evlogimenos
43962b5c63 Add accessors for Constants in a ConstantStruct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18550 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 20:09:18 +00:00
Reid Spencer
f580546960 Fix PR139: \
Add support for ordered linking with the LinkItems function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18546 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 19:14:43 +00:00
Chris Lattner
caa4ae7c3f Add a new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18531 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 06:43:27 +00:00
Chris Lattner
637b77224f Fix typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18530 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 06:33:15 +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
Chris Lattner
92f6c15d8f Move the strip pass from Scalar to IPO lib
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18438 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 21:24:19 +00:00
Chris Lattner
a05ec71f45 Remove dead field
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 02:35:38 +00:00
Chris Lattner
38f1455393 Add method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18368 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 02:51:53 +00:00
Reid Spencer
b0b0ea07bb Add in some methods for use by the JIT. LoadLibraryPermanently brings the
library into the address space permanently. SearchForAddressOfSymbol looks
in all previously permanently loaded libraries and any currently open
libraries for a symbol, instead of just one library like GetAddressOfSymbol


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18354 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 13:27:56 +00:00
Reid Spencer
8c8af327b8 Changes resulting from AC_LIB_LTDL usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18350 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 12:36:16 +00:00
Reid Spencer
6ab9b4cb1d Don't include ltdl.h any more. Its nested in lib/System now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18347 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 12:12:11 +00:00
Reid Spencer
7a9369065d Make the default constructor cause the program's symbols to be loaded as
if it was a dynamic library.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18340 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 10:38:54 +00:00
Chris Lattner
276636c93b Change interface to this method a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18274 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-27 18:37:04 +00:00
Chris Lattner
07bfa52405 Add a new interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18266 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26 21:36:25 +00:00
Reid Spencer
4a41586769 Remove HAVE_BZLIB and HAVE_BZIP2. We always have bzip2 now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18254 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 20:21:53 +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
Chris Lattner
cf88d324a8 Fix the FIXME, nuke the JIT specific forceCompilationOf method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18131 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 21:54:35 +00:00
Chris Lattner
5eff98fd9f These methods are now obsolete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18128 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 21:48:01 +00:00
Chris Lattner
3e775143fb Add a new debug intrinsic parent class. Patch contributed by Michael
McCracken, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18107 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 17:18:05 +00:00
Chris Lattner
f5feaf4fe3 This is the proper code for this method, thanks to Reid for getting CVS working
again.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18103 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 16:54:54 +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
Reid Spencer
c1d035a881 Implement a missing function called by JIT/Emitter.cpp but never defined.
NOTE: Its not clear that this implementation is correct.
CHRIS: Please review this!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18101 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 12:38:36 +00:00
Chris Lattner
b0f72a17d9 Fix a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18083 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-21 04:42:32 +00:00
Chris Lattner
765da91525 Add another bit, to make the JIT a bit more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18077 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-21 03:27:13 +00:00
Chris Lattner
7fc3824835 ignore generated files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18073 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-21 00:01:54 +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
1aa96f8edb Ignore files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18070 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 23:58:43 +00:00
Chris Lattner
ec45c2388f Change this interface a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18063 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 23:52:43 +00:00
Chris Lattner
f3ae06ee1f Add new methods that a target should implement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18060 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 23:50:02 +00:00
Chris Lattner
4e2239dc5c Add missing #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18058 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 23:40:54 +00:00
Reid Spencer
9a29db43a7 Distinguish between BSD4.4 and SVR4 symbol tables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18044 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 07:29:40 +00:00
Chris Lattner
47012c0c71 Add getCurrentPCOffset() and addRelocation() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18034 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 03:44:39 +00:00
Chris Lattner
fab11a7110 Add the getRelocationType method that I forgot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18033 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 03:43:50 +00:00
Chris Lattner
9da3c56efd Allow targets to implement relocation support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18032 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 03:43:27 +00:00
Chris Lattner
b89df9cc63 New file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18029 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 03:05:50 +00:00
Chris Lattner
52e3c5c6b9 Remove dead #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18027 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 02:17:03 +00:00
Chris Lattner
2dbdc8e3fe External symbols are const char*'s now, change this to match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18008 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 20:56:22 +00:00
Chris Lattner
7b55d4fce2 Instead of storing std::string's for ExternalSymbol references, rely on the
fact that all ExternalSymbols are actually string literals with static storage.
Thus we don't have to do anything special to hold them and we certainly don't
have to copy string data around.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18007 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 20:46:15 +00:00
Chris Lattner
5b2d43aad0 Add static functions to clear singleton maps. Patch contributed by
Morten Ofstad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17994 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 16:39:04 +00:00
Chris Lattner
c5129c1c9c These methods are long gone, ConstantPointerRef is dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17993 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 16:25:42 +00:00
Reid Spencer
7783e8ad69 Make findModulesDefiningSymbols modify its symbols argument so we can \
eliminate symbols defined by the archive efficiently


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17976 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 03:18:22 +00:00
Chris Lattner
1085548d35 Add support for llvm.dbg.stoppoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17969 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 21:41:16 +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
b0ce1a387c Include ltdl.h if we have it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17952 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 09:50:00 +00:00
Reid Spencer
e2234a7055 Add checks for HAVE_LTDL_H and HAVE_LT_DLOPEN
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17951 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 09:49:13 +00:00
Reid Spencer
0de02a6ba9 Dynamic Library abstraction. This makes the abstraction of a single dynamic
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17940 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 04:33:39 +00:00
Chris Lattner
1a3a487763 Fix typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 04:31:10 +00:00
Chris Lattner
bae74d9192 Add ability to give hints to the overlaps routines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17934 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 03:47:34 +00:00
Chris Lattner
743ef6d70e Add new advanceTo method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17932 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 02:37:31 +00:00
Chris Lattner
8d8d513d4d Fix a minor bug in expiredAt. endNumber() is the first number that is not valid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17931 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 01:34:44 +00:00
Chris Lattner
23b71c1e1e Rename some methods, use 'begin' instead of 'start', add new LiveInterval
iterator/begin/end members.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17930 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 01:29:39 +00:00
Alkis Evlogimenos
859804f529 Make ReturnInst accept a value of type void as the return value. The
ReturnInst constructed is the same as if NULL was passed instead of
the void value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17923 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-17 21:02:25 +00:00
Chris Lattner
4c4c415fca New prototype for lowerpacked pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17915 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-17 18:01:49 +00:00
Reid Spencer
f04ff4e9ac Make the comment for LinkFiles a bit more precise and easily understood.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17899 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 16:46:22 +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
60f1758f7c Per code review:\
* Use STL names for STL operations \
* Do not have Archive doing symbol table printing \
* Avoid compiler warnings about only having private constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17881 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:46:55 +00:00
Chris Lattner
456b97297c Document this as clobbering the second arg, make the second arg be non-const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17879 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:41:21 +00:00
Reid Spencer
8bf7fba10b Per code review:
* get rid of (void) construct in function declarations
* make toString a const member
* add a default implementation of toString for Win32


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17873 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:22:17 +00:00
Reid Spencer
b608a81a18 Per code review:
* Clean up the StatusInfo constructor to construct all members and give
  them reasonable values.
* Get rid of the Vector typedef and make the interface to
  getDirectoryContent use a std::set instead of a std::vector so the dir
  content is sorted.
* Make the getStatusInfo method const and not return a useless boolean.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17872 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:15:19 +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
Chris Lattner
1840f3ce7f Add an accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 23:20:19 +00:00
Reid Spencer
226b72672e Remove useless/confusing namespace qualifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17852 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:27:05 +00:00
Chris Lattner
c063502e32 Warning fixes for VC++, contributed by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17831 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:02:35 +00:00
Reid Spencer
766b793143 Changes necessary to enable linking of archives without LLVM symbol tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17811 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 01:20:11 +00:00
Reid Spencer
b5a6f419d0 Changes per code review:
* Document StatusInfo fields better
* No lines > 80 cols
* Have getStatusInfo return bool if file doesn't exist
* Don't document in detail how temporary file name should be created.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17808 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 23:29:00 +00:00
Reid Spencer
f31c7ff957 *Make naming convention consistent.*Add convertion to/from Unix Epoch time.*Add ability to convert to readable string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17762 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:53:55 +00:00
Reid Spencer
00e9ca7148 Make the remove*OnSignal functions deal with Paths not strings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:53:09 +00:00
Reid Spencer
c5fe25314c *Put the StatusInfo type in the right section. *Provide the ability to rename a file.*Provide the ability to get/set stat(2) information.*Provide the ability to identify LLVM file types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17760 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:52:22 +00:00
Reid Spencer
8d2a8c3115 Allow explicit closing of the MappedFile, before destruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17759 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:51:36 +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
Reid Spencer
33e2fcd6f5 Remove ReadArchiveFile (functionality moved to Archive.h). Add an alternate form for GetBytecodeSymbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17755 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:48:27 +00:00
Reid Spencer
9461bd7996 Complete rewrite to get first working version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:47:41 +00:00
Reid Spencer
56ae5185ae Interface to Linker (revised/expanded from Support/Linker.h)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17752 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:46:08 +00:00
Misha Brukman
f2cdf5e934 Add GhostLinkage for marking functions before they're fully materialized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:02:28 +00:00
Reid Spencer
7d0a022489 Moved from include/llvm/Support/Linker.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17743 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 20:21:58 +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
Reid Spencer
8ee9da05ed Provide conversion from posix time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17656 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 20:29:10 +00:00
Reid Spencer
9195f37c5f * Implement getStatusInfo for getting stat(2) like information
* Implement createTemporaryFile for mkstemp(3) functionality
* Fix isBytecodeFile to accept llvc magic # (compressed) as bytecode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17654 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 20:26:31 +00:00
Misha Brukman
35c4c33879 Remove extra spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17629 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 19:01:03 +00:00
Reid Spencer
ad768d7a1a Make writing compressed bytecode the default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17625 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 17:35:34 +00:00
Misha Brukman
e81aaf238c Add method to delete machine code generated for a Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17600 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 23:58:02 +00:00
Reid Spencer
78d215b76d Make compression the default on writing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17577 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 18:18:11 +00:00
Reid Spencer
8ad8a5219c * Provide option for specifying bytecode compression
* Enabled bytecode compression by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17563 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 05:30:43 +00:00
Chris Lattner
8226db66a2 This is V9 specific stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17546 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 00:42:29 +00:00
Reid Spencer
17f52c5c46 Add support for compressed bytecode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17535 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-06 23:17:23 +00:00
Reid Spencer
2394fa99bd Provide an interface for getting just the external symbols from a
Bytecode file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17502 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-06 08:54:47 +00:00
Reid Spencer
c3c5521424 Deprecate constructors we don't want users to use.
Temporarily comment out two interface methods we might not implement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17501 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-06 08:53:59 +00:00
Reid Spencer
07adb2836b Stop propagating method names that violate the coding standard
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17498 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 22:15:36 +00:00
Reid Spencer
6c4d9e566f Go ahead and trust the client not to mess with the ModuleProvider* returned
by the findModuleContainingSymbol method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17491 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 18:48:02 +00:00
Reid Spencer
6f08c46790 * Documentation corrections (thanks to Chris for nit-picking)
* Remove dead typedefs.
* Redefine how getAllPaths treats its argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17489 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 17:44:26 +00:00
Reid Spencer
ab19fa7967 First version of the interface to Archive files. This introduces the
llvm::Archive class to provide for reading, writing, indexing and search
functions on standard ar(1) format files that contain bytecode modules.

Implementation to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17487 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 09:19:17 +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
Chris Lattner
033a7d5389 Substantially cleanup/speedup the eq graphs pass by walking the callgraph
a DSGraph at a time instead of a function at a time.  This is also more
correct, though it doesn't seem to fix any programs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17435 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 17:51:11 +00:00
Chris Lattner
e09e21dd1b Fix typo, contributed by Henrik Bach!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17434 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 17:31:02 +00:00
Chris Lattner
4457f7ea46 Remove more dead methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17413 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:07:05 +00:00
Chris Lattner
dddc13f986 Delete a dead method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:04:47 +00:00
Chris Lattner
fcb7d950bc Rename FoldedGraph -> DSInfo to be consistent with other passes
delete some dead methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17410 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 21:02:23 +00:00
Chris Lattner
77408b8987 Get rid of the EquivClassGraphArgsInfo class, and the map that held it.
We only need one instance of the vector that it contains at a time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17407 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 20:37:00 +00:00
Chris Lattner
68f9658fcb Eliminate the cloneGraph method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17405 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-01 19:54:06 +00:00
Chris Lattner
31d3f671be * Do not refer to ActualCallees in CBU, when we can do it locally.
* *DO NOT* print CBU graphs when asked to print our own.  This is just
  FREAKING confusing and misleading: it's better to not print anything.
* Simplify and clean up some code
* Add some more paranoia assertion checking code that I found to track
  down this bug:
* Fix a nasty bug that was causing us to crash on Prolangs-C++/objects,
  where we were missing processing some graphs.  This hunk is the bugfix:

-    if (!I->isExternal() && !FoldedGraphsMap.count(I))
+    if (!I->isExternal() && !ValMap.count(I))

  urg!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 23:41:26 +00:00
Chris Lattner
4bbf3dfbe6 Simplify graph traversal, improve grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 23:01:34 +00:00
Chris Lattner
ab8544aa75 Do not do horrible things to the CBU graphs. In particular, we do NOT own
the CBU graphs, copy them instead of hacking on the CBU graphs.

Also, instead of forwarding request from ECGraphs clients to the CBU graphs
clients, service them ourselves.

Finally, remove a broken "optimization"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17378 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 21:56:11 +00:00
Chris Lattner
5b3ed508f6 Add an assertion and a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 04:03:47 +00:00
Misha Brukman
717582290f Fix grammar (i.e.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17343 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-29 19:20:42 +00:00
Misha Brukman
1b0d4f310b The Alpha (tm) intrinsics aren't even being used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17341 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-29 18:43:43 +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