summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Reader
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a serious bug in the double constant reader. In particular, becauseChris Lattner2004-07-251-1/+2
| | | | | | | | (At[3] << 24) is an int type and it is being coerced to uint64_t, it was getting sign extended, causing us to get FFFFFFFFxxxxxxxx constants all of the time. llvm-svn: 15224
* Always write FP values correctly.Reid Spencer2004-07-251-35/+21
| | | | | | | Adjust for new Module.h interface for dependent libraries. Excise unused backwards compatibility flag. llvm-svn: 15220
* Don't create a backwards compatibility flag for something that was aReid Spencer2004-07-251-4/+0
| | | | | | regression bug introduced in release 1.2 llvm-svn: 15219
* bug 263:Reid Spencer2004-07-252-28/+171
| | | | | | | | | | | | | | | | - encode/decode target triple and dependent libraries bug 401: - fix encoding/decoding of FP values to be little-endian only bug 402: - initial (compatible) cut at 24-bit types instead of 32-bit - reduce size of block headers by 50% Other: - cleanup Writer by consolidating to one compilation unit, rem. other files - use a std::vector instead of std::deque so the buffer can be allocated in multiples of 64KByte chunks rather than in multiples of some smaller (default) number. llvm-svn: 15210
* User ValueListTy as the type of the ValueList. This avoides the ValueListReid Spencer2004-07-181-1/+1
| | | | | | | from being treated like a Function which can cause the contents of the list to be come invalidated. llvm-svn: 14940
* bug 122:Reid Spencer2004-07-181-9/+5
| | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14939
* bug 122:Reid Spencer2004-07-181-3/+1
| | | | | | - Update for BytecodeHandler interface change resuing from CPRs going away llvm-svn: 14938
* Actually set the endian/pointersize flags on the module being read in!Brian Gaeke2004-07-141-0/+3
| | | | llvm-svn: 14826
* Fix warning on SparcV9, where sizeof (int) != sizeof (void *).Brian Gaeke2004-07-131-1/+1
| | | | llvm-svn: 14786
* Various cleanups:Reid Spencer2004-07-111-153/+193
| | | | | | | | | | | | | | | | - Remove tabs - Standardize use of space around ( and ). - Consolidate the ConstantPlaceHolder class - Rename two methods to be more meaningful (ParseType, ParseTypes) - Correct indentation of blocks - Add documentation - Convert input dependent asserts to error(...) so it throws instead. Provide placeholder implementations of read_float and read_double that still read in platform-specific endianess. When I figure out how to do this without knowing the endianess of the platform, it will get implemented correctly. llvm-svn: 14765
* - Rename two methods to give them more meaningReid Spencer2004-07-111-2/+8
| | | | | | | - Add read_float and read_double in preparation for a correct implementation of bytecode floating point support. llvm-svn: 14764
* Make the VBRSavings percentage make sense (as a fraction of the totalReid Spencer2004-07-101-3/+2
| | | | | | expanded size instead of the file size). Thanks Chris. llvm-svn: 14731
* Error Handling Cleanup:Reid Spencer2004-07-092-121/+129
| | | | | | | | | | - get rid of PARSE_ERROR macro - add error(std::string) function - use error(std::string) for all errors - make input dependent asserts call error(std::string) instead - ensure asserts are only for logic bugs, not input discrepancies. llvm-svn: 14729
* Fix a backwards compatibility bug found by Tanya. In version 1.2, theReid Spencer2004-07-091-0/+5
| | | | | | | | | global type plane starts with a length and the TypeTyID value to identify the type plane has having type definitions. This doesn't happen in 1.3 because the types are read from a known position in the file. However, the TypeTyID must be read in (and ignored) if its a 1.2 bytecode file. llvm-svn: 14728
* Remove definition and use of OtherVal enumerator. This just fixes a thinko.Reid Spencer2004-07-061-1/+1
| | | | llvm-svn: 14634
* Finalize bytecode dumping. The "handleFinish" method was getting calledReid Spencer2004-07-054-29/+38
| | | | | | | | too soon so the function data was not getting dumped (it was generated after the call handleFinish). Also cleaned up the output format for proper indentation. llvm-svn: 14627
* - Don't use macros to call the BytecodeHandlerReid Spencer2004-07-041-278/+434
| | | | | | | | | | | - Don't use PARSE_ERROR macro unnecessarily (for simple strings) - Add comments before each function - Convert for bug 122 (Type != Value) - Handle new value range on Type::PrimitiveTypeId enumeration by augmenting the reader with a new read_typeid method and sanitizeTypeId method. - Remove BytecodeHandler's default method implementations to header file. llvm-svn: 14604
* - Make ValueList an "OtherVal" user of Values to ensure it doesn't getReid Spencer2004-07-041-60/+51
| | | | | | | | mistaken for anything else. - Move function descriptions to Reader.cpp file per Chris. - Remove tabs. llvm-svn: 14602
* Remove tabs. Move function declaration to Reader.h where it belongs.Reid Spencer2004-07-041-8/+4
| | | | llvm-svn: 14601
* Add #include <iostream> which is needed now that Value.h doesn't include itReid Spencer2004-07-041-0/+1
| | | | llvm-svn: 14600
* Excise tabs.Reid Spencer2004-07-041-32/+31
| | | | llvm-svn: 14599
* Remove files no longer needed. ConstantReader and InstructionReader wereReid Spencer2004-06-299-3404/+0
| | | | | | | | | | integrated into Reader. Parser.* was just a bad idea. AnalyzerInternals.h is no longer needed. ReaderPrimitives.h was integrated into Reader.h and Reader.cpp. Dumper.cpp was integrated into Analyzer.cpp. ReaderInternals.h became Reader.h. AnalyzerWrappers.cpp was integerated into ReaderWrappers.cpp llvm-svn: 14496
* This is a slimming down of the previous ReaderInternals.h that justReid Spencer2004-06-291-0/+470
| | | | | | declares the BytecodeReader class. llvm-svn: 14495
* MAJOR REWRITE.Reid Spencer2004-06-291-326/+1355
| | | | | | | | | | | | | | | | | | - stop passing Buf/BufEnd to every function (now member vars) - internalize things that used to be in a header file that no one else included/needed. - Remove defunct BCR_TRACE lines - Standardize error handling with the PARSE_ERROR macro. - Integrate ConstantReader.cpp and InstructionReader.cpp and reorgnize the definition order so that gcc has a chance at optimizing this module - Standardize case and style of method names. - Eliminate unneeded header files - Prepare for Type != Value (bug122) change by splitting Types into their own data structures. - Implement the BytecodeHandler interface calls. - Provide default implementation of BytecodeHandler interface. llvm-svn: 14494
* Adjustments to allow Bytecode Reading to support the BytecodeHandlerReid Spencer2004-06-291-15/+68
| | | | | | interface which is called by the reader if a BytecodeHandler is provided. llvm-svn: 14493
* Merge Dumper.cpp and AnalyzerWrappers.cpp into this file. Also, adjust theReid Spencer2004-06-291-63/+377
| | | | | | dumping facility to produce useful output. llvm-svn: 14492
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-175-11/+11
| | | | llvm-svn: 14201
* Implement tracking of bytecode instruction size and the number of longReid Spencer2004-06-112-0/+16
| | | | | | instructions generated. llvm-svn: 14154
* Revert an unneeded interface change to Instruction.hReid Spencer2004-06-111-1/+1
| | | | llvm-svn: 14137
* Remove tabs.Reid Spencer2004-06-101-2/+2
| | | | llvm-svn: 14123
* Implement detailed function level data collection and reporting.Reid Spencer2004-06-102-148/+104
| | | | llvm-svn: 14122
* Adjust prototypes to new Handler interface.Reid Spencer2004-06-101-69/+30
| | | | llvm-svn: 14121
* Make the parser deal with functions instead of just function types.Reid Spencer2004-06-102-38/+42
| | | | llvm-svn: 14120
* Doxygenize a comment.Reid Spencer2004-06-101-2/+2
| | | | llvm-svn: 14115
* Implemented the bulk of the functionality. Cleaned up the code.Reid Spencer2004-06-105-239/+590
| | | | llvm-svn: 14113
* Cleanup alignment of output.Reid Spencer2004-06-091-14/+14
| | | | llvm-svn: 14093
* Implement analysis output. Don't dump function details unless requested.Reid Spencer2004-06-091-1/+20
| | | | llvm-svn: 14091
* Implement some rudimentary analysis.Reid Spencer2004-06-091-3/+47
| | | | llvm-svn: 14090
* Clean up indentation of file body output.Reid Spencer2004-06-091-9/+10
| | | | | | Don't dump functions unless "detailedResults" is requested. llvm-svn: 14089
* Move parsing details to Parser.cpp.Reid Spencer2004-06-091-25/+0
| | | | llvm-svn: 14088
* Bring some things out of header files that belong only in this file.Reid Spencer2004-06-091-0/+21
| | | | llvm-svn: 14087
* Fix the bug that was preventing the parser from working on all bytecodeReid Spencer2004-06-081-5/+5
| | | | | | | | files. It was reading non-initialized global vars when the flag said it was initialized and vice versa. Causes mis-alignment since initialized and non-initialized constants have different bytecode lengths. llvm-svn: 14057
* Adjust what's included to compensate for changes in Parser.hReid Spencer2004-06-081-0/+11
| | | | llvm-svn: 14055
* Merged BytecodeHandler.h into Parser.h since the parser and the handlerReid Spencer2004-06-081-56/+376
| | | | | | | | must always coexist. Cleaned up the documentation on these interfaces significantly. This is in preparation for moving Parser.h to the include directories to make it a public interface. llvm-svn: 14054
* Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This toolReid Spencer2004-06-076-0/+1881
| | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 14048
* Use the new FileUtilities.h API for mapping a file into an addressChris Lattner2004-05-282-32/+14
| | | | | | space llvm-svn: 13864
* Squelch compile-time warning (profile build).Misha Brukman2004-04-281-1/+1
| | | | llvm-svn: 13228
* Fix warning building in optimized modeChris Lattner2004-04-271-0/+1
| | | | llvm-svn: 13190
* Implement support for a new LLVM 1.3 bytecode format, which uses uint'sChris Lattner2004-04-054-7/+59
| | | | | | | to index into structure types and allows arbitrary 32- and 64-bit integer types to index into sequential types. llvm-svn: 12651
* Remove a bunch of cruft that was used to be backwards compatible with the lastChris Lattner2004-04-033-92/+23
| | | | | | | prerelease format for LLVM bytecode files. Now we only are compatible with LLVM 1.0+. llvm-svn: 12643
OpenPOWER on IntegriCloud