summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove -debug outputChris Lattner2004-01-181-7/+0
| | | | llvm-svn: 10917
* Add support for writing bytecode files with compactiontables for bytecode files.Chris Lattner2004-01-184-36/+73
| | | | | | | | 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
* Add support for reading bytecode files with compactiontables for bytecode files.Chris Lattner2004-01-183-41/+186
| | | | | | | | 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-173-11/+28
| | | | | | | 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
* If these blocks are empty, there is no reason to even emit the bytecode blocks.Chris Lattner2004-01-152-8/+24
| | | | | | This saves about 15K in 176.gcc, coupled with another patch that I'm working on. llvm-svn: 10889
* ConstantPointerRef's are no longer emitted. This saves 20028 bytes in theChris Lattner2004-01-151-7/+3
| | | | | | | | bytecode files when compiling 176.gcc, but more importantly will make it easier to eliminate CPR's in the future (no new .bc revision will be required to support them) llvm-svn: 10884
* 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 more breakage with string change.Chris Lattner2004-01-151-2/+2
| | | | llvm-svn: 10882
* Fix PR73: bytecode format inconsistentChris Lattner2004-01-151-2/+0
| | | | llvm-svn: 10876
* Fix PR73Chris Lattner2004-01-152-1/+14
| | | | llvm-svn: 10875
* Fix brokenness in my last checkingChris Lattner2004-01-151-1/+1
| | | | llvm-svn: 10874
* Change all of the bytecode reader primitives to throw exceptions instead ofChris Lattner2004-01-155-244/+131
| | | | | | | | | | 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
* Remove the optimization that depends on ENDIAN_LITTLE: it's not worth it.Chris Lattner2004-01-151-8/+0
| | | | llvm-svn: 10870
* The new bytecode format supports emitting strings a special case. This isChris Lattner2004-01-143-21/+63
| | | | | | | | | | | | 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
* Version 1.2 now supports encoding strings as a special case, to avoid havingChris Lattner2004-01-143-2/+47
| | | | | | to emit all of those sbyte constants. llvm-svn: 10863
* Like output_data, it's obvious that input_data was only used with 1 characterChris Lattner2004-01-141-9/+1
| | | | | | data. llvm-svn: 10861
* It is obvious that this has never been used for outputing more than a singleChris Lattner2004-01-141-10/+1
| | | | | | byte, it's totally endian incorrect! llvm-svn: 10857
* Be const correctChris Lattner2004-01-141-3/+3
| | | | llvm-svn: 10856
* Ok, I can't handle it. This is a temporary checkin of a ton of statistics thatChris Lattner2004-01-143-9/+100
| | | | | | | i'm using in my work to reduce the bytecode file sizes. These will eventually be removed. llvm-svn: 10849
* Remove support for the pre-1.0 bytecode version #1. This will becomeChris Lattner2004-01-142-60/+34
| | | | | | the bytecode revision generated by LLVM 1.2. llvm-svn: 10848
* Toggle sense of flagChris Lattner2004-01-141-1/+1
| | | | llvm-svn: 10838
* Don't use ConstantExpr::getShift anymoreChris Lattner2004-01-121-2/+0
| | | | llvm-svn: 10791
* Do not bother to emit a BytecodeBlock for an empty symbol table. This commonlyChris Lattner2004-01-101-0/+4
| | | | | | | | | | occurs when the symbol table for a module has been stripped, making all of the function local symbols go away. This saves 6728 bytes in the stripped bytecode file of 254.gap (which obviously has 841 functions), which isn't a ton, but helps and was easy. llvm-svn: 10750
* Err, we don't need Config/*.h files for things that are standard C++Chris Lattner2004-01-101-1/+1
| | | | llvm-svn: 10742
* minor comment tweaksChris Lattner2004-01-101-5/+1
| | | | llvm-svn: 10741
* * finegrainify namespacification of ArchiveReader.cppChris Lattner2004-01-103-7/+158
| | | | | | | * Refactor reader stuff out of include/llvm/Bytecode/Primitives.h. This is internal implementation details for the reader, not public interfaces! llvm-svn: 10739
* Refactor writer stuff out of include/llvm/Bytecode/Primitives.h. This isChris Lattner2004-01-102-1/+142
| | | | | | internal implementation details for the writer, not public interfaces! llvm-svn: 10738
* Finegrainify namespacificationChris Lattner2004-01-103-12/+4
| | | | llvm-svn: 10737
* Inching our way towards fixing PR82Chris Lattner2004-01-091-1/+4
| | | | llvm-svn: 10721
* remove some useless #includesChris Lattner2003-12-301-9/+0
| | | | llvm-svn: 10654
* Use new getFileSize function instead of sys/stat.h directly.Chris Lattner2003-12-302-14/+9
| | | | llvm-svn: 10650
* Factor FDHandle out of the bytecode reader into the FileUtilities.h supportChris Lattner2003-12-291-16/+4
| | | | | | routines. llvm-svn: 10642
* minor cleanupsChris Lattner2003-12-261-7/+6
| | | | llvm-svn: 10612
* Reverted back to revision 1.11. The previous fix doesn't really fixJohn Criswell2003-12-221-12/+3
| | | | | | anything; it just causes the bug to go dormant. llvm-svn: 10585
* Fix PR#193.John Criswell2003-12-201-3/+12
| | | | | | | | | | Modified ReadArchiveBuffer() so that it dynamically allocates the std::string object used to hold the bytecode object file's name. This is necessary because it is passed by reference to the new Module that is allocated to represent the bytecode object, and previously we were using a std::string that disappeared on function exit. llvm-svn: 10565
* Make getObjectType() smarter about ranlibbed Mac OS X archives.Brian Gaeke2003-12-171-0/+2
| | | | llvm-svn: 10493
* Throw better error messages, by calling strerror(errno) when weBrian Gaeke2003-12-121-4/+9
| | | | | | get an error inside the bytecode reader. llvm-svn: 10415
* In getObjectType(), doxygenify comment, and take a pointer to theBrian Gaeke2003-12-111-50/+43
| | | | | | | | | | | | | beginning of the archive member data as an argument. Get rid of ParseLongFilenameSection(), which is dead. In ReadArchiveBuffer(), implement support for 4.4BSD/MacOSX long filenames. This is kind of invasive, because they prepend the long filename to the archive member data, and then lie about the size. So we have to keep track of the real size. llvm-svn: 10392
* Emit & read more compressed bytecode by not emitting a bytecodeblock forChris Lattner2003-12-014-14/+51
| | | | | | | | | | | | | | | | | | | 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
* * Finegrainify namespacificationChris Lattner2003-11-192-73/+47
| | | | | | | | | | | | | * Strength reduce several data structures which were left over from the "bad old days" * Minor efficiency improvements * Major efficiency improvement: In BytecodeParser::insertValue, do not allocate a new ValueTab entry just because some value exists with a large type. This dramatically reduces the number of allocations/deallocations performed by the bytecode reader, and speeds up parsing of Kimwitu++ from 34s to 17s. This is to help address PR127 llvm-svn: 10085
* Minor efficiency improvements, finegrainify namespacificationChris Lattner2003-11-191-11/+16
| | | | llvm-svn: 10084
* In the future, these slabs can be null...Chris Lattner2003-11-191-1/+2
| | | | llvm-svn: 10083
* Minor efficiency improvements all over. Finegrainify NamespacificationChris Lattner2003-11-191-37/+14
| | | | llvm-svn: 10082
* Fine grainify namespacification, #include file that defines the interface!Chris Lattner2003-11-191-9/+11
| | | | llvm-svn: 10081
* Minor speedup to do less linear time searches of information we already have.Chris Lattner2003-11-193-10/+12
| | | | | | speeds up disassembly of kc++ by .6s llvm-svn: 10079
* Remove usage of ConstantPointerChris Lattner2003-11-171-3/+1
| | | | llvm-svn: 10051
* Implement skeletal support for __.SYMDEF (ranlib) sections in archives.Brian Gaeke2003-11-161-10/+35
| | | | | | | | Correctly parse the Long Filename section of the archive. When reading in archive members, set their ModuleIDs to "ARCHIVENAME(MEMBERNAME)", as is traditional. llvm-svn: 10043
* I can't believe the incompetence of the people I have to deal with around here.Chris Lattner2003-11-141-1/+2
| | | | | | | | These fools don't even wrap code at 80 columns. Oh wait, _I_ wrote that. That explains a lot!! llvm-svn: 9999
* Fix PR 110: the constant folding code assumes that if something is not aChris Lattner2003-11-141-5/+3
| | | | | | | constant expression, but is of (for example) ubyte type, then it is a ConstantUInt. This was not true for placeholders. llvm-svn: 9994
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-1110-5/+40
| | | | llvm-svn: 9903
OpenPOWER on IntegriCloud