aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Bytecode
Commit message (Collapse)AuthorAgeFilesLines
* Fix doxygen commentMisha Brukman2004-09-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16542 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16525 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert code to compile with vc7.1.Reid Spencer2004-09-151-3/+3
| | | | | | | Patch contributed by Paolo Invernizzi. Thanks Paolo! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16368 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak doxygen, according to Reid.Misha Brukman2004-09-121-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16298 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix code spacing/alignmentMisha Brukman2004-09-121-6/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16297 91177308-0d34-0410-b5e6-96231b3b80d8
* Change interface to use correct typedef so it will always compile.Reid Spencer2004-09-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16281 91177308-0d34-0410-b5e6-96231b3b80d8
* Print the dependent libraries when dumping bytecode.Reid Spencer2004-09-111-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16275 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos2004-09-031-0/+1
| | | | | | | Patch contributed by Paolo Invernizzi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-017-14/+20
| | | | | | | | | 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/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
* Correctly compute the number of compaction tables.Reid Spencer2004-08-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16064 91177308-0d34-0410-b5e6-96231b3b80d8
* Prevent an empty compaction table from being written to the bytecode file.Reid Spencer2004-08-271-8/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16063 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16062 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a wrapper for extraction of the dependent libraries from a bytecodeReid Spencer2004-08-241-0/+14
| | | | | | | file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16037 91177308-0d34-0410-b5e6-96231b3b80d8
* Rearrange output a little to make it nicer.Reid Spencer2004-08-241-17/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16036 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15985 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of an extraneous local variable.Reid Spencer2004-08-211-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15984 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15983 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15982 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15981 91177308-0d34-0410-b5e6-96231b3b80d8
* Packed types, brought to you by Brad JonesBrian Gaeke2004-08-203-0/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15938 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15875 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct the comments in the symbol table writer to reflect reality.Reid Spencer2004-08-171-3/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15848 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15512 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop using getValues().Alkis Evlogimenos2004-08-041-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15487 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getGlobalTableValue not use getTypeSlot, this speeds up the bc readerChris Lattner2004-08-043-32/+34
| | | | | | | by 5% on eon git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15452 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15450 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge i*.h headers into Instructions.h as part of bug403.Alkis Evlogimenos2004-07-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15325 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify code and silence warningChris Lattner2004-07-271-6/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15255 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15224 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15220 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't create a backwards compatibility flag for something that was aReid Spencer2004-07-251-4/+0
| | | | | | | regression bug introduced in release 1.2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15219 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to new Module.h interface for dependent libraries.Reid Spencer2004-07-251-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15218 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15210 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14942 91177308-0d34-0410-b5e6-96231b3b80d8
* bug 122:Reid Spencer2004-07-181-8/+8
| | | | | | | - Correct ordering of tests because for GlobalValue isa Constant git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14941 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14940 91177308-0d34-0410-b5e6-96231b3b80d8
* bug 122:Reid Spencer2004-07-181-9/+5
| | | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Correct isa<Constant> for GlobalValue subclass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14939 91177308-0d34-0410-b5e6-96231b3b80d8
* bug 122:Reid Spencer2004-07-181-3/+1
| | | | | | | - Update for BytecodeHandler interface change resuing from CPRs going away git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14938 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR341Chris Lattner2004-07-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14845 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually set the endian/pointersize flags on the module being read in!Brian Gaeke2004-07-141-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14826 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warning on SparcV9, where sizeof (int) != sizeof (void *).Brian Gaeke2004-07-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14786 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix unused var warningChris Lattner2004-07-121-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14775 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14765 91177308-0d34-0410-b5e6-96231b3b80d8
* - 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14764 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove tabs.Reid Spencer2004-07-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14763 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14762 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14731 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14729 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14728 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove definition and use of OtherVal enumerator. This just fixes a thinko.Reid Spencer2004-07-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14634 91177308-0d34-0410-b5e6-96231b3b80d8