| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
single attribute in the future.
llvm-svn: 170502
|
|
|
|
|
|
| |
some interfaces.
llvm-svn: 169712
|
|
|
|
|
|
| |
in the near future.
llvm-svn: 169651
|
|
|
|
|
|
|
| |
class of attributes. This makes it much easier to check for errors and to reuse
the code.
llvm-svn: 169336
|
|
|
|
|
|
|
|
|
|
| |
missed in the first pass because the script didn't yet handle include
guards.
Note that the script is now able to handle all of these headers without
manual edits. =]
llvm-svn: 169224
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131
|
|
|
|
|
|
|
| |
This is for backwards compatibility for pre-3.x bc files. The code reads the
code, but does nothing with it.
llvm-svn: 168779
|
|
|
|
|
|
| |
The dependent libraries feature was never used and has bit-rotted. Remove it.
llvm-svn: 168694
|
|
|
|
|
|
| |
Added in the ability to read LLVM IR text that contains fast-math flags as a sequence of capital letters separated by spaces in any order. Added in the printing of the fast-math flags in a canonical order, and don't print the other flags when 'fast' is specified, as 'fast' implies all the others.
llvm-svn: 168645
|
|
|
|
|
|
|
|
|
| |
When code deletes the context, the AttributeImpls that the AttrListPtr points to
are now invalid. Therefore, instead of keeping a separate managed static for the
AttrListPtrs that's reference counted, move it into the LLVMContext and delete
it when deleting the AttributeImpls.
llvm-svn: 168354
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, the parser would assert on the following code:
@a2 = global i8 addrspace(1)* @a
@a = addrspace(1) global i8 0
because the type of @a was "i8*" instead of "i8 addrspace(1)*" when parsing
the initializer for @a2.
llvm-svn: 168197
|
|
|
|
| |
llvm-svn: 168138
|
|
|
|
| |
llvm-svn: 168103
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously in a vector of pointers, the pointer couldn't be any pointer type,
it had to be a pointer to an integer or floating point type. This is a hassle
for dragonegg because the GCC vectorizer happily produces vectors of pointers
where the pointer is a pointer to a struct or whatever. Vector getelementptr
was restricted to just one index, but now that vectors of pointers can have
any pointer type it is more natural to allow arbitrary vector getelementptrs.
There is however the issue of struct GEPs, where if each lane chose different
struct fields then from that point on each lane will be working down into
unrelated types. This seems like too much pain for too little gain, so when
you have a vector struct index all the elements are required to be the same.
llvm-svn: 167828
|
|
|
|
| |
llvm-svn: 167020
|
|
|
|
| |
llvm-svn: 166566
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch by Quentin Colombet <qcolombet@apple.com>
Original description:
"""
The attached patch is the first step to have a better control on Oz related optimizations.
The Oz optimization level focuses on code size, thus I propose to add an attribute called ForceSizeOpt.
"""
llvm-svn: 166422
|
|
|
|
|
|
| |
own class named AttrBuilder. No functionality change.
llvm-svn: 165960
|
|
|
|
|
|
| |
This gets rid of some magic numbers.
llvm-svn: 165924
|
|
|
|
|
|
|
|
|
|
| |
Convert the internal representation of the Attributes class into a pointer to an
opaque object that's uniqued by and stored in the LLVMContext object. The
Attributes class then becomes a thin wrapper around this opaque
object. Eventually, the internal representation will be expanded to include
attributes that represent code generation options, etc.
llvm-svn: 165917
|
|
|
|
| |
llvm-svn: 165899
|
|
|
|
|
|
|
|
|
| |
value but later turns out to be a function.
Unfortunately, we can't fold tests into a single file because we only get one
error out of llvm-as.
llvm-svn: 165680
|
|
|
|
|
|
| |
builder.
llvm-svn: 165495
|
|
|
|
| |
llvm-svn: 165494
|
|
|
|
|
|
|
| |
We use the enums to query whether an Attributes object has that attribute. The
opaque layer is responsible for knowing where that specific attribute is stored.
llvm-svn: 165488
|
|
|
|
| |
llvm-svn: 165465
|
|
|
|
| |
llvm-svn: 165458
|
|
|
|
|
|
| |
attributes objects.
llvm-svn: 165436
|
|
|
|
|
|
| |
calling conventions.
llvm-svn: 164948
|
|
|
|
| |
llvm-svn: 164860
|
|
|
|
| |
llvm-svn: 164373
|
|
|
|
|
|
| |
Attributes class. Now with fix.
llvm-svn: 164370
|
|
|
|
| |
llvm-svn: 164309
|
|
|
|
|
|
| |
Attributes class.
llvm-svn: 164308
|
|
|
|
| |
llvm-svn: 164268
|
|
|
|
|
|
| |
inteldialect.
llvm-svn: 163231
|
|
|
|
| |
llvm-svn: 163184
|
|
|
|
| |
llvm-svn: 163181
|
|
|
|
|
|
|
| |
implementation does not co-exist well with how the sideeffect and alignstack
attributes are handled. The reverts r161641.
llvm-svn: 163174
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make it more consistent with its intended semantics.
The `linker_private_weak_def_auto' linkage type was meant to automatically hide
globals which never had their addresses taken. It has nothing to do with the
`linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix
among other things.
The intended semantic is more like the `linkonce_odr' linkage type.
Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore
changing the semantics so that it produces the correct output for the linker.
Note: The old linkage name `linker_private_weak_def_auto' will still parse but
is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0.
<rdar://problem/11754934>
llvm-svn: 162114
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new attribute is intended to be used by the backend to determine how
the inline asm string should be parsed/printed. This patch adds the
ia_nsdialect attribute and also adds a test case to ensure the IR is
correctly parsed, but there is no functional change at this time.
The standard dialect is assumed to be AT&T. Therefore, this attribute
should only be added to MS-style inline assembly statements, which use
the Intel dialect. If we ever support more dialects we'll need to
add additional state to the attribute.
llvm-svn: 161641
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the user/front-end to specify a model that is better
than what LLVM would choose by default. For example, a variable
might be declared as
@x = thread_local(initialexec) global i32 42
if it will not be used in a shared library that is dlopen'ed.
If the specified model isn't supported by the target, or if LLVM can
make a better choice, a different model may be used.
llvm-svn: 159077
|
|
|
|
| |
llvm-svn: 157556
|
|
|
|
|
|
| |
I'm not sure it's really worth expressing this as a range rather than 3 specific equalities, but it doesn't seem fundamentally wrong either.
llvm-svn: 157398
|
|
|
|
|
|
|
|
|
|
| |
Submitted by: Anton Lokhmotov <Anton.Lokhmotov@arm.com>
Approved by: o Anton Korobeynikov
o Micah Villmow
o David Neto
llvm-svn: 157393
|
|
|
|
| |
llvm-svn: 149967
|
|
|
|
| |
llvm-svn: 149898
|
|
|
|
| |
llvm-svn: 149897
|
|
|
|
|
|
|
|
|
| |
but with a critical fix to the SelectionDAG code that optimizes copies
from strings into immediate stores: the previous code was stopping reading
string data at the first nul. Address this by adding a new argument to
llvm::getConstantStringInfo, preserving the behavior before the patch.
llvm-svn: 149800
|
|
|
|
| |
llvm-svn: 149562
|