Commit Graph
100 Commits
Author SHA1 Message Date
Reid Spencer 3b4c5d72e0 Patches to correct several bugs in llvmc.
Patches contributed by Bram Adams. Thanks Bram.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29729 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 20:31:44 +00:00
Reid Spencer 1014647e40 Fix a thinko noticed by Chandler Carruth.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29724 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 05:53:32 +00:00
Reid Spencer 103febea8e Add a section on how to build an RPM package as an optional release
activity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29719 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 00:54:50 +00:00
Reid Spencer ea949cfafa Add llvm.spec to the list of files to be configured.
Remove the search for etags. Nothing in LLVM uses it any more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29718 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 00:45:38 +00:00
Reid Spencer f7c75a6832 Add .PHONY targets for building source and binary RPM packages. You can
now just "make rpm" or "make srpm" and it will build them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29717 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 00:43:50 +00:00
Reid Spencer 10e46630fb Transform the LLVM RPM spec file to be a configured file. This allows us
to automatically pick up the configured version number and other details.
Also, update the contents of this script to allow building both a source
and binary version of the RPM package.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29716 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 00:42:52 +00:00
Reid Spencer eda573ddf9 Okay, make the prose match the example too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29697 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 04:00:29 +00:00
Reid Spencer 1c6f87d665 Some more correction to the examples, thanks to Chris Lattner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29696 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:57:05 +00:00
Reid Spencer 920baeee80 Simplify this a little bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29695 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:50:10 +00:00
Reid Spencer 6ae928fc69 This script takes arguments so remove the check for number of arguments,
just check the first arg to see if its -topdir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29694 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:48:22 +00:00
Reid Spencer 50739225f4 Fix an example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29693 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:46:38 +00:00
Reid Spencer 80a4d05a20 Clarify the first question.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29692 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:43:31 +00:00
Reid Spencer 919d37151a Rearrange things for clarity, don't talk about "dereferencing" when we
shouldn't, and add a better example for one of the questions. Thanks to
Chris Lattner for these suggestions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29691 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 03:32:10 +00:00
Reid Spencer 9977ea6f33 For PR876:
Fix problem setting the USE_{program} variable. It should be set to a
Makefile variable definition line, not just "1". Problem noted by
Kenneth Hoste.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29682 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:19:57 +00:00
Reid Spencer cc2665d431 For PR876:
Fix problem noticed by Kenneth Hoste. The wrong name for a variable was
being set and subsequently uses of the correct name were empty.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29681 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:15:03 +00:00
Reid Spencer 70bbf9a3dd Provide indentation of the generated program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29678 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:35:15 +00:00
Reid Spencer f428c0f3f3 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29667 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 19:51:02 +00:00
Reid Spencer b5fc9f537b Fix several grammaros and a few HTML usage items.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29665 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 19:19:55 +00:00
Reid Spencer ca7592a1ba Make all tools that use llvmdo have a -topdir option that allows the top
source dir for LLVM to be specified explicitly. This removes the dependency
on the llvm-config script. If the option is not given, then the scripts use
llvm-config which should be both built and in the PATH. This arrangement
provides a useful default for most developers but also allows the nightly
tester to execute countloc.sh before llvm-config is built and without
altering the PATH.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29663 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 18:49:05 +00:00
Reid Spencer 71ddd5319a Add llvm2cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29656 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 19:04:57 +00:00
Reid Spencer 321956392f 1. fix bug by ensuring we start at the llvm source root.
2. make use of the -code-only option on llvmdo
3. Add some debug print statements to find #1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29655 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 19:03:06 +00:00
Reid Spencer 99aa27161b Count the documentation. Otherwise we take a 30,000 hit in the LOC on the
nightly test graph. And, documentation is important.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29654 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 18:59:40 +00:00
Reid Spencer c7e289f7ca Use the new -code-only option to llvmdo so that we only count things that
are considered to be code. This will give a drop in the LOC count on the
nightly testers, but it is more accurate than previous estimates.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29653 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 18:29:21 +00:00
Reid Spencer 956dae87ae Add a -code-only option which restricts llvmdo to visiting just those
files that are considered to be code. Documentation is excluded.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29652 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 18:28:27 +00:00
Reid Spencer fa34d7b3a7 Changes for LLVM coding standard compliance:
1. Remove tabs
  2. Wrap to 80 columns
  3. Put spaces between "if" or "elsif" and expression
  4. Put { on same line as if statement.
  5. Make indentation be 2 spaces.
Functionality change:
  Run utils/countloc.sh after the build is done. This is necessary because
  that script now uses llvm-config to find the top src directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29651 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-13 09:53:02 +00:00
Reid Spencer 4477185a6e Lexer.cpp is a generated file both in lib/AsmParser and projects/Stacker
so we remove it from being counted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29641 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:58:58 +00:00
Reid Spencer 2914a696fb Weed out some cruft and add in some missing extensions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:51:05 +00:00
Reid Spencer c0d5ed33e5 Weed out cruft that should not be counted and add in extensions we
previously missed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29637 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:50:27 +00:00
Reid Spencer 8312657fc3 Make this script not care where it is run from by getting the llvm src
root from the llvm-config script.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29632 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:55:31 +00:00
Reid Spencer 1e75b7b015 Make llvmdo and llvmgrep invulnerable to where they are run from by getting
the llvm source root from the llvm-config command. The dependency now is
that the correct llvm-config command is in the path. For most developers
this is the case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29630 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:53:27 +00:00
Reid Spencer b43ce5a148 Don't print double newline for --src-root and --obj-root as it tends to
confuse shells that might use this output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29629 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:50:24 +00:00
Reid Spencer ae2e622e74 Clean up the HTML output. Add a -filedetails option to report the number of
lines contributed by each user to each file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29624 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 20:44:17 +00:00
Reid Spencer bf49f33103 Remove blank line at end of file, removing test user "foo" from CVS history.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29623 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 19:42:11 +00:00
Reid Spencer bb6f6eb667 Drop the -details option, it was broken. If you want to know about a
particular directory, just pass that directory to the script. Also, clean
up the HTML output, put list of skipped dirs at the end, and make a few
other minor improvements.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29620 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 18:36:55 +00:00
Reid Spencer 23a0c7671d Fix a typo noticed by Gordon Henriksen. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29597 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-10 21:38:47 +00:00
Reid Spencer 48f706820a llvm2cpp no longer reads LLVM assembly but LLVM bytecode instead. Adjust
the documentation to reflect this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29596 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-10 21:02:25 +00:00
Reid Spencer f19ccf8b63 Add a cleaned-up version of the IRC conversation that spurred this FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29595 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-10 21:01:14 +00:00
Reid Spencer e00906fbc2 Answer the most frequently asked question, about GEPs. The answer is
sufficiently long that I placed it in a separate file but it links from
the FAQ page. More might need to be added to GetElementPtr.html to
address additional confusion surrounding GEP.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29594 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-10 20:15:58 +00:00
Reid Spencer a7465cafeb Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29590 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 19:40:13 +00:00
Reid Spencer ebfe07fb18 Update the instructions for writing a pass as a loadable module per the
new definition in MakefileGuilde.html and Makefile.rules.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29563 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 01:48:17 +00:00
Reid Spencer d1001f2ac2 Fix an anchor name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29557 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:44:59 +00:00
Reid Spencer 1b22fde3b2 Make the name of the project consistent with that specified in the
configure.ac file. This fixes some case-consistency issues between the name
of the tarball created by "make dist" and the tarball used for source when
building the LLVM RPM package.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29554 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:23:39 +00:00
Reid Spencer dc4f6bea6c Remove the use of "IncludeFile" from this support facility. The mechanism
to build a loadable module is now correctly defined and documented so this
workaround isn't needed any longer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29553 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:20:15 +00:00
Reid Spencer 05445e30aa Make this example pass use some things from lib/Support (EscapeString,
SlowOperatingInfo, Statistics). Besides providing an example of how to
use these facilities, it also serves to debug problems with runtime linking
when dlopening a loadable module. These three support facilities exercise
different combinations of Text/Weak Weak/Text and Text/Text linking
between the executable and the module.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29552 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:17:24 +00:00
Reid Spencer 42fe455d37 For PR780:
1. Change the usage of LOADABLE_MODULE so that it implies all the things
   necessary to make a loadable module. This reduces the user's burdern to
   get a loadable module correctly built.
2. Document the usage of LOADABLE_MODULE in the MakefileGuide
3. Adjust the makefile for lib/Transforms/Hello to use the new specification
   for building loadable modules
4. Adjust the sample project to not attempt to build a shared library for
   its little library. This was just wasteful and not instructive at all.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29551 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:12:15 +00:00
Reid Spencer 25259a3149 Remove extraneous #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29541 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 05:36:24 +00:00
Reid Spencer a8e80c5188 Make the removal of files use Path::eraseFromDisk just like it does for
the removal of directories. Using std::remove is indiscriminate and can
lead to the removal of things like /dev/null if run as root. The
Path::eraseFromDisk method ensures that we only ever remove regular files
or directories, but never character or block special nodes.  This should
clear up the problem with usage like: llvm-as -o /dev/null which is used
in the llvm-test makefiles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29540 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 05:34:08 +00:00
Reid Spencer bffdc36c38 Add a note about how the "isFile" check in Path::eraseFromDisk prevents
the erasure of non-file paths like /dev/null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29539 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 05:20:05 +00:00
Reid Spencer a773bd54f3 Update the auto* tools: autoconf 2.60, libtool 1.5.22, automake 1.9.6.
Update ltld.[ch] to version 1.5.22.
Correct the notes about updating these tools (autoconf/README.TXT)
Add configure options for getting the correct option for including a whole
archive when linking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29529 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 18:18:08 +00:00
Reid Spencer cfa529182f Use the %llvm-gcc% variable to find llvm-gcc for those of us that don't
have it in our path and to ensure it uses the configured llvm-gcc not just
any one randomly placed in the path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29522 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 17:35:18 +00:00
Reid Spencer ecfe0888b6 For PR845:
Enable the makefile check on the result of find-cycles.pl. LLVM is now
cycle free and we intend to keep it that way. This patch will fail the
build if cycles are found.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29517 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 21:46:42 +00:00
Reid Spencer d8c20a9cf8 Fix a typo in the name of expand_dependencies.
Make the dependency line pattern match handle white space better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29516 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 21:45:35 +00:00
Reid Spencer d0fa46aa62 Print an error message if the lib directory (first argument) is not a
directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29508 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 19:10:03 +00:00
Reid Spencer 3336aa056f Update my entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29438 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 16:52:07 +00:00
Reid Spencer 704e81f6e8 Fix HTML 4.01 Strict errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29435 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 16:23:54 +00:00
Reid Spencer 9bf2e7f53d Fix a problem with use of undefined variables. Print an error message if
the first argument is omitted. Attempt to use a standard/default font.
Make the generation of the DOT file readable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29429 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 08:09:03 +00:00
Reid Spencer ca6a18f9dc Update to include new options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29426 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 07:38:39 +00:00
Reid Spencer e131ec935b Update library dependency information, describe new libraries, talk a
little about llvm-config as a source for help with library dependencies.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29425 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 07:32:01 +00:00
Reid Spencer ceaf1c33c0 Fix the --with-extra-options to use the correct variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29403 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:50:07 +00:00
Reid Spencer aea7fe4abd For PR848:
1. Get the path to the pwd binary (/bin/pwd usually) from configure.
2. Use that path to run pwd in all path variables set in Makefile.config.in
The hope is that these changes will resolve symlinks to physical paths. This
should work on all platforms where the binary pwd defaults to printing
physical paths. The shell version of pwd generally doesn't (it will print
the symlink path).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29381 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 05:05:00 +00:00
Reid Spencer a6e216f456 Undo last commit, which was committed accidentally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29369 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 23:19:00 +00:00
Reid Spencer 1bc686433b Changes to support cross-compiling LLVM. The GenLibDeps.pl script needs to
have a compile-host version of "nm", not build-host. In order to effect this
we must use autoconf to determine the correct "nm" to use and propagate that
through the makefiles, through llvm-config and finally to GenLibDeps.pl as
an optional argument.
Patch contributed by Anton Korobeynikov. Thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29368 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 23:00:30 +00:00
Reid Spencer d30a971bf2 Correct a misunderstanding about cross-compiling. Anton's changes don't
cause LLVM to become a cross-compiler but rather cross-compile LLVM so that
it can execute on a platform other than the build host.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29339 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 06:41:31 +00:00
Reid Spencer 2d4ed2d4fd Fix section title to use lower case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29332 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 05:51:34 +00:00
Reid Spencer 17850ef897 Add instructions for building a cross-compiler. Patch contributed by
Anton Korobeynikov.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29330 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 05:43:30 +00:00
Reid Spencer c148e5e487 Reduce the padding on the doc_notes style. It was set to 1em which leaves
the shaded box with a large blank border, wasting space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29328 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 05:29:25 +00:00
Reid Spencer e2cfe5d232 For PR814:
Provide support for making cross-compiling builds. See the PR for details.
Patch provided by Anton Korobeynikov. Thanks, Anton!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29309 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 21:14:56 +00:00
Reid Spencer 5332430643 Remove an extraneous use of ${ac_exeext}. Patch by Anton Korobeynikov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29306 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 21:08:09 +00:00
Reid Spencer 93b59c61db For PR814:
Add a macro for getting the build host extension for executable. Patch
contributed by Anton Korobeynikov. Thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29304 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 20:45:12 +00:00
Reid Spencer dd3f6aa91f Make changes necessary for stopping the build if a cyclic library
dependency is found. The find-cycles.pl script now exits with a return code
that equals the number of cycles found. The Makefile was changed to ignore
the status code of find-cycles.pl. This should be removed once the libraries
are free of cyclic dependencies.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29290 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 17:10:54 +00:00
Reid Spencer 44b60ec455 Build llvm-config to identify library cycles earlier in the build process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29289 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 17:06:02 +00:00
Reid Spencer 23dd3327a0 For PR780:
Put the rest of lib/System into LinkAllVMCore.h. This makes all of
lib/System available to programs that #include LinkALlVMCore.h so that
loadable modules linked into those programs can depend on all of lib/System
being available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29288 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 16:55:39 +00:00
Reid Spencer 7107c3badf For PR780:
1. Move IncludeFile.h to System library
2. Move IncludeFile.cpp to System library
3. #1 and #2 required to prevent cyclic library dependencies for libSystem
4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h
5. Add IncludeFile support to various lib/System classes.
6. Add new lib/System classes to LinkAllVMCore.h
All this in an attempt to pull in lib/System to what's required for VMCore


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29287 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 16:18:00 +00:00
Reid Spencer 9160a6a18f Initialize some variables the compiler warns about.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29277 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 20:44:41 +00:00
Reid Spencer c152efda47 Add a feature for debugging library dependency cycles, -why option. This
implies -flat and will produce a list of all the symbols for each library
that another library depends on. Run the output through c++filt for
better readability. Also, don't generate a temporary file for storing the
dependent library names. Perl can handle it in a %hash.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29273 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 19:12:06 +00:00
Reid Spencer 8d8a7ffe58 Finish removal of EH usage from the Archive library. The REQUIRES_EH flag
in lib/Bytecode/Archive/Makefile is now removed. One small step closer to
a smaller LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29067 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 20:56:50 +00:00
Reid Spencer 3039b99697 Remove EH use from the Archive library and adjust its users accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29066 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 19:09:14 +00:00
Reid Spencer 3d48e53584 Split long comment lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28988 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-03 16:46:03 +00:00
Reid Spencer 9d5b532de9 For PR801:
Refactor the Graph writing code to use a common implementation which is
now in lib/Support/GraphWriter.cpp. This completes the PR.

Patch by Anton Korobeynikov. Thanks, Anton!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 16:49:46 +00:00
Reid Spencer 72a8e6f58c Whoops, missed a couple more C-style casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28905 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 22:19:00 +00:00
Reid Spencer 54cb98578a Use C++ style casts instead of C-style casts to shut up compiler warnings
when compiling with -pedantic. Passes regression tests on Linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28904 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 21:54:54 +00:00
Reid Spencer 28f6f2218b For PR811:
Don't both with the "C" and "cc" extensions as they aren't common and they
the "C" extension conflicts with the "c" extension on operating systems
that have case insensitive file names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28899 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 17:21:39 +00:00
Reid Spencer dc6830ff25 Only print the stack trace if it was requested. Previously, any call into
the Signals module that registered the handlers would cause the stack trace
to be generated. Now, you must explicitly call PrintStackTraceOnErrorSignal
in order for that to happen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28810 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 00:00:57 +00:00
Reid Spencer 68464b74b8 Actually add instructions to the list of defined values so it gets
recognized as such!  This prevents the CppWriter from treating every
operand as a forward reference and making a mess of the output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28800 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 16:09:59 +00:00
Reid Spencer ab4d9b0446 Squelch a warning about signed/unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28729 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08 18:08:43 +00:00
Reid Spencer 393830a33a For PR804:
Change the file size field of StatusInfo to be uint64_t instead of size_t
so that we know it is always 64 bits. This prevents some overflow on
systems where size_t is 32 bits when it ought to be 64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28726 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08 17:00:08 +00:00
Reid Spencer 32f5553c03 For PR787:
Provide new llvm::sys::Program facilities for converting the stdout and
stdin to binary mode. There is no standard way to do this and the available
mechanisms are platform specific. Adjust the bytecode reader and writer to
use these methods when their input is stdin or output is stdout. THis avoids
the problem with \n writing CRLF to a bytecode file on windows.

Patch Contributed by Michael Smith.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28722 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 23:18:34 +00:00
Reid Spencer 2991b01b18 Shorten a value description so --help out isn't so wide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28721 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 23:07:51 +00:00
Reid Spencer e3f0561545 Make sure this tool links in all of libVMCore.a because it can --load
shared objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28720 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 23:06:50 +00:00
Reid Spencer af303d53e6 For PR780:
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o
2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage
3. Make each of the tools with --load options include LinkAllVMCore.h
This should be the last set of changes for this bug and 800.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28719 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 23:03:13 +00:00
Reid Spencer 454d85be66 Previous version of this file wasn't supposed to be committed. This version
attempts to get all of libVMCore.a through the least number of declarations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28716 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 22:09:38 +00:00
Reid Spencer 4f1bd9e996 For PR780:
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
   with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 22:00:26 +00:00
Reid Spencer 6296b3cac5 Fix a spello in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28714 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 21:24:10 +00:00
Reid Spencer 170da9b058 For PR780:
This change was suggested by Chris so that we can select an alternate
(or even no-op) implementation of the link assurance. I'm committing this
for your review, Chris. If the names and definitions are okay, I'll adjust
all the .h and .cpp files in a later patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28712 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 20:35:46 +00:00
Reid Spencer 6df60a9eff For PR780:
Break the "IncludeFile" mechanism into its own header file and adjust other
files accordingly. Use this facility for the IntrinsicInst problem which
was the subject of PR800.
More to follow on this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28709 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 20:00:19 +00:00
Reid Spencer 51ab5c8862 Add the -Xlinker option to bugpoint which allows an option to be passed
through to gcc when its being used as a linker. This allows -L and -l
(and any other) options to be added so that non-complete bytecode files
can be processed with bugpoint. The -Xlinker option can be added as many
times as needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28692 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06 00:00:42 +00:00
Reid Spencer 2403b855cd Document the cl::SetVersionPrinter function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28690 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-05 17:30:16 +00:00
Reid Spencer bddcb9427c For PR778:
Move file-scoped documentation to class-scoped so it is more readily
accessible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28689 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-05 16:29:06 +00:00
Reid Spencer fcadfbbdef For PR798:
Provide GraphViz support for MingW32. Patch provided by Anton Korobeynikov


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28688 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-05 16:26:06 +00:00
Reid Spencer 515b5b379f Make it possible to override the standard version printer. Not all tools
built with CommandLine.h will want the --version option to report that the
tool belongs to LLVM. To override simply pass a void func() to the
cl::SetVersionPrinter() function and that void func() will be called when
it is time to print the version information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28687 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-05 16:22:56 +00:00