| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both. The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
llvm-svn: 51118
|
|
|
|
|
|
|
| |
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
|
|
|
|
|
|
| |
for details. CodeGen support coming in a follow up patch
llvm-svn: 50985
|
|
|
|
|
|
| |
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
llvm-svn: 50265
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. There is now a "PAListPtr" class, which is a smart pointer around
the underlying uniqued parameter attribute list object, and manages
its refcount. It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
ParamAttrsWithIndex's, no need to make a SmallVector of a specific
size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
dereferencing the pointer is simplified to just access the
PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
bit simpler.
Phase #2 will rename some stuff (e.g. PAListPtr) and do other less
invasive changes.
llvm-svn: 48289
|
|
|
|
| |
llvm-svn: 48248
|
|
|
|
|
|
| |
This is the first checkin for PR1269, the new EH infrastructure.
llvm-svn: 47802
|
|
|
|
| |
llvm-svn: 47585
|
|
|
|
|
|
| |
Take 2.
llvm-svn: 47583
|
|
|
|
| |
llvm-svn: 47533
|
|
|
|
| |
llvm-svn: 47521
|
|
|
|
|
|
|
| |
stuff into ParamAttrsList.h. Per feedback from
ParamAttrs changes.
llvm-svn: 47504
|
|
|
|
| |
llvm-svn: 47471
|
|
|
|
| |
llvm-svn: 47401
|
|
|
|
|
|
|
| |
for adding alignment info, not there yet). Clean up
interfaces to reference ParameterAttributes consistently.
llvm-svn: 47342
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 45415
|
|
|
|
| |
llvm-svn: 44933
|
|
|
|
| |
llvm-svn: 44864
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 44535
|
|
|
|
| |
llvm-svn: 44534
|
|
|
|
|
|
| |
windows-based hosts, where files are opened in text mode by default.
llvm-svn: 44533
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 44234
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 43784
|
|
|
|
| |
llvm-svn: 43772
|
|
|
|
|
|
| |
Added detection of end-of-stream in deserializer.
llvm-svn: 43736
|
|
|
|
| |
llvm-svn: 43683
|
|
|
|
|
|
| |
Modified Serializer::EmitPtr to handle const pointers.
llvm-svn: 43565
|
|
|
|
| |
llvm-svn: 43405
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 42707
|
|
|
|
|
|
| |
bindings headers themselves, hidden behind #ifdef __cplusplus.
llvm-svn: 42666
|
|
|
|
| |
llvm-svn: 42465
|
|
|
|
|
|
| |
destruction of compiler-created ones.
llvm-svn: 42383
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The naming prefix is LLVM.
- All types are represented using opaque references.
- Functions are not named LLVM{Type}{Method}; the names became
unreadable goop. Instead, they are named LLVM{ImperativeSentence}.
- Where an attribute only appears once in the class hierarchy (e.g.,
linkage only applies to values; parameter types only apply to
function types), the class is omitted from identifiers for
brevity. Tastes like methods.
- Strings are C strings or string/length tuples on a case-by-case
basis.
- APIs which give the caller ownership of an object are not mapped
(removeFromParent, certain constructor overloads). This keeps
keep memory management as simple as possible.
For each library with bindings:
llvm-c/<LIB>.h - Declares the bindings.
lib/<LIB>/<LIB>.cpp - Implements the bindings.
So just link with the library of your choice and use the C header
instead of the C++ one.
llvm-svn: 42077
|
|
|
|
|
|
|
| |
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
|