summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Writer/ConstantWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Changes to the V2 bytecode format:Chris Lattner2003-03-191-20/+14
| | | | | | | | | | | | | | | | | | | | - 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
* 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
* Add support for writing ConstantExpr nodes.Vikram S. Adve2002-07-141-1/+23
| | | | llvm-svn: 2899
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-1/+1
| | | | llvm-svn: 2378
* s/Method/FunctionChris Lattner2002-03-291-3/+3
| | | | llvm-svn: 2035
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-1/+3
| | | | llvm-svn: 1503
* Remove unsized array supportChris Lattner2001-12-141-3/+1
| | | | llvm-svn: 1461
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-1/+1
| | | | | | | Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() llvm-svn: 1408
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-15/+15
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* Allow unresolved/opaque types to be read and written to bytecode filesChris Lattner2001-10-231-0/+5
| | | | llvm-svn: 959
* Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get ↵Chris Lattner2001-10-151-2/+2
| | | | | | tired typing that much llvm-svn: 822
* * Use new style casts moreChris Lattner2001-10-131-7/+18
| | | | | | | | * Add real support for global variable addresses initializing constants * Fix encoding/decoding of VarArgs calls * Support the Invoke instruction llvm-svn: 761
* Commit more code over to new cast styleChris Lattner2001-10-021-5/+5
| | | | llvm-svn: 697
* Implement constant pointers, and null specifically in the parser, bytecode ↵Chris Lattner2001-09-301-0/+5
| | | | | | | | writer, and bytecode reader. llvm-svn: 668
* ModuleTyID doesn't exist anyymoreChris Lattner2001-09-101-1/+0
| | | | | | Use correct cast llvm-svn: 539
* * Emit bytecode using a deque instead of a vector to be fasterChris Lattner2001-09-071-4/+4
| | | | | | | | | * 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
* Add support for extern varargs methods & varargs method callsChris Lattner2001-07-251-2/+6
| | | | llvm-svn: 297
* Add support to the bytecode writer to recognize floating point constantsChris Lattner2001-07-151-4/+10
| | | | llvm-svn: 190
* Changed the fundemental architecture of Operands for Instructions. NowChris Lattner2001-07-071-1/+1
| | | | | | | | | | | Operands are maintained as a vector<Use> in the User class, and operator iterators are provided as before. Getting an operand no longer requires a virtual function call. WARNING: getOperand(x) where x >= getNumOperands() will now assert instead of returning null! llvm-svn: 149
* Convert ugly postincrement to efficient preincrementChris Lattner2001-06-271-2/+2
| | | | llvm-svn: 89
* Initial revisionChris Lattner2001-06-061-0/+154
llvm-svn: 2
OpenPOWER on IntegriCloud