Commit Graph

15633 Commits

Author SHA1 Message Date
Reid Spencer
87f90729d6 Per code review:\
* Make the numVbrBytes function more efficient and better documented \
* Fix a bug in name truncation \
* Add comments before functions \
* Get rid of functions that are now inlined into the header \
* Do not have Archive doing symbol table printing \
* Put assert comments into the assert so they print out \
* Make sure foreign symbol tables are written


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17884 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:47:30 +00:00
Reid Spencer
4a980d1813 Per code review:\
* Make sure we write out the foreign symbol table if we read one \
* Make the padding calculation more efficiently and avoid Solaris warnings


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17883 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:47:19 +00:00
Reid Spencer
1f465809cd Per code review:\
* Make sure all members are initialized upon construction


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17882 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:47:07 +00:00
Reid Spencer
60f1758f7c Per code review:\
* Use STL names for STL operations \
* Do not have Archive doing symbol table printing \
* Avoid compiler warnings about only having private constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17881 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:46:55 +00:00
Chris Lattner
242e525edc The second arg may be clobbered by this function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17880 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:41:36 +00:00
Chris Lattner
456b97297c Document this as clobbering the second arg, make the second arg be non-const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17879 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:41:21 +00:00
Reid Spencer
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
Reid Spencer
5a88578249 Per code review:\
* Get rid of memory leaks on exception \
* Provide better comments of how the memory handling works


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17876 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:41:05 +00:00
Chris Lattner
a4d0c6fb94 use an autoptr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17875 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:40:54 +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
Reid Spencer
8bf7fba10b Per code review:
* get rid of (void) construct in function declarations
* make toString a const member
* add a default implementation of toString for Win32


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


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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17871 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:11:52 +00:00
Chris Lattner
eea9b134fc Simplify namespaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17870 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 04:47:33 +00:00
Chris Lattner
8f1ac9f90d Remove a dead function, which died when we got GAS emission working (phwew,
hold your nose!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17869 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 04:34:29 +00:00
Chris Lattner
f2d552eca6 Implement a simple FIXME: if we are emitting a basic block address that has
already been emitted, we don't have to remember it and deal with it later,
just emit it directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17868 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 04:30:51 +00:00
Chris Lattner
16fe6f5f24 * Merge some win32 ifdefs together
* Get rid of "emitMaybePCRelativeValue", either we want to emit a PC relative
  value or not: drop the maybe BS.  As it turns out, the only places where
  the bool was a variable coming in, the bool was a dynamic constant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17867 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 04:21:18 +00:00
Misha Brukman
e12215f793 * Change test/projects => projects/llvm-test
* Add link to complete Command Guide in the "brief intro to major tools" section


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17866 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 23:20:51 +00:00
Chris Lattner
1840f3ce7f Add an accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 23:20:19 +00:00
Chris Lattner
02376e3f29 Now that we have ghost linkage, we can force resolution of external symbols
immediately instead of lazily.

In this program, for example:

int main() {
  printf("hello world\n");
  printf("hello world\n");
  printf("hello world\n");
  printf("hello world\n");
}

We used to have to go through compilation callback 4 times (once for each
call to printf), now we don't go to it at all.

Thanks to Misha for noticing this, and for adding the initial ghost linkage
patches.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17864 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 23:20:04 +00:00
Chris Lattner
0050ef8319 There is no reason to try to materialize the function from bytecode if it
already has been.  This may be a small speedup.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 23:18:09 +00:00
Chris Lattner
5aa3ed92de Add debug-only=jit printout, so we see when lazily resolved symbols are
set up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17862 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 23:16:55 +00:00
Chris Lattner
36c625d3a5 Simplify and rearrange long shift code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17861 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 23:16:34 +00:00
Chris Lattner
ced6222bc5 Update to reflect recent change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17860 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 22:54:50 +00:00
Chris Lattner
d6e431f45e Do not emit FunctionBlock blocks for external functions. This shrinks
bytecode files by about 8 bytes per external function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17859 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 22:39:49 +00:00
Chris Lattner
97fbc500a7 Use a per-function flag bit to indicate whether or not there is a function
body for the function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17858 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 22:38:52 +00:00
Chris Lattner
fd7f8fea65 Disable this change, it was premature
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17857 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:56:33 +00:00
Chris Lattner
3bdad6923e Make *SURE* to null out the pointer before throwing an exception, otherwise
the dtor for the BytecodeReader class will try to free it again!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17856 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:55:33 +00:00
Chris Lattner
1992522abd Cleanups. Null out pointer after freeing it for paranoia
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17855 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:55:06 +00:00
Chris Lattner
86c9365761 If a function is external, do not output a FunctionBlock for the function
AT ALL.  This saves 11 bytes per external function from the bytecode file,
and is also required to make GhostLinkage work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17854 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:46:40 +00:00
Chris Lattner
18549c25d6 Make functions default to having external linkage if they have no
FunctionBlock.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17853 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:43:03 +00:00
Reid Spencer
226b72672e Remove useless/confusing namespace qualifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17852 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:27:05 +00:00
Misha Brukman
145a5a3746 Add BCTR and LWZU instruction opcodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17851 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:20:09 +00:00
Reid Spencer
748d82e730 Merge content of RequiredSoftware.html into GettingStarted.html
Remove now defunct RequiredSoftware.html.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17850 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:15:12 +00:00
Misha Brukman
0011769ff6 * Add entry for Linux/PowerPC
* Mark MacOS X/PPC support as 32-bit-only
* Fix FreeBSD space usage -- it's in MB, not GB


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17848 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 21:05:08 +00:00
Misha Brukman
b2cdcadac5 Be less verbose when The' and command' just aren't necessary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17846 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 20:39:30 +00:00
Misha Brukman
98fcc88bfa No need for the verbose the llvm-link command' when simply llvm-link' will do
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17845 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 20:36:39 +00:00
Misha Brukman
55157ff5c9 Force a short link to gccld's man page
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17844 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 20:32:58 +00:00
Misha Brukman
bae412a99e Fix syntax within a B<> tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17843 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 20:30:19 +00:00
Reid Spencer
bd26475204 Remove personal email address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17842 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 20:25:08 +00:00
Misha Brukman
0d65a1fca3 Add the PowerPC 32-bit ABI output option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17840 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 20:22:49 +00:00
Chris Lattner
998cd67d00 Bump version. Shouldn't this come from somewhere else??
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17839 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 20:06:11 +00:00
Misha Brukman
bbcb10f56e * Add an entry for llvm-ranlib
* Add missing dashes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17838 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:53:43 +00:00
Misha Brukman
e2ca54f448 This is llvm-ar, not llvm-as.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17837 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:50:15 +00:00
Reid Spencer
f0f21fed9e Remove reference to llvm-ld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17836 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:47:20 +00:00
Reid Spencer
e8ae2d7155 Terminate a list.
Remove reference to llvm-ld


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17835 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:45:29 +00:00
Misha Brukman
f771bea740 Remove extra space char
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17834 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:30:05 +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
bd33619bb8 Changes/corrections suggested from Chris Lattner's review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17832 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:12:06 +00:00