summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode
Commit message (Collapse)AuthorAgeFilesLines
...
* Add the CompactionTableIsEmpty function so that we can determine if aReid Spencer2004-08-262-0/+29
| | | | | | | CompactionTable really needs to be emitted. This is not a straight forward computation, hence the need for a member function here. llvm-svn: 16062
* Add a wrapper for extraction of the dependent libraries from a bytecodeReid Spencer2004-08-241-0/+14
| | | | | | file. llvm-svn: 16037
* Rearrange output a little to make it nicer.Reid Spencer2004-08-241-17/+17
| | | | llvm-svn: 16036
* Bytecode Analyzer Cleanup:Reid Spencer2004-08-211-162/+266
| | | | | | | | | | | - Rearrange output order to make more sense - Make only the function level output count as "detailed" - Output dump output directly to stream, don't buffer it. - Fix counting of block sizes - Implement new handlers for number of types, dependent libs, target triple - Compute the size of block headers. llvm-svn: 15985
* Get rid of an extraneous local variable.Reid Spencer2004-08-211-1/+0
| | | | llvm-svn: 15984
* Two Changes:Reid Spencer2004-08-211-14/+18
| | | | | | | | - Pass the output stream to the analyzer so it can write its output there directly instead of buffering it. - Don't pass a boolean to ParseBytecode because its not needed any more. llvm-svn: 15983
* Add boolean file format flags in preparation for version 5 bytecode.Reid Spencer2004-08-211-3/+18
| | | | | | | | Remove the "processFunctions" boolean from ParseBytecode as it is no longer needed. This is part of avoiding double reading of functions when analyzing bytecode. llvm-svn: 15982
* 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-203-0/+62
| | | | llvm-svn: 15938
* Bytecode File Format Changes:Reid Spencer2004-08-174-38/+39
| | | | | | | | - 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
* Correct the comments in the symbol table writer to reflect reality.Reid Spencer2004-08-171-3/+7
| | | | llvm-svn: 15848
* Turn a use of intptr_t into a reinterpret_cast<uint64_t> instead to getReid Spencer2004-08-042-2/+3
| | | | | | rid of compilation warnings on some platforms. llvm-svn: 15512
* Stop using getValues().Alkis Evlogimenos2004-08-041-4/+3
| | | | llvm-svn: 15487
* Make getGlobalTableValue not use getTypeSlot, this speeds up the bc readerChris Lattner2004-08-043-32/+34
| | | | | | by 5% on eon llvm-svn: 15452
* Do not do a linear std::find to reconstruct information we had, but later threwChris Lattner2004-08-032-29/+24
| | | | | | away. This speeds up by .bc reader by 30% in a profile build on 252.eon. llvm-svn: 15450
* Merge i*.h headers into Instructions.h as part of bug403.Alkis Evlogimenos2004-07-291-1/+1
| | | | llvm-svn: 15325
* 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
* 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
* Adjust to new Module.h interface for dependent libraries.Reid Spencer2004-07-251-2/+2
| | | | llvm-svn: 15218
* bug 263:Reid Spencer2004-07-257-811/+1003
| | | | | | | | | | | | | | | | - 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-30/+16
| | | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14942
* bug 122:Reid Spencer2004-07-181-8/+8
| | | | | | - Correct ordering of tests because for GlobalValue isa Constant llvm-svn: 14941
* 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
* Fix for PR341Chris Lattner2004-07-151-1/+1
| | | | llvm-svn: 14845
* 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
* Fix unused var warningChris Lattner2004-07-121-3/+2
| | | | llvm-svn: 14775
* 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
* Remove tabs.Reid Spencer2004-07-111-2/+2
| | | | llvm-svn: 14763
* Prepare the writer for a non-broken implementation of writing floatingReid Spencer2004-07-112-2/+19
| | | | | | | point values. This will be fixed when I figure out how to do it correctly without depending on knowing the endianess of a platform. llvm-svn: 14762
* 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
* Implementation of SlotTable went into header file. Note that this headerReid Spencer2004-07-041-116/+0
| | | | | | | is currently not being used but is retained because it will be the basis for a clean up of the SlotCalculator class. llvm-svn: 14612
* Remove Tabs.Reid Spencer2004-07-041-4/+4
| | | | llvm-svn: 14611
* Implement new output functions for types and compacted type planes. AlsoReid Spencer2004-07-041-51/+68
| | | | | | | remove use of Type::TypeTyID and Type::TypeTy since Type no longer inherits Value. llvm-svn: 14610
* Add new methods outputTypes and outputCompactionTypes for handling TypesReid Spencer2004-07-041-2/+4
| | | | | | separately from Values. This needed for bug 122. llvm-svn: 14609
* For bug 122:Reid Spencer2004-07-042-133/+237
| | | | | | | | | | | Separate Types from Values because Type no longer inherits from Value. The changes for this are too numerous to list. In essence, any data structure that contained a Value was doubled so that Types could be contained similarly. New members include Types, TypeMap, CompactionTypes, and CompactionTypeMap. Functions taking a Value* were overloaded with a variant that takes a Type* that acts on the new data structures. llvm-svn: 14608
* - Type::TypeTyID doesn't exist any more (bug 122)Reid Spencer2004-07-041-5/+1
| | | | | | - Types don't have names any more, just write them on ostream directly llvm-svn: 14606
* Move SlotCalculator.h to lib/Bytecode/Writer since that is the only placeReid Spencer2004-07-041-0/+141
| | | | | | that needs it after the Type != Value changes (bug 122). llvm-svn: 14605
* - 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
OpenPOWER on IntegriCloud