summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix problems uncovered by VC++ (first time compiled by VC++)Jeff Cohen2004-12-203-3/+3
| | | | llvm-svn: 19056
* For PR351:Reid Spencer2004-12-151-1/+0
| | | | | | | * Remove #inclusion of FileUtilities.h, not needed any more. * Convert getUniqueFilename -> sys::Pat::makeUnique() llvm-svn: 18948
* For PR351:Reid Spencer2004-12-131-20/+6
| | | | | | | | 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
* Make sure the Archive gets deleted if there's an error.Reid Spencer2004-12-131-4/+4
| | | | llvm-svn: 18869
* Implement error handling in OpenAndLoad* functions so the Linker can handle it.Reid Spencer2004-12-131-13/+22
| | | | llvm-svn: 18853
* Path::get -> Path::toStringReid Spencer2004-12-114-23/+26
| | | | llvm-svn: 18785
* Remove a dead field, make the map go to integer type ID to hash better andChris Lattner2004-12-092-17/+12
| | | | | | avoid a getType. llvm-svn: 18691
* Remove #include inadvertently addedChris Lattner2004-12-091-2/+0
| | | | llvm-svn: 18686
* Eliminate this ugly hack. This was put back in when replaceAllUsesOf usedChris Lattner2004-12-091-30/+6
| | | | | | | | | | | | 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
* Provide more information in the error message that occurs when there areReid Spencer2004-12-041-2/+10
| | | | | | unresolved constants remaining. llvm-svn: 18502
* Check in some patches for better assertionsChris Lattner2004-12-042-0/+4
| | | | llvm-svn: 18500
* Do not allow bytecode files with unresolved references to be read. DoingChris Lattner2004-12-041-1/+7
| | | | | | | so lets wierd ConstantPlaceholder objects sneak into the system which confuses it greatly. llvm-svn: 18487
* RevisionNum is read by error(), initialize it early.Chris Lattner2004-11-301-0/+1
| | | | llvm-svn: 18386
* Compute the firstFileOffset correctly after reading the LLVM symbol table.Reid Spencer2004-11-281-2/+3
| | | | llvm-svn: 18300
* Adjust to Compressor interface changeReid Spencer2004-11-252-4/+2
| | | | llvm-svn: 18249
* Allow reading of member names that begin with an _ character.Reid Spencer2004-11-231-1/+2
| | | | llvm-svn: 18179
* Fix a comment to imply the correct semantics.Reid Spencer2004-11-221-1/+1
| | | | llvm-svn: 18097
* Distinguish between BSD4.4 and SVR4 symbol tablesReid Spencer2004-11-204-40/+66
| | | | llvm-svn: 18044
* Correct the computation of when to add the padding. It is not based on theReid Spencer2004-11-192-9/+9
| | | | | | | | member's size. It is based on the oddness/evenness of the file pointer. This fixes a bug with llvm-ar not being able to read archives produced by llvm-ranlib when there are members with odd long file name lengths. llvm-svn: 17997
* Add note that this is for old bytecode files.Chris Lattner2004-11-191-1/+1
| | | | llvm-svn: 17991
* Don't save an iterator, just use post-increment.Reid Spencer2004-11-191-4/+2
| | | | llvm-svn: 17981
* Make findModulesDefiningSymbols modify its symbols argument so we can \Reid Spencer2004-11-191-3/+14
| | | | | | eliminate symbols defined by the archive efficiently llvm-svn: 17976
* Fix some things for Mac OSX archives:Reid Spencer2004-11-171-5/+14
| | | | | | | | | | | * ensure trailing spaces are eliminated so they don't factor into the length of a member's name. * make sure all the bytes of a name are written even if the name ends in multiple null characters (bug in OSX ar) * make sure we provide the full member name when searching for symbols so the module name is not accidentally duplicated. llvm-svn: 17918
* Make sure we parse bytecode with a module identifier that reflects the fullReid Spencer2004-11-171-3/+9
| | | | | | name of the module: "Archive.a(object.o)" llvm-svn: 17917
* Adjust long file name writing to match BSD 4.4 and Mac OSX style archives.Reid Spencer2004-11-171-10/+14
| | | | llvm-svn: 17910
* Despite documentation to the contrary, Mac OSX and BSD 4.4 archive formatsReid Spencer2004-11-171-2/+3
| | | | | | | *do* include the length of the long file in the length of the member and they are *not* null terminated. llvm-svn: 17909
* Fix typeo in comment.Reid Spencer2004-11-161-1/+1
| | | | llvm-svn: 17892
* Per code review:\Reid Spencer2004-11-161-44/+46
| | | | | | | | | | | | * 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 llvm-svn: 17884
* Per code review:\Reid Spencer2004-11-161-15/+20
| | | | | | | * Make sure we write out the foreign symbol table if we read one \ * Make the padding calculation more efficiently and avoid Solaris warnings llvm-svn: 17883
* Per code review:\Reid Spencer2004-11-161-1/+2
| | | | | | * Make sure all members are initialized upon construction llvm-svn: 17882
* Per code review:\Reid Spencer2004-11-161-8/+12
| | | | | | | * Get rid of memory leaks on exception \ * Provide better comments of how the memory handling works llvm-svn: 17876
* Do not emit FunctionBlock blocks for external functions. This shrinksChris Lattner2004-11-151-3/+5
| | | | | | bytecode files by about 8 bytes per external function llvm-svn: 17859
* Use a per-function flag bit to indicate whether or not there is a functionChris Lattner2004-11-151-3/+6
| | | | | | body for the function. llvm-svn: 17858
* Disable this change, it was prematureChris Lattner2004-11-151-3/+3
| | | | llvm-svn: 17857
* Make *SURE* to null out the pointer before throwing an exception, otherwiseChris Lattner2004-11-151-2/+6
| | | | | | the dtor for the BytecodeReader class will try to free it again! llvm-svn: 17856
* Cleanups. Null out pointer after freeing it for paranoiaChris Lattner2004-11-151-5/+5
| | | | llvm-svn: 17855
* If a function is external, do not output a FunctionBlock for the functionChris Lattner2004-11-151-3/+3
| | | | | | | AT ALL. This saves 11 bytes per external function from the bytecode file, and is also required to make GhostLinkage work. llvm-svn: 17854
* Make functions default to having external linkage if they have noChris Lattner2004-11-151-2/+2
| | | | | | FunctionBlock. llvm-svn: 17853
* * Make sure the string table gets read even if there isn't a foreignReid Spencer2004-11-151-8/+20
| | | | | | | | symbol table. * Make sure we update the file pointer for each member when rebuilding the symbol table. llvm-svn: 17812
* Changes necessary to enable linking of archives without LLVM symbol tables.Reid Spencer2004-11-153-21/+76
| | | | llvm-svn: 17811
* Moved to lib/Bytecode/Archive.Reid Spencer2004-11-141-194/+0
| | | | llvm-svn: 17800
* Simplify compression code by using the high level interface to the CompressorReid Spencer2004-11-141-73/+4
| | | | llvm-svn: 17771
* Add wrappers to get defined symbols from bytecodeReid Spencer2004-11-141-19/+48
| | | | llvm-svn: 17770
* Simplify handling of decompressionReid Spencer2004-11-141-15/+4
| | | | llvm-svn: 17769
* Simplify decompression code by using the high level interface to the CompressorReid Spencer2004-11-141-57/+11
| | | | llvm-svn: 17768
* Completely rewritten to allow reading of archives and symbol table lookup in ↵Reid Spencer2004-11-141-160/+369
| | | | | | a more efficient manner. llvm-svn: 17767
* Implementation declarations for ArchiveReid Spencer2004-11-141-108/+24
| | | | llvm-svn: 17766
* First working versionReid Spencer2004-11-142-224/+492
| | | | llvm-svn: 17765
* Add the Archive libraryReid Spencer2004-11-141-1/+1
| | | | llvm-svn: 17764
* Mark an unmaterialized function as having GhostLinkageMisha Brukman2004-11-141-0/+4
| | | | llvm-svn: 17748
OpenPOWER on IntegriCloud