aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Bytecode
Commit message (Collapse)AuthorAgeFilesLines
* Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean.Chris Lattner2006-02-222-2/+2
| | | | | | | Patch by Martin Partel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26313 91177308-0d34-0410-b5e6-96231b3b80d8
* minor cleanupChris Lattner2005-11-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24528 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a problem with llvm-ranlib that (on some platforms) caused the archiveReid Spencer2005-11-301-0/+3
| | | | | | | | | | | file to become corrupted due to interactions between mmap'd memory segments and file descriptors closing. The problem is completely avoiding by using a third temporary file. Patch provided by Evan Jones git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24527 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove vim settings from source code; people should use llvm/utils/vim/vimrcMisha Brukman2005-05-051-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21704 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert tabs to spacesMisha Brukman2005-04-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21436 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-217-132/+132
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21409 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement an isBytecodeArchive method to determine if an archive containsReid Spencer2005-02-261-0/+9
| | | | | | | | bytecode file members or not. Patch Contributed By Adam Treat git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20338 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve compatibility with aCC on HPUX. Patch by Duraid MadinaChris Lattner2005-01-161-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19585 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the OpenAndLoad functions have an ErrorMessage argument.Reid Spencer2004-12-131-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18849 91177308-0d34-0410-b5e6-96231b3b80d8
* Distinguish between BSD4.4 and SVR4 symbol tablesReid Spencer2004-11-201-9/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18044 91177308-0d34-0410-b5e6-96231b3b80d8
* Make findModulesDefiningSymbols modify its symbols argument so we can \Reid Spencer2004-11-191-3/+6
| | | | | | | eliminate symbols defined by the archive efficiently git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17976 91177308-0d34-0410-b5e6-96231b3b80d8
* Per code review:\Reid Spencer2004-11-161-18/+23
| | | | | | | | | * 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
* Remove useless/confusing namespace qualifier.Reid Spencer2004-11-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17852 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes necessary to enable linking of archives without LLVM symbol tables.Reid Spencer2004-11-151-4/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17811 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove ReadArchiveFile (functionality moved to Archive.h). Add an alternate ↵Reid Spencer2004-11-141-9/+10
| | | | | | form for GetBytecodeSymbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17755 91177308-0d34-0410-b5e6-96231b3b80d8
* Complete rewrite to get first working version.Reid Spencer2004-11-141-192/+410
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17754 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove extra spacesMisha Brukman2004-11-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17629 91177308-0d34-0410-b5e6-96231b3b80d8
* Make writing compressed bytecode the default.Reid Spencer2004-11-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17625 91177308-0d34-0410-b5e6-96231b3b80d8
* Make compression the default on writing.Reid Spencer2004-11-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17577 91177308-0d34-0410-b5e6-96231b3b80d8
* * Provide option for specifying bytecode compressionReid Spencer2004-11-071-5/+6
| | | | | | | * Enabled bytecode compression by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17563 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for compressed bytecodeReid Spencer2004-11-061-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17535 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide an interface for getting just the external symbols from aReid Spencer2004-11-061-0/+10
| | | | | | | Bytecode file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17502 91177308-0d34-0410-b5e6-96231b3b80d8
* Deprecate constructors we don't want users to use.Reid Spencer2004-11-061-0/+23
| | | | | | | Temporarily comment out two interface methods we might not implement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17501 91177308-0d34-0410-b5e6-96231b3b80d8
* Go ahead and trust the client not to mess with the ModuleProvider* returnedReid Spencer2004-11-051-6/+11
| | | | | | | by the findModuleContainingSymbol method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17491 91177308-0d34-0410-b5e6-96231b3b80d8
* * Documentation corrections (thanks to Chris for nit-picking)Reid Spencer2004-11-051-18/+11
| | | | | | | | * Remove dead typedefs. * Redefine how getAllPaths treats its argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17489 91177308-0d34-0410-b5e6-96231b3b80d8
* First version of the interface to Archive files. This introduces theReid Spencer2004-11-051-0/+261
| | | | | | | | | | llvm::Archive class to provide for reading, writing, indexing and search functions on standard ar(1) format files that contain bytecode modules. Implementation to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17487 91177308-0d34-0410-b5e6-96231b3b80d8
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-201-2/+2
| | | | | | | | 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
* Correct the interface of a function to use the correct typedef for anReid Spencer2004-09-111-2/+2
| | | | | | | argument so that it will always compile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16284 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a function that gets just the dependent libraries from a bytecode file.Reid Spencer2004-08-241-7/+17
| | | | | | | Doxygenify comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16039 91177308-0d34-0410-b5e6-96231b3b80d8
* Dump the DependentLibsBlockID, its not a block, its just a list inside theReid Spencer2004-08-211-3/+2
| | | | | | | | globals info block. Add an enumerator for getting the number of enumerators so we can range check in assertions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15980 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new methods:Reid Spencer2004-08-211-0/+16
| | | | | | | | | - get the total number of types in the global type list - handle dependent libraries - handle target triple git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15978 91177308-0d34-0410-b5e6-96231b3b80d8
* Bytecode Analyzer cleanup:Reid Spencer2004-08-211-7/+9
| | | | | | | | | | - don't save the "dump" output, just emit it - record the bc version number - record info about the dependent libraries and target triple - use the correct enumeration as the index on the block size map git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15977 91177308-0d34-0410-b5e6-96231b3b80d8
* Packed types, brought to you by Brad JonesBrian Gaeke2004-08-201-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15938 91177308-0d34-0410-b5e6-96231b3b80d8
* The Type* is redundant with the TypeSlotChris Lattner2004-08-041-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15451 91177308-0d34-0410-b5e6-96231b3b80d8
* bug 402:Reid Spencer2004-07-251-0/+45
| | | | | | | | | A new set of block identifiers has been added for version 1.3 so that the range of values can fit within 5 bits. This aids in halving the size of block headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15206 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant value not needed after CPR's disappear.Reid Spencer2004-07-171-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14917 91177308-0d34-0410-b5e6-96231b3b80d8
* Make all the virtual function (except destructor) inline so there areReid Spencer2004-07-041-41/+41
| | | | | | | default implementations without taking up a ton of space in a .cpp file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14603 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide support for the BytecodeHandler interface which will be called byReid Spencer2004-06-291-2/+9
| | | | | | | | the bcreader if one is supplied to the bytecode reader's interface functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14489 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix include guardReid Spencer2004-06-291-9/+20
| | | | | | | | Adjust comments Make handlers for constants provide useful information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14488 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust comments to match code.Reid Spencer2004-06-291-6/+13
| | | | | | | Allow analysis to return the module created by the bcreader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14487 91177308-0d34-0410-b5e6-96231b3b80d8
* - Changed Handler.h -> BytecodeHandler.hReid Spencer2004-06-251-13/+13
| | | | | | | - Fixed some small coding standard compliance issues in BytecodeHandler.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14393 91177308-0d34-0410-b5e6-96231b3b80d8
* Okay, Module have not been known as 'C' for a LONG time nowChris Lattner2004-06-251-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14392 91177308-0d34-0410-b5e6-96231b3b80d8
* Definition of the Bytecode Handler interface. Subclasses can override justReid Spencer2004-06-241-0/+291
| | | | | | | | | the methods they are interested in to perform out-of-band tasks while the BytecodeReader is constructing a module. Handlers should *not* modify any of the LLVM IR objects during this process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14380 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement tracking of bytecode instruction size and the number of longReid Spencer2004-06-111-1/+5
| | | | | | | instructions generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14154 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated the BytecodeAnalysis data structure to contain additional fieldsReid Spencer2004-06-101-3/+9
| | | | | | | needed for analysis of individual functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14125 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented the bulk of the functionality. Cleaned up the code.Reid Spencer2004-06-101-9/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14113 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some new fields for bytecode analysis.Reid Spencer2004-06-091-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14092 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix case of doxygen directive `\p': it's lowercase.Misha Brukman2004-06-081-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14068 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up documentation and make it possible for the BytecodeAnalyzer toReid Spencer2004-06-081-6/+17
| | | | | | | store the output of the bytecode dumper. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14058 91177308-0d34-0410-b5e6-96231b3b80d8
* Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This toolReid Spencer2004-06-071-0/+97
| | | | | | | | | | | | | | | | | | | | | | 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