Commit Graph

1270 Commits

Author SHA1 Message Date
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
Reid Spencer
abf1ce3c4e Move CompilerDriver.h here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15609 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 16:29:18 +00:00
Reid Spencer
8fd3bca957 Initial makefile for the LLVM Compiler Driver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15608 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 16:27:08 +00:00
Reid Spencer
034a544401 First "do nothing" version of the LLVM Compiler Driver. This version just
processes command line arguments and allows --help to be used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15607 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 16:26:01 +00:00
Chris Lattner
84b3e01ac2 while we're at it, make the libraries be on separate lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15526 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 18:32:57 +00:00
Misha Brukman
5520bd3839 Lines need to end with \ to make sure they're actually continued
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15525 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 18:31:33 +00:00
Misha Brukman
b9ebe8a303 * Add PowerPC library to LLC
* Fit used libraries on a few lines


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15524 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 18:24:11 +00:00
Brian Gaeke
a2b5f45fed sparcv9select is history.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15516 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 05:17:19 +00:00
Misha Brukman
3b87f215b6 * Convert C++ comments to C
* Add UIUC copyright notice headers


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15503 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 21:19:49 +00:00
Misha Brukman
eab43d86fb Shared libraries are usually prepended with `lib'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15502 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 21:19:27 +00:00
Brian Gaeke
4efe35fd5e sparcv9select is history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15479 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:39:21 +00:00
Brian Gaeke
76333917eb libsparcv9select is history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15478 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:38:52 +00:00
Chris Lattner
93127fbc4a This pass has proven its metal, remove -disable option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15411 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02 10:10:08 +00:00
Misha Brukman
47b14a4a6a Fix #includes of i*.h => Instructions.h as per PR403.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 17:30:56 +00:00
Chris Lattner
2d26ffb679 Run DSE at link-time, and turn on an IP alias analysis by default in gccld!
The -disable-globalsmodref is temporary and will be removed eventually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15268 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 08:13:15 +00:00
Chris Lattner
7d91e49ff7 Finally give bugpoint -timeout support!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15163 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 07:53:26 +00:00
Chris Lattner
e96b2ed211 Pass timeouts into the low level "execute program with timeout" function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15160 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 07:49:11 +00:00
Chris Lattner
62c91fcda5 Provide timeout values to all abstract interpreters
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-24 07:48:50 +00:00
Misha Brukman
eed80e2375 * Convert "\n" -> '\n'
* Print out another '\n' after printing out program execution status
* Make sure code wraps at 80 cols


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15123 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 01:30:49 +00:00
Chris Lattner
b11a4637fe Remove redundant SCCP pass
Add new DSE pass.  Add a temporary option to disable it in case we need it
This is going in after the July 22 nightly tester run, so we'll wait until the 23rd to see it
:)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15104 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22 08:34:33 +00:00
Brian Gaeke
7848e68c16 These files don't need to include <iostream> since they include "Support/Debug.h".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15089 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21 20:50:33 +00:00
Chris Lattner
e312e156c3 Err, fix last checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14995 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-19 06:03:51 +00:00
Chris Lattner
5fbf29ce53 Fix bugpoint miscompilation support on OS/X
Patch contributed by the fabulous Nate Begeman.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14994 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-19 06:00:17 +00:00
Chris Lattner
269c80c6ba Remove this printer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14980 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 23:43:34 +00:00
Reid Spencer
518310cb0d bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14953 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 00:44:37 +00:00
Reid Spencer
593eb95228 bug 122:
- Minimize redundant isa<GlobalValue> usage


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14952 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 00:44:14 +00:00
Misha Brukman
b3998ec5c5 Correctly build shared objects on MacOS X for debugging code generators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14892 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 19:45:45 +00:00
Chris Lattner
84c34b72d9 Build skeleton target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14876 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 07:12:46 +00:00
Chris Lattner
4d143ee019 IA64 compat
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14867 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 00:08:28 +00:00
Chris Lattner
b3366bc37e Actually, use an exception to stop verification. This gives us much better
error messages because verification stops at the first error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14794 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-13 08:48:04 +00:00
Chris Lattner
00dd5cd356 There is no reason to abort and print a stack trace if there is a verification
error.  Just print the message like a good little tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14793 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-13 08:45:41 +00:00
Misha Brukman
878ba7cc5d * Tabs to spaces
* Delete extra blank lines


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14779 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-12 22:58:07 +00:00
Reid Spencer
0d88616c9a Correct an output typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14766 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 23:20:54 +00:00
Chris Lattner
988a1a0c66 Prune unused #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 04:05:32 +00:00
Chris Lattner
e45110e012 Goodbye macro hell, hello nice clean and simple code. This also gives llc
the ability to dynamically load and use targets that are not linked into it
statically.  e.g.:

  llc -load libparisc.so -march=parisc foo.bc -o foo.s


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 04:03:24 +00:00
Chris Lattner
4a1de8b250 Add -load option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14740 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 01:08:19 +00:00
Chris Lattner
a3eb7b3983 Add a -load option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 01:06:59 +00:00
Reid Spencer
86f42bdad9 Add #include <iostream> since Value.h does not include it any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14623 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 12:20:55 +00:00
Reid Spencer
954da37bb4 Add #include <iostream> since Value.h does not #include it any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 12:19:56 +00:00
Brian Gaeke
db67ecd49d Build llvm-bcanalyzer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14568 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:59:20 +00:00
Reid Spencer
8a542aeb84 Name Change: llvm-abcd -> llvm-bcanalyzer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14555 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 03:22:53 +00:00
Reid Spencer
86a9a7a9c4 Implement verification feature.
Ensure output occurs even in the face of an error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14499 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-29 23:34:27 +00:00
Reid Spencer
53d55432cc The analyzer code now lives in the bcreader library. The bcanalyzer lib
is no more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14498 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-29 23:33:31 +00:00
Chris Lattner
a8e750f2b0 Write .bc files to binary ostreams. This shouldn't change anything on unix,
but allows us to generate valid code on hosts (like windows) that do newline
translation for text files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14418 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 20:54:43 +00:00
Chris Lattner
4391946558 Make sure to link all IPA's into opt, so that it has access to stuff like
anders-aa


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 05:19:17 +00:00
Misha Brukman
b01c1381c0 TransformUtils library is no longer needed since Linker.cpp is in VMCore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14352 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 17:36:17 +00:00
Misha Brukman
008248f2c0 Linker.h moved to include/llvm/Support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 17:33:09 +00:00
Reid Spencer
23d46e70b1 Clean up documentation and naming of variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14119 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 18:38:44 +00:00
Reid Spencer
465ba87c92 Made detailed output the default and changed -details option to -nodetails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14114 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 08:24:42 +00:00
Reid Spencer
96684ef886 Clean up the documentation.
Simplify the file handling. It now only writes to std::cout.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14059 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 05:56:58 +00:00
Chris Lattner
a822160402 Eliminate more traces of the -c option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-07 18:10:01 +00:00
Reid Spencer
dac69c83c2 Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This tool
will (eventually) provide statistical analysis of bytecode files as well
as the ability to dump them in a low level format (slot numbers not
resolved). The purpose of this is to aid in the Type!=Value change of
bug 122. With this initial release, llvm-abcd merely dumps out the
bytecode. However, the infrastructure for separating bytecode parsing from
handling the parsing events is in place. The style chosen is similar to
SAX XML parsing where a handler object is called to handlign the parsing
events. This probably isn't useful to anyone but me right now as there is
no analysis yet, and the dumper doesn't work on every bytecode file. It
will probably be useful by the end of this week. Note that there is some
duplication of code from the bytecode reader.  This was done to eliminate
errors from being introduced in the reader and to minimize the impact to
other LLVM developers. At some point, the Analyzer and the Reader will be
integrated to use the same infrastructure. Also, sorry for the minor change
to Instruction.h but I just couldn't bring myself to write code that
depends on Instruction internals.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14048 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-07 17:53:43 +00:00
Chris Lattner
681692da43 Make gccld copy the llvm-stub program to be the execution wrapper for
bytecode files on win32 systems.  We keep the shell script on unix systems
because it is much more transparent for the users and supports -load
options.

This allows llvmgcc work correctly on win32 systems without the -native or
-native-cbe options.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13946 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:53:57 +00:00
Misha Brukman
fff0ff8313 Fix a double negation (in grammar).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13943 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:29:52 +00:00
Chris Lattner
0ebee7410f Move some functions out of gccld.cpp to GenerateCode.cpp. This allows us
to reduce the inter-file interface in the gccld tool and gets some
uninteresting code out of gccld.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13942 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:22:24 +00:00
Chris Lattner
7e88d418bb Refactor a bit of code into a function, no functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13941 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:10:19 +00:00
Chris Lattner
f7e92b1dcf No really cygwin, we LIKE .exe'ness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13939 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:04:54 +00:00
Chris Lattner
0ed1f38ea6 Build the llvm-stub directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-01 23:49:55 +00:00
Chris Lattner
4c6d124efa Initial checkin of a stub executable that can be used by gccld to forward to
bytecode files on systems that don't support #!/bin/sh natively (ie, win32).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13937 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-01 23:48:45 +00:00
Chris Lattner
3153e4fc80 Neuter the -q option. Stop printing the "program modified" message, ever
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13844 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 20:32:10 +00:00
Reid Spencer
ec7eb45926 Re-introduce the -q option and make opt always return 0, even if the
optimization pasess fail. This is necessary to avoid breaking feature
tests in the tests suite that depend on this behavior. *sigh*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13832 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 16:28:54 +00:00
Reid Spencer
0870594530 Removed the -q option and the default message written to stderr. The
output produces confusing results in TestRunner.sh


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13828 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 08:26:22 +00:00
Chris Lattner
b04cb7daf5 Right, globals aren't values yet..
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13822 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 06:43:37 +00:00
Chris Lattner
d9572118eb Add a simple pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13820 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 06:13:36 +00:00
Chris Lattner
6623cffb6a Uhh, that doesn't exist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13815 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:44:22 +00:00
Chris Lattner
bed85ff010 Header file moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:41:36 +00:00
Reid Spencer
9231ac8b6f Convert to SymbolTable's new iteration interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:53:40 +00:00
Chris Lattner
7507c297d0 Turn the block extractor on by default now that it basically works, eliminating the option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13502 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 19:02:44 +00:00
Chris Lattner
68bee938e5 Check to see if all blocks are extractible first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13491 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 16:08:01 +00:00
Chris Lattner
b83c0f3f63 Don't leave dead bytecode.output files around if the optimizer/block extractor crashes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13477 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 02:55:45 +00:00
Chris Lattner
2290e75406 Implement the final missing bits for block extractor support. Now bugpoint
can extract basic blocks up to the limit of the block extractor implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13475 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 02:43:24 +00:00
Chris Lattner
5e783ab0b5 Implement basic block extraction for the miscompilation debugger. This still needs
two things: the FIXME in ExtractBlocks needs to be implemented, and the basic block
extractor itself needs to have enough bugs fixed for this to be more or less
useful.

Until the time that this is generally useful, it is hidden behind the new bugpoint
-enable-block-extraction option.  I hope to get the FIXME done tonight.

Also of note, this patch adds a -extract-bbs option to bugpoint which can be used
to debug the block extractor.  (hint hint Misha :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13471 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11 21:54:13 +00:00
Chris Lattner
1c2f68631e A class that is meant to be a base class should have a virtual destructor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13470 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11 20:41:07 +00:00