summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Writer/WriterInternals.h
Commit message (Collapse)AuthorAgeFilesLines
* add bc reader/writer support for inline asmChris Lattner2006-01-251-1/+3
| | | | llvm-svn: 25621
* Read and write section info from/to .bc filesChris Lattner2005-11-121-4/+0
| | | | llvm-svn: 24321
* * Remove trailing whitespaceMisha Brukman2005-04-211-20/+20
| | | | | | * Convert tabs to spaces llvm-svn: 21418
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | 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
* Bytecode File Format Changes:Reid Spencer2004-08-171-5/+1
| | | | | | | | - 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
* bug 263:Reid Spencer2004-07-251-27/+70
| | | | | | | | | | | | | | | | - 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
* 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
* SlotCalculator.h movedChris Lattner2004-01-201-1/+1
| | | | llvm-svn: 10931
* Add support for writing bytecode files with compactiontables for bytecode files.Chris Lattner2004-01-181-1/+6
| | | | | | | | 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: 10915
* If these blocks are empty, there is no reason to even emit the bytecode blocks.Chris Lattner2004-01-151-6/+20
| | | | | | This saves about 15K in 176.gcc, coupled with another patch that I'm working on. llvm-svn: 10889
* The new bytecode format supports emitting strings a special case. This isChris Lattner2004-01-141-8/+3
| | | | | | | | | | | | intended to save size (and does on small programs), but on big programs it actually increases the size of the program slightly. The deal is that many functions end up using the characters that the string contained, and the characters are no longer in the global constant table, so they have to be emitted in function specific constant pools. This pessimization will be fixed in subsequent patches. llvm-svn: 10864
* Refactor writer stuff out of include/llvm/Bytecode/Primitives.h. This isChris Lattner2004-01-101-1/+1
| | | | | | internal implementation details for the writer, not public interfaces! llvm-svn: 10738
* Emit & read more compressed bytecode by not emitting a bytecodeblock forChris Lattner2003-12-011-1/+0
| | | | | | | | | | | | | | | | | | | each basic block in function. Instead, just emit a stream of instructions, chopping up basic blocks based on when we find terminator instructions. This saves a fairly substantial chunk of bytecode space. In stripped, sample cases, for example, we get this reduction in size: 197.parser: 163036 -> 137180: 18.8% reduction 254.gap : 844936 -> 689392: 22.6% 255.vortex: 621724 -> 528444: 17.7% ... Not bad for something this simple. :) Note that this doesn't require a new bytecode version number at all, though version 1.1 should not need to support the old format. llvm-svn: 10280
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+3
| | | | llvm-svn: 9903
* Added LLVM copyright header.John Criswell2003-10-211-0/+7
| | | | llvm-svn: 9321
* Regularize header file commentsChris Lattner2003-10-131-1/+1
| | | | llvm-svn: 9071
* Changes to the V2 bytecode format:Chris Lattner2003-03-191-2/+2
| | | | | | | | | | | | | | | | | | | | - Null values are implicitly encoded instead of explicitly, this makes things more compact! - More compactly represent ConstantPointerRefs - Bytecode files are represented as: Header|GlobalTypes|GlobalVars/Function Protos|Constants|Functions|SymTab instead of Header|GlobalTypes|Constants|GlobalVars/Function Protos|Functions|SymTab which makes a lot of things simpler. Writer changes: - We now explictly encode versioning information in the bytecode files. - This allows new code to read bytecode files produced by old code, but new bytecode files can have enhancements such as the above. Although this makes the reader a bit more complex (having to deal with old formats), the writer only needs to be able to produce the most recent version. llvm-svn: 5749
* Use a helper function outputConstantsInPlane in outputConstants.Vikram S. Adve2002-07-141-0/+2
| | | | llvm-svn: 2897
* MEGAPATCH checkin.Chris Lattner2002-06-251-2/+2
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2778
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-1/+0
| | | | llvm-svn: 2397
* s/method/functionChris Lattner2002-04-081-1/+1
| | | | llvm-svn: 2177
* * Move include/llvm/Analysis/SlotCalculator.h to include/llvm/SlotCalculator.hChris Lattner2002-04-071-1/+1
| | | | | | | because the slot calculator is already part of the VMCore library. * Rename incorporateMethod and purgeMethod to *Function llvm-svn: 2154
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-4/+4
| | | | llvm-svn: 1503
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-1/+1
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* * Emit bytecode using a deque instead of a vector to be fasterChris Lattner2001-09-071-12/+13
| | | | | | | | | * Internal rep no longer has a constant pool * Support emission of recursive types * Don't output a constant pool for an external method * The bytecode writer is no longer a module analyzer llvm-svn: 449
* Moved inline/llvm/Tools/* to include/llvm/Support/*Chris Lattner2001-07-231-1/+1
| | | | llvm-svn: 279
* Initial revisionChris Lattner2001-06-061-0/+74
llvm-svn: 2
OpenPOWER on IntegriCloud