Commit Graph

1342 Commits

Author SHA1 Message Date
Reid Spencer
6da1e0d50f For PR351:
* Change ExecWait calls to sys::Program::ExecuteAndWait
* Convert to use sys::Path where it makes sense


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18929 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-14 04:20:08 +00:00
Reid Spencer
93f8f55e19 For PR351:
Adjust to interface change for FindExecutable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18920 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 23:44:23 +00:00
Reid Spencer
51ab8ec66e For PR351:
Adjust to changes in the interface of FindExecutable, getting ToolRunner
ready for bigger things to come.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18919 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 23:43:44 +00:00
Reid Spencer
90484fb9a2 For PR351:
llee was a nice hack, but it wasn't portable so its gone, with Misha's
approval.  Operating systems have facilities available for making bytecode
directly executable without this utility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18916 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 23:15:32 +00:00
Misha Brukman
f7d4f10a0d Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18914 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 21:42:16 +00:00
Reid Spencer
319cdeccd1 For PR351:
Replace MakeFileReadable and MakeFileExecutable (from FileUtilities) with
sys::Path::makeReadable and sys::Path:makeExecutable, respectively.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18909 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 20:03:02 +00:00
Reid Spencer
05f7e7991b Make the loop termination condition clear when building the set of items to
pass to the Linker::LinkInItems function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18894 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 17:18:19 +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
12786d535d Make use of the new Path inserter function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18887 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 08:53:36 +00:00
Reid Spencer
11db4b8084 PR351: \
Use sys::Path not FileUtilities to check file types


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 03:01:26 +00:00
Reid Spencer
c406413471 Convert to use new Linker class interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18864 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 03:01:14 +00:00
Reid Spencer
e4874029c3 LinkModules is now in the Linker class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 03:01:03 +00:00
Chris Lattner
bcfe1e2d64 Do not internalize a module if -link-as-library is passed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18825 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 07:53:51 +00:00
Reid Spencer
96690a81d4 Revert the last patch. We really do need SimplyCFG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18787 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-11 03:03:54 +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
Reid Spencer
357cf5439a Remove this pass as its no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 22:55:35 +00:00
Chris Lattner
c59e09ec54 This pass is no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18782 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 22:30:32 +00:00
Reid Spencer
cb8cb8eb66 Get rid of warning from flex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18779 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 21:59:47 +00:00
Chris Lattner
b4a400af2e Turn on ipsccp by default instead of simple IPCP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 08:03:43 +00:00
Brian Gaeke
17b1afe945 Link V8 backend into llc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 05:04:13 +00:00
Reid Spencer
6b463b261e When -link-as-library, add -l options to Module's deplibs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18617 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08 05:17:40 +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
Reid Spencer
c191d497d5 Fix PR139:\
When not linking as a library, use LinkItems to retain command line order of \
linking, otherwise use LinkFiles


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18549 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 19:15:29 +00:00
Chris Lattner
40add594eb Add -strip-debug option
remove the temporary -disable-dse option


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18451 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-03 05:45:58 +00:00
Chris Lattner
f8f70c1a17 Adjust to change in pass name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18442 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 21:27:35 +00:00
Chris Lattner
3f14fb1a0b Recognize --strip-all as a synonym for -s.
Add -S and --strip-debug option support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 21:26:10 +00:00
Reid Spencer
0de66b5cc8 Implement file replacement correctly even with the f (TruncateNames) flag
set. The member name comparison was failing for truncated names. This patch
fixes that. Truncated names are now properly replaced.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18423 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 09:21:55 +00:00
Reid Spencer
a564845f83 Shared library extension is now in LTDL_SHLIB_EXT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 12:40:21 +00:00
Reid Spencer
aadc41860d No longer necessary, moved Makefile.rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18337 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 07:17:31 +00:00
Reid Spencer
8f631784f7 Use LLVMLIBS=JIT to get JIT libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18333 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 07:17:18 +00:00
Reid Spencer
f00b54058b Make sure the program's symbols can be dlsym'd as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18331 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 06:23:19 +00:00
Reid Spencer
1a3ba7f10e Make the check a little quieter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18325 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 04:51:58 +00:00
Reid Spencer
bf714df962 Add LLVMbzip2 library, now required.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18255 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 20:22:06 +00:00
Reid Spencer
07accb5a60 Always pass -D_GNU_SOURCE to cc1plus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18253 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 19:38:51 +00:00
Reid Spencer
c702fa3ff0 Always pass -D_GNU_SOURCE to cc1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18252 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 19:38:39 +00:00
Reid Spencer
1945a11249 Correct the configuration variable used to find the bin directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18244 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 09:36:28 +00:00
Reid Spencer
c9b37eea2e Make sure additional C++ suffixes are recognized by llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18191 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 00:01:57 +00:00
Reid Spencer
65bc4e0bc4 * Adjust the options to make them either accept multiple occurrences or be
optional so that compatibility with GCC is accomplished.
* Implement the -print-file-name option in an attempt to provide the same
  functionality as GCC. Unfortunately, without loading the cpp or c config
  files, this option won't help much.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18189 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:47:58 +00:00
Reid Spencer
0b3c7d084c * Don't pass empty arguments to ExecuteAndWait because it can cause the
sub-tool to start reading its standard input instead of the specified
  input.
* Clean up ouput of path names on error.
* Extend GetPathForLinkageItem to always search the LibraryPaths and thus
  make it suitable for an interface function (required by llvmc.cpp).
* Implement support for language-specific default library paths.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18188 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:45:49 +00:00
Reid Spencer
2d3ee4e2eb Configuration data now supports a vector of library paths.
Add the GetPathForLinkageItem method to the interface so full paths can
be generated for a given linkage item.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18187 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:40:06 +00:00
Reid Spencer
dc6812d92d Add the c and cpp configuration files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18186 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:38:46 +00:00
Reid Spencer
f1a889c99b Removed in favor of configurable (*.in) versions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18185 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:38:07 +00:00
Reid Spencer
e9564cedb4 Make various adjustments to parsing so that the separator character doesn't
terminate options or paths, so that SPACE tokens legally separate options
on a command line, and so that the lang.libs paths are parsed properly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18184 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:37:26 +00:00
Reid Spencer
c0f376dba2 SPACE is a legitimate token now, to separate option words.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18183 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:35:50 +00:00
Reid Spencer
90654fd924 Handle space, separators, bad substitutions, and library search path better
than before.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18182 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:35:16 +00:00
Reid Spencer
b98c672328 Configurable language configuration files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18181 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:33:08 +00:00
Reid Spencer
08602e5a30 Get the -o option right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18052 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 20:45:33 +00:00
Reid Spencer
679a723a63 Get the -o option right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18051 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 20:39:33 +00:00
Reid Spencer
3c7b1075ff Not needed any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18050 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 20:27:20 +00:00
Reid Spencer
9822de2ed1 Content moved to llvm-ld.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 20:15:08 +00:00
Reid Spencer
445564a0bc Incorporate GenerateCode.cpp. Make static things static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18048 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 20:02:56 +00:00
Reid Spencer
c457fbb5ea First cut at implementing generic link-time Optimization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18047 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 19:43:28 +00:00
Reid Spencer
0fdd363a26 The Archive class now has differentiation for BSD4.4 and SVR4 style archive
symbol tables. Adjust our usage to compensate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18046 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 18:01:22 +00:00
Chris Lattner
fd80b5c260 Fix a bug that caused stuff like this:
main at ./eh.cpp:1414 ->          printf("a\n");

to be printed, instead of this:

main at ./eh.cpp:14
14 ->          printf("a\n");


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18005 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 19:45:44 +00:00
Chris Lattner
fa1af13449 Fix a bug in the checkin where I adjusted this code to work when
LinkModules nukes the second module argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17986 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 07:09:40 +00:00
Chris Lattner
d29c636a00 Remove debugging code, unneuter this functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17963 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 19:42:50 +00:00
Chris Lattner
a269ec7b0a remove debugging code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17962 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 19:40:13 +00:00
Tanya Lattner
75e8419e48 Adding option to llc for ModuloScheduling. By default it is turned off.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17959 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 18:38:01 +00:00
Chris Lattner
86f42db22b -disable-opt is not -O0, it's okay for it to disable internalize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17911 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-17 16:41:19 +00:00
Chris Lattner
429a9cbc2e Even with -disable-opt we should still internalize and strip if requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17903 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 18:59:20 +00:00
Reid Spencer
babb45b327 Per code review: \
* Make static things static \
* Get rid of unused TmpArchive variable \
* Implement symbol table printing \
* Adjust to changes in llvm::Archive interface \
* Make sure we destruct objects even if exceptions occur. \
* Fix a typo in an output string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17878 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:41:20 +00:00
Reid Spencer
bede58363c Per code review: \
* hide the compatibility option \
* Make static things static \
* Use cl::extrahelp instead of cl::MoreHelp (defunct) \
* Use cl::PrintHelpMessage instead of our own printUse function \
* Use a std::set<sys::Path> for the path list because its now required by \
  the sys::Path class and also ensues directories are traversed in sorted \
  order.\
* Implement symbol table printing locally instead of in libLLVMArchive \
* Adjust to changes in llvm::Archive interface \
* Make sure we destruct objects even if exceptions occur. \
* Fix a typo in an output string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17877 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:41:09 +00:00
Chris Lattner
90c18c5c69 Make this code not depend on LinkModules leaving the second argument unmolested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17874 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:31:38 +00:00
Tanya Lattner
d607491480 This file was originally developed by the LLVM research group so this comment should stay. I also do NOT want my name explicity listed on src files. I am already mentioned in the credits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17833 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:21:49 +00:00
Reid Spencer
6bb69355d2 Linker.h moved to include/llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17805 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 23:25:32 +00:00
Reid Spencer
b908356b93 bugpoint needs LLVMLinker.a now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17804 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 23:23:18 +00:00
Reid Spencer
b55bc06bad Correct call of methods whose names have changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17803 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 23:17:41 +00:00
Reid Spencer
d292fb92e8 This program needs libLLVMLinker.a now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17802 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 23:12:22 +00:00
Reid Spencer
605b9e2c5b Linker.h has a new home.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 23:00:08 +00:00
Reid Spencer
227b6d00dd Fix usage of changed function prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17798 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:30:54 +00:00
Reid Spencer
63ab669120 A tool for adding a symbol table to LLVM Archives
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17797 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:29:21 +00:00
Reid Spencer
8d18dcf4d9 Makefile for llvm-ranlib tool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17796 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:28:33 +00:00
Reid Spencer
63efb77980 *Fix usage of changed function prototype*Use Archive interface to symbol table for archives
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17795 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:27:46 +00:00
Reid Spencer
d129664066 This tool needs libLLVMArchive now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17794 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:27:00 +00:00
Reid Spencer
0486e17f7f Remove linking declarations (in Linker.h now)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17793 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:25:26 +00:00
Reid Spencer
1893f9273c We need the libLLVMArchive library now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17792 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:23:31 +00:00
Reid Spencer
8c6ee6629c Moved to lib/Linker (common with gccld)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17791 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:22:45 +00:00
Reid Spencer
3a1582b5b2 Total rewrite using Archive library & new functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17790 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:20:07 +00:00
Reid Spencer
c7ebfdd2cc This tool needs the libLLVMArchive library now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17789 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:19:21 +00:00
Reid Spencer
6903c86348 Remove linking declarations (in Linker.h now)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17788 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:17:49 +00:00
Reid Spencer
4c1af902ad Provide exception handling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17787 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:17:03 +00:00
Reid Spencer
5e081fb74a Moved to lib/Linker
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17786 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:15:31 +00:00
Reid Spencer
cd18a8333e Add the llvm-ranlib tool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17785 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:13:59 +00:00
Reid Spencer
31391b6792 Make sure llee can deal with compressed bytecode too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17652 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 20:21:25 +00:00
Misha Brukman
669b524399 Output the program name (in this case, gccld) with warning about invalid files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17638 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 04:24:59 +00:00
Nate Begeman
a591457857 Allow hbd to be bugpointable on darwin by fixing common and linkonce codegen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17637 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 04:01:18 +00:00
Misha Brukman
eda20f933b Don't silently ignore invalid files: tell the user!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17633 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 22:03:10 +00:00
Reid Spencer
cc0bd565bb Add a --disable-compression option to gccas so the default compression of
bytecode can be defeated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17626 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 17:37:04 +00:00
Misha Brukman
a1527534bb Use LLVMToolDir instead of ToolDir because the latter is no longer set (?)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17594 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 22:26:43 +00:00
Reid Spencer
4b5fdc71c9 Rename the option for defeating compression to be a little more specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17567 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 05:50:16 +00:00
Reid Spencer
34b9071a3d Enable compression by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17566 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 05:43:51 +00:00
Reid Spencer
ae70fedfab * Enable bytecode compression by default
* Provide a -no-compress option to defeat compression.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17565 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 05:41:32 +00:00
Reid Spencer
cf0eb8deb5 Turn on compression by default.
Change --compress to --no-compress so compression can be turned off.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17564 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 05:37:27 +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
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
Misha Brukman
4ad0b11b95 No, really, the library name is `LLVMexecve'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-31 17:30:52 +00:00
Reid Spencer
cc2d1e25f3 Internalize variable names to prevent recursive assignment. Cleanup docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 09:19:36 +00:00
Misha Brukman
b1883932c7 Fix file header comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17350 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-29 23:26:09 +00:00
Misha Brukman
a6ad12d4fa LLEE execve() wrapper library has changed its name and location
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17339 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-29 18:36:51 +00:00
Brian Gaeke
d6d8b83742 Fix library names for sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17311 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 06:39:10 +00:00
Reid Spencer
0dac2eb58e Remove the FORCE token, rename VERSION to VERSION_TOK so it doesn't
conflict with configuration variables and #defines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17298 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 04:06:15 +00:00
Reid Spencer
af77d74e07 Implement linking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17297 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 04:05:06 +00:00
Reid Spencer
3a9b22234f Eliminate the force flag, configuration item, and related support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17296 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 04:04:38 +00:00
Reid Spencer
5a7f13b2ae Pass -f to stkrc to ensure the output file is always written.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17295 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 03:57:49 +00:00
Reid Spencer
2967b61b68 Eliminate the -F option (for forcing output) .. not needed
Create GCC compatible -Wx, aliases for the existing -T options.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 03:56:16 +00:00
Reid Spencer
6cf4acc18d Add llvm-ld to the subdirs to be built
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17293 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 03:53:02 +00:00
Reid Spencer
e84f92db26 Convert to new library names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17292 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 03:50:43 +00:00
Reid Spencer
f113e7bf43 Update for library name change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17287 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 00:11:43 +00:00
Reid Spencer
6cb21d443e Change Library Names Not To Conflict With Others When Installed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17286 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 23:18:45 +00:00
Chris Lattner
395236f720 Improve help output from llvm-db 'info' command. Patch contributed by
Michael McCracken!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17241 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-26 05:46:17 +00:00
Reid Spencer
20ac4e3699 Add EXTRA_DIST for additional files to be distributed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17233 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-26 03:12:11 +00:00
Chris Lattner
83f7c3792b Remove template args that are the same as the default
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17223 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-25 19:09:41 +00:00
Reid Spencer
d3f5e7e4ce Make clean quieter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17191 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 19:49:20 +00:00
Reid Spencer
40a955ab05 We're not doing automake any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17168 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:02:23 +00:00
Reid Spencer
cac731ecbe We won't use automake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 03:35:04 +00:00
Reid Spencer
86d341b204 Initial automake generated Makefile template
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 23:55:41 +00:00
Reid Spencer
f405d107d8 Actually link all the analysis passes and their dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17114 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 03:32:12 +00:00
Reid Spencer
0bade7e5e7 Remove extra comma.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17113 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 03:26:21 +00:00
Reid Spencer
7b32daa4c1 Actually link in all the analysis passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17112 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 03:22:48 +00:00
Nate Begeman
792558898f Pass -single_module option to gcc when linking dynamic libraries for use with bugpoint, so that we can bugpoint multiple .cp files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17102 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-17 23:03:32 +00:00
Chris Lattner
a78a9027f5 Reid added --version to the CommandLine lib. Don't conflict with it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17076 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-17 02:49:08 +00:00
Misha Brukman
81dd3d4536 Fix hyphenation and quoting style for great justice
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17024 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-15 23:22:48 +00:00
Misha Brukman
56cb207a39 * We don't use the ENABLE_*_JIT flags in the source base anymore
* Convert references to Sparc to SparcV9 to clearly identify CPU type


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16998 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 20:06:36 +00:00
Misha Brukman
53c8f29586 Use the shared Makefile.JIT for JIT-enablement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16992 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 19:01:25 +00:00
Misha Brukman
064782209b Since several tools and examples want JIT support, factor out the process of
adding the right libs for any given architecture's JIT into a single place


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16989 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 18:58:19 +00:00
Misha Brukman
ce6662fb6a Enable the PowerPC JIT by compiling powerpc.o library into lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16982 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 06:35:11 +00:00
Reid Spencer
d96cb6eaa0 Update to reflect changes in Makefile rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16950 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 11:46:52 +00:00
Misha Brukman
fc6723f659 No space allowed between \ and end-of-line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16940 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 19:17:11 +00:00
Misha Brukman
2c9039eb1a Wrap lines at 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16939 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 18:35:57 +00:00
Chris Lattner
e3ef9b5fe2 Don't miss global optimizations because we run before the inliner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16913 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-11 04:47:18 +00:00
Reid Spencer
769dd7d5ec Initial version of automake Makefile.am file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16898 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 22:52:14 +00:00
Reid Spencer
796aacf2e2 Fix named of a library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16896 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 22:50:31 +00:00
Reid Spencer
90a2adc866 Initial version of automake Makefile.am file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16894 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 22:36:40 +00:00
Misha Brukman
41605ab6e7 Use the SparcV9-marked instr scheduling library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16851 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-08 18:14:56 +00:00
Chris Lattner
93a00e4ceb Rename pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 04:12:02 +00:00
Chris Lattner
48f44cf5b3 Hrm, if there is an error loading a file, try printing a message so the
user knows that...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16524 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-27 16:41:01 +00:00
Reid Spencer
aefd04b6d0 Add some missing #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16517 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-25 16:00:07 +00:00
Reid Spencer
8d9b6800f6 Qualify Path with sys:: namespace so this file compiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16516 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-25 15:59:41 +00:00
Chris Lattner
b12914bfc0 'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:48:05 +00:00
Chris Lattner
68d033cc94 Finegrainify namespacification
'Pass' should now not be derived from by clients.  Instead, they should derive
from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16434 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:44:31 +00:00
Reid Spencer
e6bd638fec Fix compilation warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16336 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 15:46:13 +00:00
Reid Spencer
e52b44e799 Update to reflect stkrc's new optimization capabilities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16327 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 02:00:24 +00:00
Reid Spencer
d4ff15af96 Support substitution options for the W, M, and f options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16326 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 01:59:31 +00:00
Reid Spencer
54fafe4dc9 Support the -WX, -f -M options as pass throughs
Change force option from -f to -F
Support the -strip option
Make changes to reflect different interface in sys::Program


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16325 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 01:58:45 +00:00
Reid Spencer
14c225e6f6 Change banner name to reflect actual program this Makefile is for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16311 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-13 21:15:19 +00:00
Reid Spencer
6dd3713be5 Get rid of compile warning by having llvmExecve return the result of its
call to executeProgram.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16306 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-13 15:37:33 +00:00
Reid Spencer
c0af3f0052 Initial implementation of llvm-ld: stolen from gccld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16305 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-13 01:27:53 +00:00
Misha Brukman
247384c041 Add LLEE into compilation, but not for Sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16304 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-13 01:18:30 +00:00
Reid Spencer
dccc01eb61 Excise the -L option since llvm-link should not do library searches. It
just links bytecode files together.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16303 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-12 23:39:42 +00:00
Reid Spencer
a2dfd05d84 Excise dependent library linking at Chris' request. llvm-link is intended
to provide only the simplest linking of LLVM modules without trying to be
complete. Dependent library linking will be added to gccld or its successor


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16302 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-12 23:08:29 +00:00
Misha Brukman
a6bcd83854 Squelch compilation warnings on Sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16301 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-12 23:01:24 +00:00
Reid Spencer
6939f8141c Implement dependent library processing and search paths for them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16287 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 04:32:42 +00:00
Misha Brukman
ac09e25b58 Make file comment span the entire line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16249 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-08 19:48:15 +00:00
Reid Spencer
a3b4e09715 Don't re-instantiate the std::string in catch block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 22:59:32 +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
Reid Spencer
790306852c Make sure <cassert> is included for platforms that don't include it via
other header files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16134 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 20:36:15 +00:00
Reid Spencer
016e335e87 Initial commit of a configuration file for compiling C++ programs with
the file name pattern *.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16117 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 06:32:24 +00:00
Reid Spencer
ca01f9bc6f Implement the "setIncludePaths" and "setSymbolDefines" interface methods.
Revise token substitution to be a little faster.
Clean up exception throwing, make sure its always a std::string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16116 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 06:29:06 +00:00
Reid Spencer
7c14fd152e Pass lists of -I and -D options through to the Compiler Driver.
Handle -g and -Wxxx for GCC compatibility


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16115 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 06:27:32 +00:00
Reid Spencer
6386009ea6 Need to throw std::string not const char* if we want error messages to be
caught.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16109 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 00:06:52 +00:00
Reid Spencer
93426ba5ed Add a missing header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16099 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 20:02:28 +00:00
Reid Spencer
7c4c98d986 Add the LLVMsystem.a library as it is now used for operating system
independence of the tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16092 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:29:38 +00:00
Reid Spencer
9de7b334ec The functions in Signal.h are now in the llvm::sys namespace - adjust
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16091 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:28:55 +00:00
Reid Spencer
615edcccda add llvmc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16090 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:27:34 +00:00
Reid Spencer
52c2dc1a42 Convert llvmc to use the lib/System interface instead of directly
using Unix operating system calls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16089 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:26:56 +00:00
Reid Spencer
ca044879fe License file for llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16045 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-25 00:41:06 +00:00
Reid Spencer
9fd58e0ae8 Insert declarations for two new functions that support the dependent
libraries feature.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16043 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 22:55:34 +00:00
Reid Spencer
198e888705 Run the compilation actions before we attempt linking work.
Correctly implement the dependent libraries feature so that linked bytecode
files automatically include any dependent libraries they specify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16042 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 22:54:32 +00:00
Reid Spencer
aff3c77ac2 Add the directory specified by LLVM_LIB_SEARCH_PATH to the list of
directories to be searched during linking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16041 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 22:53:13 +00:00
Reid Spencer
44956326f0 Get rid of error messages from CommandLine because -time-passes was
defined twice. We make use of the new TimePassesIsEnabled global boolean
value from Pass.h to access the value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16033 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 17:54:26 +00:00
Reid Spencer
01b77f9c08 Adjustments for changes in the configuration language.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16026 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 14:24:14 +00:00
Reid Spencer
2cf17a4f0f - Unify format of output messages
- All errors throw std::string
- Default output file name to a.out (if we're linking)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16025 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 14:05:30 +00:00
Reid Spencer
02413b0294 Link with bcreader and vmcore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16024 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 14:04:07 +00:00
Reid Spencer
f384db3a90 - Implement the %args% substitution
- Implement parsing of the .output={bytecode|assembly} item.
- Drop parsing support for translator.optimizes, translator.groks_dash_O,
  optimizer.groks_dash_O, translator.output_is_asm, optimizer.output_is_asm
- Add parsing support for translator.output and optimizer.output
- Add optimizer.required parsing support
- Add linker.libs and linker.libpaths parsing support
- Fix error messages to list correct set of tokens expected.
- Rename FileReadable -> FileIsReadable (changed in CompilerDriver.cpp)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16023 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 14:03:23 +00:00
Reid Spencer
bf3948884e - Alphabetize the list of token enumerators.
- Drop old tokens, insert new tokens


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16022 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 13:59:35 +00:00
Reid Spencer
ec4f588418 - Rename and rearrange for clarity
- Drop name tokens not used any more (GROKS_DASH_O)
- Rename OUTPUT_IS_ASM as OUTPUT and allow "bytecode" and "assembly" as
  values of it.
- Simplify handleContext (now handleNameContext) arguments and ensure that
  it returns OPTION tokens exactly as scanned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16021 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 13:58:37 +00:00
Reid Spencer
a01439ada2 - Remove unused GetSuffix function
- Renamed FileReadable -> FileIsReadable
- Remove support for GROKS_DASH_O; deferr it to %opts% substitution
- Require a -o option except in case of linking where it defaults to a.out
- Fix problem processing *.o and *.bc files.
- Ignore optimization phase if -emit-raw-code
- Correct the assembly generation phase to support -emit-native-code
- Implement dependent library lookup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16020 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 13:55:17 +00:00
Reid Spencer
fd2f728b48 Remove unneeded flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16019 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 13:49:57 +00:00
Reid Spencer
59a745a26f Provide support for retaining the version number found in a config file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15995 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-22 18:03:25 +00:00
Reid Spencer
c0e9bec9fc Add the VERSION token.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15994 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-22 18:02:41 +00:00
Reid Spencer
1df71210fe Add support for version numbers.
Allow CRLF as a line terminator (as well as plain LF)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15993 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-22 18:02:13 +00:00
Reid Spencer
b50acbcf49 Shorten lines so this file can be used as the documentation example
directly. Remove -pre (experimental pass).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15992 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-22 18:01:19 +00:00
Reid Spencer
7593745563 Correct to change interface of the analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15986 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 21:00:24 +00:00
Reid Spencer
53aa793721 Change @ -> % in config files. @name@ might be needed for config files to
themselves be configured via autoconf so its not a good substitition syntax
for llvmc. Furthermore % is more llvmish :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15957 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 22:53:11 +00:00
Reid Spencer
b38e40564b Implement the correct search for configuration files. llvmc will now try
the following in this order:
 1. -config-dir=/path/to/configs
 2. LLVM_CONFIG_DIR=/path/to/configs
 3. ~/.llvm/etc
 4. $prefix/etc
 5. /etc/llvm


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15950 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 09:24:07 +00:00
Reid Spencer
aa43a4b025 Add CONFIG_FILES so the language specific config files can be installed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15949 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 09:21:51 +00:00
Reid Spencer
9a8fedd6f9 Implement Assembly support.
Consolidate platform-specific code into "sys" namespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15947 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 09:14:05 +00:00
Reid Spencer
f51a87cb57 Actually let it compile after file name changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15931 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 21:52:49 +00:00
Reid Spencer
cbabe7f06e Moved ConfigData -> Configuration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15927 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 21:17:53 +00:00
Reid Spencer
bae6825e1d Implement many new features for llvmc. This is the first version that will
actually execute actions and it is been shown to optimize a Stacker program


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15912 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 04:49:47 +00:00
Reid Spencer
2a069fa003 Back out dependencies on lib/System/Path.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15815 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 07:06:38 +00:00
Reid Spencer
6964e3f57d Fix definitions to match tool's actual capabilities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15814 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 07:06:13 +00:00
Chris Lattner
d2e89a7b34 Documentation like this doesn't belong here, and now we have the commandguide
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15785 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:53:20 +00:00
Reid Spencer
bf43772038 More Functionality:
- cleaned up lexical scanner
- added support for "lang.optN" configuration items
- added temporary file support (ala lib/System)
- corrected logic for deciding which phases to run
- consolidated the Action and ActionPattern classes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15765 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:19:46 +00:00
Reid Spencer
936f5c72e2 Initial configuration files (to be installed) for ll (LLVM Assembly) and
st (Stacker) source files. These versions for testing/review only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:16:12 +00:00
Reid Spencer
68fb37ad67 Converted to use flex for tokenizing input so we can use an easier to
understand recursive descent parser, we can easily handle more syntax
variety, and we can more easily change the configuration items accepted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15732 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 09:37:15 +00:00
Reid Spencer
a3f185577c Fix header commentary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15729 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 20:25:54 +00:00
Reid Spencer
5c56dc1f62 Additional functionality. This version handles option parsing and parameter
subsitution correctly for at least .ll and .st files. There's still a long
way to go (i.e. this isn't worth of review yet).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15728 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 20:22:43 +00:00
Reid Spencer
2594c9abbf First version of a utility internal to llvmc that handles the parsing and
construction of configuration data for compiler front ends.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15727 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 20:21:22 +00:00
Chris Lattner
891150f0b2 If the block extractor fails, actually emit the bc file that failed to extract
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15675 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-12 02:36:50 +00:00