summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Writer/Writer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Add support for reading and writing pointersize/endianness to and from bytecodeChris Lattner2003-04-221-2/+2
| | | | llvm-svn: 5839
* Add support to the bytecode reader/writer for the new linkage typesChris Lattner2003-04-161-6/+6
| | | | llvm-svn: 5790
* Changes to the V2 bytecode format:Chris Lattner2003-03-191-26/+38
| | | | | | | | | | | | | | | | | | | | - 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
* - Eliminated the deferred symbol table stuff in Module & Function, it reallyChris Lattner2002-11-201-4/+2
| | | | | | wasn't an optimization and it was causing lots of bugs. llvm-svn: 4779
* Clean up code a bit, no functionality changes.Chris Lattner2002-10-141-10/+10
| | | | llvm-svn: 4162
* Updates to work with recent Statistic's changes:Chris Lattner2002-10-011-2/+2
| | | | | | | | | | | | * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. llvm-svn: 4002
* *** empty log message ***Chris Lattner2002-07-261-0/+6
| | | | llvm-svn: 3105
* Register the WriteBytecodePassChris Lattner2002-07-231-0/+5
| | | | llvm-svn: 3033
* Write out the plane for types first, since values of primitive typesVikram S. Adve2002-07-141-35/+57
| | | | | | | | | may be constructed by expressions of other types (and so the contents of the primitive type planes must come after all types). Use a helper function outputConstantsInPlane in outputConstants to do this. llvm-svn: 2898
* changes to make it compatible with 64bit gccAnand Shukla2002-06-251-1/+1
| | | | llvm-svn: 2790
* MEGAPATCH checkin.Chris Lattner2002-06-251-23/+19
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2778
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-4/+3
| | | | llvm-svn: 2378
* Make debugging code not use getStrValueChris Lattner2002-04-181-2/+1
| | | | llvm-svn: 2295
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-091-1/+1
| | | | | | be 'Argument' instead of FunctionArgument. llvm-svn: 2216
* * Move include/llvm/Analysis/SlotCalculator.h to include/llvm/SlotCalculator.hChris Lattner2002-04-071-13/+10
| | | | | | | because the slot calculator is already part of the VMCore library. * Rename incorporateMethod and purgeMethod to *Function llvm-svn: 2154
* s/Method/FunctionChris Lattner2002-03-291-1/+1
| | | | llvm-svn: 2035
* Change references from Method to FunctionChris Lattner2002-03-261-8/+8
| | | | | | change references from MethodARgument to FunctionArgument llvm-svn: 1991
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-7/+7
| | | | llvm-svn: 1503
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-4/+4
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* Move support directoryChris Lattner2001-11-291-1/+1
| | | | llvm-svn: 1401
* Implement internal method supportChris Lattner2001-11-261-4/+6
| | | | llvm-svn: 1374
* Fix obscure nasty bug with bytecode writing that could cause the last byte ↵Chris Lattner2001-11-041-2/+5
| | | | | | to be dropped. llvm-svn: 1123
* Dang, we were losing the Constant bit on globals. Fix thisChris Lattner2001-10-181-1/+1
| | | | llvm-svn: 885
* * Use new style casts moreChris Lattner2001-10-131-6/+2
| | | | | | | | * Add real support for global variable addresses initializing constants * Fix encoding/decoding of VarArgs calls * Support the Invoke instruction llvm-svn: 761
* Convert more code to use new style castsChris Lattner2001-10-011-3/+3
| | | | | | Eliminate old style casts from value.h llvm-svn: 696
* Add more support for new style castsChris Lattner2001-10-011-1/+2
| | | | | | Convert more code to use them llvm-svn: 695
* Add support for new style castsChris Lattner2001-10-011-1/+1
| | | | llvm-svn: 694
* Add support for global constants, and for initializers for constantsChris Lattner2001-09-181-2/+14
| | | | llvm-svn: 598
* Implement global variable supportChris Lattner2001-09-101-1/+12
| | | | llvm-svn: 530
* * Emit bytecode using a deque instead of a vector to be fasterChris Lattner2001-09-071-46/+85
| | | | | | | | | * 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
* * The parent of a constant pool is a symtabvalue, not a value.Chris Lattner2001-07-141-1/+1
| | | | llvm-svn: 181
* Miscellaneous cleanups:Chris Lattner2001-06-271-12/+8
| | | | | | | | | | | * Convert post to pre-increment for for loops * Use generic programming more * Use new Value::cast* instructions * Use new Module, Method, & BasicBlock forwarding methods * Use new facilities in STLExtras.h * Use new Instruction::isPHINode() method llvm-svn: 96
* Initial revisionChris Lattner2001-06-061-0/+182
llvm-svn: 2
OpenPOWER on IntegriCloud