Commit Graph

359 Commits

Author SHA1 Message Date
Jeff Cohen 5f4ef3c5a8 Eliminate all remaining tabs and trailing spaces.
llvm-svn: 22523
2005-07-27 06:12:32 +00:00
Andrew Lenharth 253145299b If we support structs as va_list, we must pass pointers to them to va_copy
See last commit for LangRef, this implements it on all targets.

llvm-svn: 22273
2005-06-22 21:04:42 +00:00
Andrew Lenharth 717f1610f0 va_end fix
llvm-svn: 22262
2005-06-19 14:04:55 +00:00
Andrew Lenharth 9144ec4764 core changes for varargs
llvm-svn: 22254
2005-06-18 18:34:52 +00:00
Andrew Lenharth c3f68473a5 Remove code for conversion from old style va_args. Preparing the way for
returning to the old style :)

llvm-svn: 22199
2005-06-08 00:49:08 +00:00
Chris Lattner 9bbe58628b remove some dead (always dynamically false) flags
llvm-svn: 21752
2005-05-06 22:35:09 +00:00
Chris Lattner 129535c787 encode calling conventions for call/invoke instructions.
llvm-svn: 21751
2005-05-06 22:34:01 +00:00
Chris Lattner f2e1c1969f encode function calling convs in the bytecode file. invoke and call are
still to come.

llvm-svn: 21749
2005-05-06 20:42:57 +00:00
Chris Lattner fb6f1746f4 add bytecode reader support for tail calls
llvm-svn: 21727
2005-05-06 06:13:34 +00:00
Misha Brukman 291f6b7223 Remove vim settings from source code; people should use llvm/utils/vim/vimrc
llvm-svn: 21704
2005-05-05 22:33:09 +00:00
Chris Lattner 7ddaeb448b Add some extra checks. Opaque types don't have a null marker.
llvm-svn: 21700
2005-05-05 20:57:00 +00:00
Misha Brukman 2ecc34dd3c Remove trailing whitespace
llvm-svn: 21417
2005-04-21 21:44:41 +00:00
Chris Lattner 531f9e92d4 This mega patch converts us from using Function::a{iterator|begin|end} to
using Function::arg_{iterator|begin|end}.  Likewise Module::g* -> Module::global_*.

This patch is contributed by Gabor Greif, thanks!

llvm-svn: 20597
2005-03-15 04:54:21 +00:00
Chris Lattner 6d0a24c608 second argument to Value::setName is now gone.
llvm-svn: 20463
2005-03-05 19:05:20 +00:00
Chris Lattner 75f5b42624 use more specific cast.
llvm-svn: 20297
2005-02-24 05:26:04 +00:00
Reid Spencer 8d0f126b74 Make the check for global variables the same as the one for functions. In
both cases they are looking for non-external variables/functions that do
not have internal linkage. Using "!isExternal()" is a little more
understandable than "hasInitializer()"

llvm-svn: 20155
2005-02-13 18:12:20 +00:00
Chris Lattner 147c561432 Make sure to clear the LazyFunctionLoadMap after we ParseAllFunctionBodies.
Otherwise, clients who call ParseAllFunctionBodies will attempt to parse
the function bodies twice, which is (uh) very very bad (tm).

This fixes gccld on python.

llvm-svn: 20152
2005-02-13 17:48:18 +00:00
Chris Lattner 1b9f9c5f67 Do not put internal symbols into the symbol table. This shrinks the symbol
table for archives in common cases, and prevents trying to resolve a
external reference with an internal reference.  This shrinks the libpython.a
symbol table from 126302 to 19770 bytes.

llvm-svn: 20151
2005-02-13 17:42:11 +00:00
Chris Lattner ccf22fb182 Fix the regressions my User changes introduced. Apparently some parts of
LLVM make the very reasonable assumption that constant expressions will
have at least one operand! :)

llvm-svn: 19943
2005-01-31 01:11:13 +00:00
Chris Lattner 616b8fc630 Adjust to changes in User class and minor changes in instruction ctors.
llvm-svn: 19894
2005-01-29 00:36:19 +00:00
Reid Spencer 9e7acd465e For PR351:
Remove unix specific code (use of errno and read) from the reader.
Thanks to Jeff Cohen for pointing this out.

llvm-svn: 19081
2004-12-21 07:51:33 +00:00
Reid Spencer b5e10bb05d Remove the #include of llvm/Config/unistd.h as it is no longer needed.
llvm-svn: 19067
2004-12-20 04:52:04 +00:00
Jeff Cohen be92640355 Fix problems uncovered by VC++ (first time compiled by VC++)
llvm-svn: 19056
2004-12-20 03:23:46 +00:00
Reid Spencer cd89ca3040 For PR351:
Use sys::MappedFile instead of ReadFileIntoAddressSpace and
UnmapFileFromAddressSpace. sys::MappedFile has the nice property that it
cleans up after itself so exception handling can be removed.

llvm-svn: 18902
2004-12-13 18:25:27 +00:00
Reid Spencer 5ccfd5a48b Path::get -> Path::toString
llvm-svn: 18785
2004-12-11 00:14:15 +00:00
Chris Lattner 6225146f20 Remove a dead field, make the map go to integer type ID to hash better and
avoid a getType.

llvm-svn: 18691
2004-12-09 06:19:44 +00:00
Chris Lattner 2cdf54c0f0 Remove #include inadvertently added
llvm-svn: 18686
2004-12-09 04:53:17 +00:00
Chris Lattner e44907012a Eliminate this ugly hack. This was put back in when replaceAllUsesOf used
a different algorithm that was extremely inefficient for instructions with
many operands.

This reduces the time of this code snippet from .23s for 176.gcc to 0.03s
in a debug build, which speeds up total llvm-dis time just barely.

It's more of a code cleanup than a speedup.

llvm-svn: 18685
2004-12-09 04:51:50 +00:00
Reid Spencer ef510c0279 Provide more information in the error message that occurs when there are
unresolved constants remaining.

llvm-svn: 18502
2004-12-04 22:19:53 +00:00
Chris Lattner 8f97278c49 Do not allow bytecode files with unresolved references to be read. Doing
so lets wierd ConstantPlaceholder objects sneak into the system which
confuses it greatly.

llvm-svn: 18487
2004-12-04 05:28:27 +00:00
Chris Lattner 37a14496c5 RevisionNum is read by error(), initialize it early.
llvm-svn: 18386
2004-11-30 16:58:18 +00:00
Reid Spencer db372c707b Fix a comment to imply the correct semantics.
llvm-svn: 18097
2004-11-22 02:58:47 +00:00
Chris Lattner ddf3b7997f Add note that this is for old bytecode files.
llvm-svn: 17991
2004-11-19 16:24:05 +00:00
Reid Spencer 2df70a7e2f Per code review:\
* Get rid of memory leaks on exception \
* Provide better comments of how the memory handling works

llvm-svn: 17876
2004-11-16 06:41:05 +00:00
Chris Lattner 642f8c5ed4 Use a per-function flag bit to indicate whether or not there is a function
body for the function.

llvm-svn: 17858
2004-11-15 22:38:52 +00:00
Chris Lattner 7d04cdab77 Make *SURE* to null out the pointer before throwing an exception, otherwise
the dtor for the BytecodeReader class will try to free it again!

llvm-svn: 17856
2004-11-15 21:55:33 +00:00
Chris Lattner 36c95e38b0 Cleanups. Null out pointer after freeing it for paranoia
llvm-svn: 17855
2004-11-15 21:55:06 +00:00
Chris Lattner 55d85402f6 Make functions default to having external linkage if they have no
FunctionBlock.

llvm-svn: 17853
2004-11-15 21:43:03 +00:00
Reid Spencer fcf5ef7a4a Changes necessary to enable linking of archives without LLVM symbol tables.
llvm-svn: 17811
2004-11-15 01:20:11 +00:00
Reid Spencer 6456d2f26d Moved to lib/Bytecode/Archive.
llvm-svn: 17800
2004-11-14 22:38:32 +00:00
Reid Spencer 0ce0d938b1 Add wrappers to get defined symbols from bytecode
llvm-svn: 17770
2004-11-14 22:00:48 +00:00
Reid Spencer f01fc688ba Simplify handling of decompression
llvm-svn: 17769
2004-11-14 22:00:09 +00:00
Reid Spencer 0e36b8afb9 Simplify decompression code by using the high level interface to the Compressor
llvm-svn: 17768
2004-11-14 21:59:21 +00:00
Misha Brukman b2e062c9d5 Mark an unmaterialized function as having GhostLinkage
llvm-svn: 17748
2004-11-14 21:02:55 +00:00
John Criswell 623dc9c5c0 Recognize compressed LLVM bytecode files.
This should fix the problem of not being able to link compressed LLVM
bytecode files from LLVM libraries.

llvm-svn: 17648
2004-11-09 19:37:07 +00:00
Reid Spencer 796e531721 * Comments & cleanup per CL code review.
* Accept 'llvc' as signature for compressed bytecode

llvm-svn: 17579
2004-11-07 18:20:55 +00:00
Reid Spencer 899ad356f5 Add comments per CL code review.
llvm-svn: 17578
2004-11-07 18:19:00 +00:00
Reid Spencer 2e49204e0f Add support for compressed bytecode
llvm-svn: 17535
2004-11-06 23:17:23 +00:00
Reid Spencer c686a2b64b Implement the GetBytecodeSymbols interface function to extract just the
externally visible defined symbols from a bytecode file.

llvm-svn: 17503
2004-11-06 08:56:40 +00:00
Reid Spencer 49cc2cf279 Fix library name.
llvm-svn: 17305
2004-10-28 05:32:01 +00:00