| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
parameters. Rename ValueRefList to ParamList
in AsmParser, since its only use is for parameters.
llvm-svn: 43734
|
|
|
|
| |
llvm-svn: 43732
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deserializer.
There were issues with Visual C++ barfing when instantiating
SerializeTrait<T> when "T" was an abstract class AND
SerializeTrait<T>::ReadVal was *never* called:
template <typename T>
struct SerializeTrait {
<SNIP>
static inline T ReadVal(Deserializer& D) { T::ReadVal(D); }
<SNIP>
};
Visual C++ would complain about "T" being an abstract class, even
though ReadVal was never instantiated (although one of the other
member functions were).
Removing this from the trait is not a big deal. It was used hardly
ever, and users who want "read-by-value" deserialization can simply
call the appropriate methods directly instead of relying on
trait-based-dispatch. The trait dispatch for
serialization/deserialization is simply sugar in many cases (like this
one).
llvm-svn: 43624
|
|
|
|
|
|
|
|
|
|
|
| |
flag in the **key** of the backpatch map, as opposed to the mapped
value which contains either the final pointer, or a pointer to a chain
of pointers that need to be backpatched. The bit flag was moved to
the key because we were erroneously assuming that the backpatched
pointers would be at an alignment of >= 2 bytes, which obviously
doesn't work for character strings. Now we just steal the bit from the key.
llvm-svn: 43595
|
|
|
|
| |
llvm-svn: 43583
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
just like pointers, except that they cannot be backpatched. This
means that references are essentially non-owning pointers where the
referred object must be deserialized prior to the reference being
deserialized. Because of the nature of references, this ordering of
objects is always possible.
Fixed a bug in backpatching code (returning the backpatched pointer
would accidentally include a bit flag).
llvm-svn: 43570
|
|
|
|
|
|
| |
constant to an unsigned int. We now just directly assign the literal 0.
llvm-svn: 43459
|
|
|
|
|
|
| |
pointers that were not backpatched (previously checked the wrong invariant).
llvm-svn: 43425
|
|
|
|
|
|
|
|
| |
eager backpatching instead of waithing until all objects have been
deserialized. This allows us to reduce the memory footprint needed
for backpatching.
llvm-svn: 43422
|
|
|
|
| |
llvm-svn: 43405
|
|
|
|
|
|
| |
pointers that employ unused bits in a pointer to store extra data.
llvm-svn: 43373
|
|
|
|
|
|
| |
rules.
llvm-svn: 43369
|
|
|
|
| |
llvm-svn: 43357
|
|
|
|
|
|
|
|
| |
for backpatching.
Added Deserialize::ReadVal.
llvm-svn: 43319
|
|
|
|
|
|
|
| |
Deserialize.h Serialization.h now includes trait speciailizations for
unsigned long, etc.
llvm-svn: 43307
|
|
|
|
| |
llvm-svn: 43261
|
|
|
|
|
|
|
|
|
| |
No compile-time support for constant operations yet,
just format transformations. Make readers and
writers work. Split constants into 2 doubles in
Legalize.
llvm-svn: 42865
|
|
|
|
|
|
|
| |
Next round of x87 long double stuff.
Getting close now, basically works.
llvm-svn: 41875
|
|
|
|
|
|
|
|
|
| |
access to bits). Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling
(untested, probably does not work).
llvm-svn: 41858
|
|
|
|
| |
llvm-svn: 41769
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use APFloat in UpgradeParser and AsmParser.
Change all references to ConstantFP to use the
APFloat interface rather than double. Remove
the ConstantFP double interfaces.
Use APFloat functions for constant folding arithmetic
and comparisons.
(There are still way too many places APFloat is
just a wrapper around host float/double, but we're
getting there.)
llvm-svn: 41747
|
|
|
|
|
|
| |
GLIBCXX_DEBUG issues.
llvm-svn: 41697
|
|
|
|
| |
llvm-svn: 41506
|
|
|
|
|
|
|
|
|
|
|
|
| |
to handle values bigger than double. If we assume host==target and host
long double works correctly, this is not too bad, but we don't want to
have that limitation longterm. I could implement accepting double
constants as long double or something like that, which would lead to
incorrect codegen with no errors; the more I think about that the worse
it seems. Rather than do such a hack that would be backed out later,
I'm settling for giving reasonable error messages, for now.
llvm-svn: 40974
|
|
|
|
|
|
|
|
| |
LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
llvm-svn: 40807
|
|
|
|
| |
llvm-svn: 40774
|
|
|
|
|
|
|
|
| |
indexing an empty std::vector.
Updates to all clients.
llvm-svn: 40660
|
|
|
|
|
|
| |
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
|
|
|
|
| |
llvm-svn: 37204
|
|
|
|
| |
llvm-svn: 37080
|
|
|
|
|
|
|
| |
pr1146 in llvm 2.1 without ugly code to emulate old behavior. This should
be merged into the 2.0 release branch.
llvm-svn: 36928
|
|
|
|
| |
llvm-svn: 36880
|
|
|
|
| |
llvm-svn: 36862
|
|
|
|
| |
llvm-svn: 36859
|
|
|
|
| |
llvm-svn: 36832
|
|
|
|
| |
llvm-svn: 36827
|
|
|
|
|
|
| |
well. This shrinks kc++ from 2724088 to 2717360 bytes.
llvm-svn: 36821
|
|
|
|
|
|
| |
2878544 to 2815788
llvm-svn: 36818
|
|
|
|
|
|
| |
shrinks function bodies in kc++ from 891913B to 884073B
llvm-svn: 36817
|
|
|
|
|
|
| |
This shrinks the function block of kc++ from 1055K to 906K
llvm-svn: 36816
|
|
|
|
|
|
| |
issues reid noticed last night.
llvm-svn: 36785
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
relieves us from having to emit the abbrevs into each instance of the block.
This shrinks kc.bit from 3368K to 3333K, but will be a more significant win
once instructions are abbreviated.
The VST went from:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.29508e+07b/1.61885e+06B/404713W
Average Size: 5522.73b/690.342B/172.585W
% of file: 48.0645
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 7035/3
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
to:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.26713e+07b/1.58391e+06B/395978W
Average Size: 5403.53b/675.442B/168.86W
% of file: 47.5198
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
because we didn't emit the same 3 abbrevs 2345 times :)
llvm-svn: 36767
|
|
|
|
|
|
| |
total length
llvm-svn: 36752
|
|
|
|
| |
llvm-svn: 36738
|
|
|
|
| |
llvm-svn: 36736
|
|
|
|
|
|
| |
Olden/voronoi loslessly
llvm-svn: 36735
|
|
|
|
| |
llvm-svn: 36731
|
|
|
|
| |
llvm-svn: 36728
|
|
|
|
| |
llvm-svn: 36723
|
|
|
|
|
|
| |
completely
llvm-svn: 36707
|