| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 14611
|
|
|
|
|
|
|
| |
remove use of Type::TypeTyID and Type::TypeTy since Type no longer inherits
Value.
llvm-svn: 14610
|
|
|
|
|
|
|
| |
* Some warning fixes for MSVC
* Minor simplification to the deque scanning code
llvm-svn: 14417
|
|
|
|
| |
llvm-svn: 14391
|
|
|
|
|
|
|
|
|
| |
planes. A SymbolTable could still have types in it! This fixes problems
with two regression tests that failed because a symbol table that only
contained types was being omitted from bytecode files. Thanks to Chris
for the reduced test case that helped find this immediately.
llvm-svn: 13842
|
|
|
|
|
|
|
|
|
|
| |
This change removes the BuildBytecodeInfo flag from the SlotCalculator
class. This flag was needed to distinguish between the Bytecode/Writer
and the AsmWriter. Now that AsmWriter doesn't use SlotCalculator, we can
remove this flag and simplify some code. Also, some minor name changes
to CachedWriter.h needed to be committed (missed in previous commit).
llvm-svn: 13785
|
|
|
|
| |
llvm-svn: 13759
|
|
|
|
|
|
|
| |
to index into structure types and allows arbitrary 32- and 64-bit integer
types to index into sequential types.
llvm-svn: 12651
|
|
|
|
|
|
| |
term) working on bytecode size stuff.
llvm-svn: 11046
|
|
|
|
| |
llvm-svn: 10920
|
|
|
|
|
|
| |
intelligently.
llvm-svn: 10918
|
|
|
|
| |
llvm-svn: 10917
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
type planes. This saves about 5k on 176.gcc, and is needed for a subsequent
patch of mine I'm working on.
llvm-svn: 10908
|
|
|
|
|
|
| |
This saves about 15K in 176.gcc, coupled with another patch that I'm working on.
llvm-svn: 10889
|
|
|
|
| |
llvm-svn: 10876
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 10838
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
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: 9903
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
some space for extra flags, so we don't need to bump the revision number.
llvm-svn: 8118
|
|
|
|
|
|
| |
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: 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
|
|
|
|
|
|
| |
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: 3105
|
|
|
|
| |
llvm-svn: 3033
|
|
|
|
|
|
|
|
|
| |
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: 2790
|
|
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778
|
|
|
|
| |
llvm-svn: 2378
|
|
|
|
| |
llvm-svn: 2295
|
|
|
|
|
|
| |
be 'Argument' instead of FunctionArgument.
llvm-svn: 2216
|