| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 10742
|
|
|
|
| |
llvm-svn: 10741
|
|
|
|
|
|
| |
internal implementation details for the writer, not public interfaces!
llvm-svn: 10738
|
|
|
|
| |
llvm-svn: 10737
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 10051
|
|
|
|
| |
llvm-svn: 9903
|
|
|
|
| |
llvm-svn: 9590
|
|
|
|
| |
llvm-svn: 9321
|
|
|
|
| |
llvm-svn: 9312
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
| |
llvm-svn: 9228
|
|
|
|
|
|
| |
more efficient encoding of varargs calls, and the new varargs intrinsics.
llvm-svn: 9221
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 9071
|
|
|
|
| |
llvm-svn: 8510
|
|
|
|
| |
llvm-svn: 8489
|
|
|
|
| |
llvm-svn: 8394
|
|
|
|
|
|
| |
some space for extra flags, so we don't need to bump the revision number.
llvm-svn: 8118
|
|
|
|
| |
llvm-svn: 7245
|
|
|
|
|
|
| |
system.
llvm-svn: 7014
|
|
|
|
|
|
|
| |
by emitting the type planes before any constants (which could be constant
expressions involving undefined types!)
llvm-svn: 6285
|
|
|
|
| |
llvm-svn: 6029
|
|
|
|
| |
llvm-svn: 5839
|
|
|
|
| |
llvm-svn: 5790
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 5385
|
|
|
|
|
|
| |
wasn't an optimization and it was causing lots of bugs.
llvm-svn: 4779
|
|
|
|
| |
llvm-svn: 4162
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
llvm-svn: 3715
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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: 3105
|
|
|
|
| |
llvm-svn: 3033
|
|
|
|
| |
llvm-svn: 3002
|
|
|
|
| |
llvm-svn: 2899
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 2897
|
|
|
|
| |
llvm-svn: 2790
|
|
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778
|
|
|
|
| |
llvm-svn: 2759
|
|
|
|
| |
llvm-svn: 2486
|
|
|
|
| |
llvm-svn: 2397
|
|
|
|
| |
llvm-svn: 2378
|
|
|
|
| |
llvm-svn: 2295
|
|
|
|
|
|
| |
be 'Argument' instead of FunctionArgument.
llvm-svn: 2216
|
|
|
|
| |
llvm-svn: 2177
|
|
|
|
|
|
|
| |
because the slot calculator is already part of the VMCore library.
* Rename incorporateMethod and purgeMethod to *Function
llvm-svn: 2154
|