| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 48268
|
|
|
|
| |
llvm-svn: 48248
|
|
|
|
|
|
| |
This is the first checkin for PR1269, the new EH infrastructure.
llvm-svn: 47802
|
|
|
|
| |
llvm-svn: 47619
|
|
|
|
|
|
| |
Take 2.
llvm-svn: 47583
|
|
|
|
| |
llvm-svn: 47533
|
|
|
|
| |
llvm-svn: 47521
|
|
|
|
| |
llvm-svn: 47517
|
|
|
|
|
|
|
| |
stuff into ParamAttrsList.h. Per feedback from
ParamAttrs changes.
llvm-svn: 47504
|
|
|
|
| |
llvm-svn: 47471
|
|
|
|
|
|
| |
annoying warnings.
llvm-svn: 47367
|
|
|
|
| |
llvm-svn: 46514
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 45415
|
|
|
|
|
|
| |
to exceptions rather than variants for error handling in Ocaml.
llvm-svn: 45226
|
|
|
|
|
|
| |
it's auto-upgraded to a shufflevector instruction.
llvm-svn: 45131
|
|
|
|
|
|
| |
std::vector<char> starting from any index in the vector.
llvm-svn: 45129
|
|
|
|
|
|
| |
of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.
llvm-svn: 45082
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
regions of memory that have a target specific relationship, as described in the
Embedded C Technical Report.
This also implements the 2007-12-11-AddressSpaces test,
which demonstrates how address space attributes can be used in LLVM IR.
In addition, this patch changes the bitcode signature for stores (in a backwards
compatible manner), such that the pointer type, rather than the pointee type, is
encoded. This permits type information in the pointer (e.g. address space) to be
preserved for stores.
LangRef updates are forthcoming.
llvm-svn: 44858
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thompson. Usage should be something like this:
open Llvm
open Llvm_bitreader
match read_bitcode_file fn with
| Bitreader_failure msg ->
prerr_endline msg
| Bitreader_success m ->
...;
dispose_module m
Compile with: ocamlc llvm.cma llvm_bitreader.cma
ocamlopt llvm.cmxa llvm_bitreader.cmxa
llvm-svn: 44824
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
methods are new to Function:
bool hasCollector() const;
const std::string &getCollector() const;
void setCollector(const std::string &);
void clearCollector();
The assembly representation is as such:
define void @f() gc "shadow-stack" { ...
The implementation uses an on-the-side table to map Functions to
collector names, such that there is no overhead. A StringPool is
further used to unique collector names, which are extremely
likely to be unique per process.
llvm-svn: 44769
|
|
|
|
|
|
|
| |
information matching did not exactly match the underlying stream's scoping
information.
llvm-svn: 44470
|
|
|
|
|
|
|
| |
introduced by this patch:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071126/055824.html
llvm-svn: 44364
|
|
|
|
|
|
|
|
|
|
|
|
| |
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359
|
|
|
|
|
|
|
|
|
|
|
|
| |
any sense it is important that ParamAttr::None gets
treated the same as not supplying an attribute at
all. Rather than stripping ParamAttr::None out of
the list of attributes, assert if ParamAttr::None
is seen. Fix up the bitcode reader which liked to
insert ParamAttr::None all over the place. Patch
based on one by Török Edwin.
llvm-svn: 44250
|
|
|
|
| |
llvm-svn: 44234
|
|
|
|
|
|
|
|
|
| |
the deserializer.
Fixed assertion when "stream jumping" in the deserializer to properly function
when we have reached the end of the stream.
llvm-svn: 44124
|
|
|
|
|
|
| |
BatchReadOwnedPtrs.
llvm-svn: 44105
|
|
|
|
|
|
|
|
|
|
|
|
| |
clients of the Deserializer to read the pointer ID before they are ready
to deserialize the object (which can mean registering a pointer reference
with the backpatcher).
Changed some methods that took an argument "SerializedPtrID" to "const SerializedPtrID&" (pass-by-reference). This is to accommodate a future
revision of SerializedPtrID where it may be much fatter than an unsigned
integer.
llvm-svn: 44021
|
|
|
|
| |
llvm-svn: 43982
|
|
|
|
|
|
|
|
| |
serialized block in the bitstream, including a block in an entirely different
nesting than the current block. This is useful for deserializing objects from
a bitstream in an order different from the order that they were serialized.
llvm-svn: 43973
|
|
|
|
|
|
|
|
|
| |
block that is being visited in the bitstream. The client can also now
skip blocks before reading them, and query the current abbreviation number
as seen from the perspective of the Deserializer. This allows the client
to be more interactive in the deserialization process (if they so choose).
llvm-svn: 43916
|
|
|
|
|
|
|
|
|
|
|
| |
instead of just using "unsigned". This gives us more flexibility in changing
the definition of the handle later, and is more self-documenting.
Added tracking of block stack in the Deserializer. Now clients can query
if they are still within a block using the methods GetCurrentBlockLocation()
and FinishedBlock().
llvm-svn: 43903
|
|
|
|
| |
llvm-svn: 43829
|
|
|
|
| |
llvm-svn: 43828
|
|
|
|
|
|
|
|
| |
allowed to be backpatched
or can be registered with the deserializer to backpatch other pointers.
llvm-svn: 43783
|
|
|
|
|
|
| |
Added some #ifdef-controlled messages for debugging backpatching.
llvm-svn: 43771
|
|
|
|
|
|
| |
Added detection of end-of-stream in deserializer.
llvm-svn: 43736
|
|
|
|
|
|
|
| |
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
|