| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 14763
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
is currently not being used but is retained because it will be the basis
for a clean up of the SlotCalculator class.
llvm-svn: 14612
|
|
|
|
| |
llvm-svn: 14611
|
|
|
|
|
|
|
| |
remove use of Type::TypeTyID and Type::TypeTy since Type no longer inherits
Value.
llvm-svn: 14610
|
|
|
|
|
|
| |
separately from Values. This needed for bug 122.
llvm-svn: 14609
|
|
|
|
|
|
|
|
|
|
|
| |
Separate Types from Values because Type no longer inherits from Value. The
changes for this are too numerous to list. In essence, any data structure
that contained a Value was doubled so that Types could be contained
similarly. New members include Types, TypeMap, CompactionTypes, and
CompactionTypeMap. Functions taking a Value* were overloaded with a variant
that takes a Type* that acts on the new data structures.
llvm-svn: 14608
|
|
|
|
|
|
| |
- Types don't have names any more, just write them on ostream directly
llvm-svn: 14606
|
|
|
|
|
|
| |
that needs it after the Type != Value changes (bug 122).
llvm-svn: 14605
|
|
|
|
|
|
|
| |
* Some warning fixes for MSVC
* Minor simplification to the deque scanning code
llvm-svn: 14417
|
|
|
|
| |
llvm-svn: 14391
|
|
|
|
| |
llvm-svn: 14388
|
|
|
|
| |
llvm-svn: 14201
|
|
|
|
|
|
| |
in doxygen.
llvm-svn: 14084
|
|
|
|
| |
llvm-svn: 13900
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
compliant. Thanks, Chris.
llvm-svn: 13771
|
|
|
|
|
|
| |
SlotTable.
llvm-svn: 13766
|
|
|
|
| |
llvm-svn: 13765
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the Abstract Data Type that holds slot number values and associates them
with Type* and Value*. The SlotTable is simply the holder of the slot
numbers and provides a controlled interface for building the table. It does
not enforce any particular idiom or functionality for manipulating the slot
numbers.
This is part of bug_122. The SlotCalculator and SlotMachine classes will
follow.
llvm-svn: 13764
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 12315
|
|
|
|
|
|
| |
getElementTypes() is gone.
llvm-svn: 11228
|
|
|
|
| |
llvm-svn: 11224
|
|
|
|
|
|
| |
term) working on bytecode size stuff.
llvm-svn: 11046
|
|
|
|
| |
llvm-svn: 10931
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 10876
|
|
|
|
| |
llvm-svn: 10870
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
byte, it's totally endian incorrect!
llvm-svn: 10857
|
|
|
|
| |
llvm-svn: 10856
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|