summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Writer
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* 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
* Emit & read more compressed bytecode by not emitting a bytecodeblock forChris Lattner2003-12-012-12/+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
* Remove usage of ConstantPointerChris Lattner2003-11-171-3/+1
| | | | llvm-svn: 10051
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-114-0/+15
| | | | llvm-svn: 9903
* Explicitly cast type, so we aren't passing output_vbr a size_t.Brian Gaeke2003-10-291-1/+1
| | | | llvm-svn: 9590
* Added LLVM copyright header.John Criswell2003-10-211-0/+7
| | | | llvm-svn: 9321
* Added LLVM copyright notice to Makefiles.John Criswell2003-10-201-0/+8
| | | | llvm-svn: 9312
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-203-0/+21
| | | | | | 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-182-22/+40
| | | | | | more efficient encoding of varargs calls, and the new varargs intrinsics. llvm-svn: 9221
* Eliminate some extraneous code in SlotCalculator::insertVal().Alkis Evlogimenos2003-10-173-26/+26
| | | | | | | | | 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-134-12/+4
| | | | 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-112-4/+4
| | | | llvm-svn: 8489
* Add support for writing volatile load/storesChris Lattner2003-09-081-22/+22
| | | | llvm-svn: 8394
* 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
* Remove explicit const qualifiersChris Lattner2003-07-231-10/+10
| | | | llvm-svn: 7245
* 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 the new va_arg instructionChris Lattner2003-05-081-4/+4
| | | | llvm-svn: 6029
* 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-193-48/+54
| | | | | | | | | | | | | | | | | | | | - 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
* Don't keep track of # big vs #small instructions seperatelyChris Lattner2003-01-211-8/+3
| | | | llvm-svn: 5385
* - 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-012-5/+5
| | | | | | | | | | | | * 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
* On the quest of eliminating unnecessary includes.Misha Brukman2002-09-141-2/+0
| | | | llvm-svn: 3715
* Cleanup ConstantExpr handling:Chris Lattner2002-07-301-3/+4
| | | | | | | | | | | | | | * Correctly delete TypeHandles in AsmParser. In addition to not leaking memory, this prevents a bug that could have occurred when a type got resolved that the constexpr was using * Check for errors in the AsmParser instead of hitting assertion failures deep in the code * Simplify the interface to the ConstantExpr class, removing unneccesary parameters to the ::get* methods. * Rename the 'getelementptr' version of ConstantExpr::get to ConstantExpr::getGetElementPtr llvm-svn: 3161
* *** empty log message ***Chris Lattner2002-07-262-0/+17
| | | | llvm-svn: 3105
* Register the WriteBytecodePassChris Lattner2002-07-231-0/+5
| | | | llvm-svn: 3033
* *** empty log message ***Chris Lattner2002-07-231-3/+0
| | | | llvm-svn: 3002
* Add support for writing ConstantExpr nodes.Vikram S. Adve2002-07-141-1/+23
| | | | llvm-svn: 2899
* 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
* Use a helper function outputConstantsInPlane in outputConstants.Vikram S. Adve2002-07-141-0/+2
| | | | llvm-svn: 2897
* changes to make it compatible with 64bit gccAnand Shukla2002-06-251-1/+1
| | | | llvm-svn: 2790
* MEGAPATCH checkin.Chris Lattner2002-06-253-42/+38
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2778
* Fix constness problemChris Lattner2002-06-051-2/+2
| | | | llvm-svn: 2759
* Replace all usages of Type::isPointerType with isa<PointerType>Chris Lattner2002-05-061-1/+1
| | | | llvm-svn: 2486
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-292-2/+0
| | | | llvm-svn: 2397
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-282-5/+4
| | | | 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
* s/method/functionChris Lattner2002-04-081-1/+1
| | | | llvm-svn: 2177
* * Move include/llvm/Analysis/SlotCalculator.h to include/llvm/SlotCalculator.hChris Lattner2002-04-072-14/+11
| | | | | | | because the slot calculator is already part of the VMCore library. * Rename incorporateMethod and purgeMethod to *Function llvm-svn: 2154
OpenPOWER on IntegriCloud