| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
files. It was reading non-initialized global vars when the flag said it was
initialized and vice versa. Causes mis-alignment since initialized and
non-initialized constants have different bytecode lengths.
llvm-svn: 14057
|
|
|
|
| |
llvm-svn: 14055
|
|
|
|
|
|
|
|
| |
must always coexist. Cleaned up the documentation on these interfaces
significantly. This is in preparation for moving Parser.h to the include
directories to make it a public interface.
llvm-svn: 14054
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
will (eventually) provide statistical analysis of bytecode files as well
as the ability to dump them in a low level format (slot numbers not
resolved). The purpose of this is to aid in the Type!=Value change of
bug 122. With this initial release, llvm-abcd merely dumps out the
bytecode. However, the infrastructure for separating bytecode parsing from
handling the parsing events is in place. The style chosen is similar to
SAX XML parsing where a handler object is called to handlign the parsing
events. This probably isn't useful to anyone but me right now as there is
no analysis yet, and the dumper doesn't work on every bytecode file. It
will probably be useful by the end of this week. Note that there is some
duplication of code from the bytecode reader. This was done to eliminate
errors from being introduced in the reader and to minimize the impact to
other LLVM developers. At some point, the Analyzer and the Reader will be
integrated to use the same infrastructure. Also, sorry for the minor change
to Instruction.h but I just couldn't bring myself to write code that
depends on Instruction internals.
llvm-svn: 14048
|
|
|
|
|
|
| |
space
llvm-svn: 13864
|
|
|
|
| |
llvm-svn: 13228
|
|
|
|
| |
llvm-svn: 13190
|
|
|
|
|
|
|
| |
to index into structure types and allows arbitrary 32- and 64-bit integer
types to index into sequential types.
llvm-svn: 12651
|
|
|
|
|
|
|
| |
prerelease format for LLVM bytecode files. Now we only are compatible with
LLVM 1.0+.
llvm-svn: 12643
|
|
|
|
|
|
|
| |
In ReadArchiveBuffer, make sure that MemberName is set in the case where
getObjectType would want to return SVR4LongFilename.
llvm-svn: 12567
|
|
|
|
| |
llvm-svn: 12563
|
|
|
|
|
|
| |
Contributed by Reid Spencer
llvm-svn: 12523
|
|
|
|
| |
llvm-svn: 12314
|
|
|
|
| |
llvm-svn: 11233
|
|
|
|
|
|
| |
getElementTypes() is gone.
llvm-svn: 11228
|
|
|
|
| |
llvm-svn: 11224
|
|
|
|
|
|
| |
that are still left in the lazy reader map.
llvm-svn: 10944
|
|
|
|
|
|
| |
Fix testcase test/Regression/Assembler/2004-01-20-MaxLongLong.llx
llvm-svn: 10928
|
|
|
|
| |
llvm-svn: 10924
|
|
|
|
| |
llvm-svn: 10920
|
|
|
|
|
|
| |
intelligently.
llvm-svn: 10918
|
|
|
|
|
|
|
|
| |
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: 10914
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
of forcing them to go through ConstantPointerRef's. This allows bytecode
files to mirror .ll files, allows more efficient encoding, and makes it easier
to eventually eliminate CPR's.
llvm-svn: 10883
|
|
|
|
| |
llvm-svn: 10882
|
|
|
|
| |
llvm-svn: 10875
|
|
|
|
| |
llvm-svn: 10874
|
|
|
|
|
|
|
|
|
|
| |
returning error codes. Because they don't return an error code, they can
return the value read, which simplifies the code and makes the reader more
efficient (yaay!).
Also eliminate the special case code for little endian machines.
llvm-svn: 10871
|
|
|
|
|
|
| |
to emit all of those sbyte constants.
llvm-svn: 10863
|
|
|
|
|
|
| |
data.
llvm-svn: 10861
|
|
|
|
|
|
| |
the bytecode revision generated by LLVM 1.2.
llvm-svn: 10848
|
|
|
|
| |
llvm-svn: 10791
|
|
|
|
|
|
|
| |
* Refactor reader stuff out of include/llvm/Bytecode/Primitives.h. This is
internal implementation details for the reader, not public interfaces!
llvm-svn: 10739
|
|
|
|
| |
llvm-svn: 10721
|
|
|
|
| |
llvm-svn: 10654
|
|
|
|
| |
llvm-svn: 10650
|
|
|
|
|
|
| |
routines.
llvm-svn: 10642
|
|
|
|
| |
llvm-svn: 10612
|
|
|
|
|
|
| |
anything; it just causes the bug to go dormant.
llvm-svn: 10585
|
|
|
|
|
|
|
|
|
|
| |
Modified ReadArchiveBuffer() so that it dynamically allocates the
std::string object used to hold the bytecode object file's name. This is
necessary because it is passed by reference to the new Module that is
allocated to represent the bytecode object, and previously we were
using a std::string that disappeared on function exit.
llvm-svn: 10565
|
|
|
|
| |
llvm-svn: 10493
|
|
|
|
|
|
| |
get an error inside the bytecode reader.
llvm-svn: 10415
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
beginning of the archive member data as an argument.
Get rid of ParseLongFilenameSection(), which is dead.
In ReadArchiveBuffer(), implement support for 4.4BSD/MacOSX long filenames.
This is kind of invasive, because they prepend the long filename to the archive
member data, and then lie about the size. So we have to keep track of the real
size.
llvm-svn: 10392
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Strength reduce several data structures which were left over from the
"bad old days"
* Minor efficiency improvements
* Major efficiency improvement: In BytecodeParser::insertValue, do not allocate
a new ValueTab entry just because some value exists with a large type. This
dramatically reduces the number of allocations/deallocations performed by the
bytecode reader, and speeds up parsing of Kimwitu++ from 34s to 17s. This is
to help address PR127
llvm-svn: 10085
|
|
|
|
| |
llvm-svn: 10084
|
|
|
|
| |
llvm-svn: 10083
|
|
|
|
| |
llvm-svn: 10082
|
|
|
|
| |
llvm-svn: 10081
|
|
|
|
|
|
| |
speeds up disassembly of kc++ by .6s
llvm-svn: 10079
|