summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Reader/Reader.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* RevisionNum is read by error(), initialize it early.Chris Lattner2004-11-301-0/+1
| | | | llvm-svn: 18386
* Add note that this is for old bytecode files.Chris Lattner2004-11-191-1/+1
| | | | llvm-svn: 17991
* 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
* 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
* Make functions default to having external linkage if they have noChris Lattner2004-11-151-2/+2
| | | | | | FunctionBlock. llvm-svn: 17853
* Simplify decompression code by using the high level interface to the CompressorReid Spencer2004-11-141-57/+11
| | | | llvm-svn: 17768
* Mark an unmaterialized function as having GhostLinkageMisha Brukman2004-11-141-0/+4
| | | | llvm-svn: 17748
* * Comments & cleanup per CL code review.Reid Spencer2004-11-071-22/+56
| | | | | | * Accept 'llvc' as signature for compressed bytecode llvm-svn: 17579
* Add support for compressed bytecodeReid Spencer2004-11-061-3/+40
| | | | llvm-svn: 17535
* Do not erroneously accept revision 6 bytecode files when the format hasn'tChris Lattner2004-10-161-5/+2
| | | | | | been defined yet! llvm-svn: 17063
* Add support for undef, unreachable, and function flagsChris Lattner2004-10-161-19/+67
| | | | llvm-svn: 17054
* Fit in 80 columnsChris Lattner2004-10-141-13/+14
| | | | llvm-svn: 16962
* Fix doxygen commentMisha Brukman2004-09-281-1/+1
| | | | llvm-svn: 16542
* The system ranlib on darwin occasionally adds two extra newlines to theChris Lattner2004-09-271-2/+8
| | | | | | | | end of files, breaking the CFE build. As a gross hack around this, ignore any trailing garbage on bytecode files. Thanks to Brian for digging in and identifying the problem. llvm-svn: 16525
* Convert code to compile with vc7.1.Reid Spencer2004-09-151-3/+3
| | | | | | Patch contributed by Paolo Invernizzi. Thanks Paolo! llvm-svn: 16368
* Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos2004-09-031-0/+1
| | | | | | Patch contributed by Paolo Invernizzi! llvm-svn: 16152
* Changes For Bug 352Reid Spencer2004-09-011-4/+10
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Get rid of an extraneous local variable.Reid Spencer2004-08-211-1/+0
| | | | llvm-svn: 15984
* Bytecode Reader Cleanup:Reid Spencer2004-08-211-38/+66
| | | | | | | | | | | | | | | - provide the correct conversion for ModuleBlockID in read_block (a potential bug but not actually exploited because reading module block ids doesn't use read_block). - install support for handleTypeList handler - install support for handleDependentLibrary handler - install support for handleTargetTriple handler - clean up comments, output strings, - ensure that processing function arguments doesn't SIGSEGV if one of the arguments is a null pointer (yeah, it happened .. weird) - prepare for version 5 bytecode by documenting what will change. llvm-svn: 15981
* Packed types, brought to you by Brad JonesBrian Gaeke2004-08-201-0/+20
| | | | llvm-svn: 15938
* Bytecode File Format Changes:Reid Spencer2004-08-171-6/+17
| | | | | | | | - File format version number bumped to 4 - Writer will now align nothing - Reader now only expects alignment for version 3 or earlier llvm-svn: 15875
* Turn a use of intptr_t into a reinterpret_cast<uint64_t> instead to getReid Spencer2004-08-041-1/+2
| | | | | | rid of compilation warnings on some platforms. llvm-svn: 15512
* Make getGlobalTableValue not use getTypeSlot, this speeds up the bc readerChris Lattner2004-08-041-23/+28
| | | | | | by 5% on eon llvm-svn: 15452
* Do not do a linear std::find to reconstruct information we had, but later threwChris Lattner2004-08-031-17/+10
| | | | | | away. This speeds up by .bc reader by 30% in a profile build on 252.eon. llvm-svn: 15450
* Simplify code and silence warningChris Lattner2004-07-271-6/+4
| | | | llvm-svn: 15255
* 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
* bug 263:Reid Spencer2004-07-251-28/+136
| | | | | | | | | | | | | | | | - 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
* bug 122:Reid Spencer2004-07-181-9/+5
| | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14939
* 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
* Error Handling Cleanup:Reid Spencer2004-07-091-121/+127
| | | | | | | | | | - 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
* Finalize bytecode dumping. The "handleFinish" method was getting calledReid Spencer2004-07-051-6/+13
| | | | | | | | 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
* 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
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-2/+2
| | | | llvm-svn: 14201
* Implement support for a new LLVM 1.3 bytecode format, which uses uint'sChris Lattner2004-04-051-3/+8
| | | | | | | 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-031-26/+5
| | | | | | | prerelease format for LLVM bytecode files. Now we only are compatible with LLVM 1.0+. llvm-svn: 12643
* Make error message a bit nicer.Chris Lattner2004-03-291-1/+1
| | | | | | Contributed by Reid Spencer llvm-svn: 12523
* Start using the new and improve interface to FunctionType argumentsChris Lattner2004-02-091-12/+9
| | | | llvm-svn: 11224
* Fix bogus warning and simplify codeChris Lattner2004-01-201-11/+5
| | | | llvm-svn: 10924
* Bugfixes for dealing with partially compactified functionsChris Lattner2004-01-201-6/+19
| | | | llvm-svn: 10920
* Save another 30K from 176.gcc by encoding the compaction table a bit moreChris Lattner2004-01-181-4/+17
| | | | | | intelligently. llvm-svn: 10918
* Add support for reading bytecode files with compactiontables for bytecode files.Chris Lattner2004-01-181-30/+129
| | | | | | | | This shrinks the bytecode file for 176.gcc by about 200K (10%), and 254.gap by about 167K, a 25% reduction. There is still a lot of room for improvement in the encoding of the compaction table. llvm-svn: 10914
* Bytecode format for LLVM 1.2 no longer explicitly encodes zeros in primitiveChris Lattner2004-01-171-8/+14
| | | | | | | type planes. This saves about 5k on 176.gcc, and is needed for a subsequent patch of mine I'm working on. llvm-svn: 10908
* Allow bytecode files to refer directly to global values as constants, insteadChris Lattner2004-01-151-2/+6
| | | | | | | | of forcing them to go through ConstantPointerRef's. This allows bytecode files to mirror .ll files, allows more efficient encoding, and makes it easier to eventually eliminate CPR's. llvm-svn: 10883
* Fix PR73Chris Lattner2004-01-151-1/+10
| | | | llvm-svn: 10875
* Change all of the bytecode reader primitives to throw exceptions instead ofChris Lattner2004-01-151-37/+18
| | | | | | | | | | returning error codes. Because they don't return an error code, they can return the value read, which simplifies the code and makes the reader more efficient (yaay!). Also eliminate the special case code for little endian machines. llvm-svn: 10871
OpenPOWER on IntegriCloud