summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Writer/Writer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Today is not my day. Fix broken #Chris Lattner2004-10-141-1/+1
| | | | llvm-svn: 16967
* unbreak previous checkin :(Chris Lattner2004-10-141-1/+1
| | | | llvm-svn: 16966
* Add back a missing parenChris Lattner2004-10-141-2/+2
| | | | llvm-svn: 16965
* Wrap to 80 cols, delete some seriously old debugging printoutsChris Lattner2004-10-141-26/+15
| | | | llvm-svn: 16963
* Minor cleanupsChris Lattner2004-10-141-7/+3
| | | | llvm-svn: 16961
* Changes For Bug 352Reid Spencer2004-09-011-2/+2
| | | | | | | | 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
* Prevent an empty compaction table from being written to the bytecode file.Reid Spencer2004-08-271-8/+12
| | | | llvm-svn: 16063
* Packed types, brought to you by Brad JonesBrian Gaeke2004-08-201-0/+21
| | | | llvm-svn: 15938
* Bytecode File Format Changes:Reid Spencer2004-08-171-25/+16
| | | | | | | | - 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
* Stop using getValues().Alkis Evlogimenos2004-08-041-4/+3
| | | | llvm-svn: 15487
* Adjust to new Module.h interface for dependent libraries.Reid Spencer2004-07-251-2/+2
| | | | llvm-svn: 15218
* bug 263:Reid Spencer2004-07-251-47/+762
| | | | | | | | | | | | | | | | - 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-8/+8
| | | | | | - Correct ordering of tests because for GlobalValue isa Constant llvm-svn: 14941
* 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
* No functionality changes here:Chris Lattner2004-06-251-7/+4
| | | | | | | * Some warning fixes for MSVC * Minor simplification to the deque scanning code llvm-svn: 14417
* Fix more warnings building with VC++Chris Lattner2004-06-251-3/+1
| | | | llvm-svn: 14391
* Use the SymbolTable::isEmpty() method instead of checking for no valueReid Spencer2004-05-271-1/+1
| | | | | | | | | planes. A SymbolTable could still have types in it! This fixes problems with two regression tests that failed because a symbol table that only contained types was being omitted from bytecode files. Thanks to Chris for the reduced test case that helped find this immediately. llvm-svn: 13842
* Part of bug 122:Reid Spencer2004-05-261-1/+1
| | | | | | | | | | This change removes the BuildBytecodeInfo flag from the SlotCalculator class. This flag was needed to distinguish between the Bytecode/Writer and the AsmWriter. Now that AsmWriter doesn't use SlotCalculator, we can remove this flag and simplify some code. Also, some minor name changes to CachedWriter.h needed to be committed (missed in previous commit). llvm-svn: 13785
* Changed to use SymbolTable's new iteration interfaces.Reid Spencer2004-05-251-6/+18
| | | | llvm-svn: 13759
* Implement support for a new LLVM 1.3 bytecode format, which uses uint'sChris Lattner2004-04-051-3/+3
| | | | | | | to index into structure types and allows arbitrary 32- and 64-bit integer types to index into sequential types. llvm-svn: 12651
* Remove all of the annoying statistics now that I'm finished (for the nearChris Lattner2004-02-011-31/+0
| | | | | | term) working on bytecode size stuff. llvm-svn: 11046
* Bugfixes for dealing with partially compactified functionsChris Lattner2004-01-201-8/+10
| | | | llvm-svn: 10920
* Save another 30K from 176.gcc by encoding the compaction table a bit moreChris Lattner2004-01-181-3/+15
| | | | | | intelligently. llvm-svn: 10918
* 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-181-23/+64
| | | | | | | | 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
* Bytecode format for LLVM 1.2 no longer explicitly encodes zeros in primitiveChris Lattner2004-01-171-1/+6
| | | | | | | 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-151-2/+4
| | | | | | This saves about 15K in 176.gcc, coupled with another patch that I'm working on. llvm-svn: 10889
* Fix PR73: bytecode format inconsistentChris Lattner2004-01-151-2/+0
| | | | llvm-svn: 10876
* The new bytecode format supports emitting strings a special case. This isChris Lattner2004-01-141-5/+15
| | | | | | | | | | | | 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
* Ok, I can't handle it. This is a temporary checkin of a ton of statistics thatChris Lattner2004-01-141-5/+45
| | | | | | | i'm using in my work to reduce the bytecode file sizes. These will eventually be removed. llvm-svn: 10849
* Toggle sense of flagChris Lattner2004-01-141-1/+1
| | | | llvm-svn: 10838
* 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 namespacificationChris Lattner2004-01-101-5/+2
| | | | llvm-svn: 10737
* Emit & read more compressed bytecode by not emitting a bytecodeblock forChris Lattner2003-12-011-11/+7
| | | | | | | | | | | | | | | | | | | 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/+4
| | | | llvm-svn: 9903
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* add support for new linkage typesChris Lattner2003-10-181-4/+4
| | | | llvm-svn: 9228
* Updated to emit the final 1.0 bytecode format. This supports weak linkage,Chris Lattner2003-10-181-2/+2
| | | | | | more efficient encoding of varargs calls, and the new varargs intrinsics. llvm-svn: 9221
* Eliminate some extraneous code in SlotCalculator::insertVal().Alkis Evlogimenos2003-10-171-8/+8
| | | | | | | | | Rename SlotCalculator::getValSlot() to SlotCalculator::getSlot(), SlotCalculator::insertValue() to SlotCalculator::getOrCreateSlot(), SlotCalculator::insertVal() to SlotCalculator::insertValue(), and SlotCalculator::doInsertVal() to SlotCalculator::doInsertValue(). llvm-svn: 9190
* Add support for 'weak' linkage.Chris Lattner2003-10-161-2/+13
| | | | | | | | For now, we translate linkonce into weak linkage in the bytecode format because we don't have enough bits to represent it. We will rev the bytecode version soon anyways, so this will be fixed in the near future. llvm-svn: 9170
* Regularize header file commentsChris Lattner2003-10-131-1/+1
| | | | llvm-svn: 9071
* Fix a spello Misha made while fixing one of my appostrificationsChris Lattner2003-09-151-1/+1
| | | | llvm-svn: 8510
* Fixed spelling and grammar.Misha Brukman2003-09-111-2/+2
| | | | llvm-svn: 8489
* Allow modules to have 'any' pointer size and endianness. Luckily, we hadChris Lattner2003-08-241-3/+6
| | | | | | some space for extra flags, so we don't need to bump the revision number. llvm-svn: 8118
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-301-1/+1
| | | | | | system. llvm-svn: 7014
* Fix bug: Assembler/2003-05-03-BytecodeReaderProblem.llxChris Lattner2003-05-221-16/+25
| | | | | | | by emitting the type planes before any constants (which could be constant expressions involving undefined types!) llvm-svn: 6285
OpenPOWER on IntegriCloud