| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 14845
|
|
|
|
|
|
|
| |
point values. This will be fixed when I figure out how to do it correctly
without depending on knowing the endianess of a platform.
llvm-svn: 14762
|
|
|
|
|
|
| |
- Types don't have names any more, just write them on ostream directly
llvm-svn: 14606
|
|
|
|
| |
llvm-svn: 14201
|
|
|
|
|
|
| |
getElementTypes() is gone.
llvm-svn: 11228
|
|
|
|
| |
llvm-svn: 11224
|
|
|
|
|
|
| |
term) working on bytecode size stuff.
llvm-svn: 11046
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
i'm using in my work to reduce the bytecode file sizes. These will eventually
be removed.
llvm-svn: 10849
|
|
|
|
| |
llvm-svn: 10737
|
|
|
|
| |
llvm-svn: 10051
|
|
|
|
| |
llvm-svn: 9903
|
|
|
|
| |
llvm-svn: 9590
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 9071
|
|
|
|
| |
llvm-svn: 7245
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
llvm-svn: 2899
|
|
|
|
| |
llvm-svn: 2378
|
|
|
|
| |
llvm-svn: 2035
|
|
|
|
| |
llvm-svn: 1503
|
|
|
|
| |
llvm-svn: 1461
|
|
|
|
|
|
|
| |
Renamed op_const_iterator -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
llvm-svn: 1408
|
|
|
|
|
|
|
| |
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407
|
|
|
|
| |
llvm-svn: 959
|
|
|
|
|
|
| |
tired typing that much
llvm-svn: 822
|
|
|
|
|
|
|
|
| |
* Add real support for global variable addresses initializing constants
* Fix encoding/decoding of VarArgs calls
* Support the Invoke instruction
llvm-svn: 761
|
|
|
|
| |
llvm-svn: 697
|
|
|
|
|
|
|
|
| |
writer, and
bytecode reader.
llvm-svn: 668
|
|
|
|
|
|
| |
Use correct cast
llvm-svn: 539
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
llvm-svn: 297
|
|
|
|
| |
llvm-svn: 190
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 89
|
|
llvm-svn: 2
|