| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
and add Mips64's version too.
llvm-svn: 144018
|
| |
|
|
|
|
| |
registers.
llvm-svn: 144017
|
| |
|
|
|
|
| |
floating pointer registers.
llvm-svn: 144016
|
| |
|
|
| |
llvm-svn: 144015
|
| |
|
|
| |
llvm-svn: 144014
|
| |
|
|
|
|
| |
As a side effect hex is printed lowercase instead of uppercase now.
llvm-svn: 144013
|
| |
|
|
| |
llvm-svn: 144012
|
| |
|
|
|
|
|
|
|
|
|
|
| |
default", make a note of which is used when creating the
initial declaration. Previously, we would wait until later to handle
default/delete as a definition, but this is too late: when adding the
declaration, we already treated the declaration as "user-provided"
when in fact it was merely "user-declared".
Fixes PR10861 and PR10442, along with a bunch of FIXMEs.
llvm-svn: 144011
|
| |
|
|
| |
llvm-svn: 144003
|
| |
|
|
| |
llvm-svn: 144002
|
| |
|
|
| |
llvm-svn: 144001
|
| |
|
|
|
|
| |
<rdar://problem/10405911>
llvm-svn: 144000
|
| |
|
|
| |
llvm-svn: 143997
|
| |
|
|
|
|
|
|
|
| |
The xorps instruction is smaller than pxor, so prefer that encoding.
The ExecutionDepsFix pass will switch the encoding to pxor and xorpd
when appropriate.
llvm-svn: 143996
|
| |
|
|
| |
llvm-svn: 143994
|
| |
|
|
| |
llvm-svn: 143993
|
| |
|
|
|
|
| |
is used to save va_arg or byval arguments passed in registers.
llvm-svn: 143992
|
| |
|
|
| |
llvm-svn: 143991
|
| |
|
|
|
|
| |
when shift amount is larger than 32.
llvm-svn: 143990
|
| |
|
|
|
|
| |
instruction definitions.
llvm-svn: 143989
|
| |
|
|
| |
llvm-svn: 143988
|
| |
|
|
| |
llvm-svn: 143985
|
| |
|
|
|
|
| |
function template instantiations. Fixes <rdar://problem/10398005> / PR11312.
llvm-svn: 143984
|
| |
|
|
| |
llvm-svn: 143982
|
| |
|
|
| |
llvm-svn: 143980
|
| |
|
|
|
|
|
|
|
| |
-Move __strong/__weak added to a property type to the property attribute,
e.g. "@property (assign) __weak Foo *prop;" --> "@property (weak) Foo *prop;"
-Remove (assign) in a property so that it becomes strong-by-default in ARC.
llvm-svn: 143979
|
| |
|
|
| |
llvm-svn: 143978
|
| |
|
|
|
|
|
|
| |
__int128_t and __uint128_t. Short and unsigned short integer literals support
is only to work around a crasher as reported in PR11179 and will be removed
once Clang no longer builds short integer literals.
llvm-svn: 143977
|
| |
|
|
|
|
| |
to objects of classes that don't support ARC weak
llvm-svn: 143976
|
| |
|
|
|
|
|
|
|
| |
__weak is unsupported by the deployment target, since it is going to be
ignored anyway.
Makes it easier for incremental migration from GC.
llvm-svn: 143975
|
| |
|
|
| |
llvm-svn: 143974
|
| |
|
|
| |
llvm-svn: 143972
|
| |
|
|
|
|
| |
Fixes a self-host error.
llvm-svn: 143970
|
| |
|
|
| |
llvm-svn: 143969
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the injected-class-name of a class (or class template) to the
declaration that results from substituting the given template
arguments. Previously, we would actually perform a substitution into
the injected-class-name type and then retrieve the resulting
declaration. However, in certain, rare circumstances involving
deeply-nested member templates, we would get the wrong substitution
arguments.
This new approach just matches up the declaration with a declaration
that's part of the current context (or one of its parents), which will
either be an instantiation (during template instantiation) or the
declaration itself (during the definition of the template). This is
both more efficient (we're avoiding a substitution) and more correct
(we can't get the template arguments wrong in the member-template
case).
Fixes <rdar://problem/9676205>.
Reinstated, now that we have the fix in r143967.
llvm-svn: 143968
|
| |
|
|
|
|
|
| |
entering the context of a nested-name-specifier. Fixes
<rdar://problem/10397846>.
llvm-svn: 143967
|
| |
|
|
|
|
| |
RelocationRef::getInfo().
llvm-svn: 143966
|
| |
|
|
| |
llvm-svn: 143965
|
| |
|
|
|
|
| |
and TargetLowering::BuildUDIV(). Fixes PR11283
llvm-svn: 143964
|
| |
|
|
| |
llvm-svn: 143962
|
| |
|
|
| |
llvm-svn: 143961
|
| |
|
|
| |
llvm-svn: 143960
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This simplifies e.g:
if (Op.type == SCEVType::INT || Op.type == SCEVType::PARAM)
to
if (Op.isConstant())
llvm-svn: 143959
|
| |
|
|
| |
llvm-svn: 143958
|
| |
|
|
| |
llvm-svn: 143925
|
| |
|
|
| |
llvm-svn: 143924
|
| |
|
|
|
|
|
|
| |
to fix the types section (all types, not just global types), and testcases.
The code to do the final emission is disabled by default.
llvm-svn: 143923
|
| |
|
|
| |
llvm-svn: 143922
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the pubnames and pubtypes tables. LLDB can currently use this format
and a full spec is forthcoming and submission for standardization is planned.
A basic summary:
The dwarf accelerator tables are an indirect hash table optimized
for null lookup rather than access to known data. They are output into
an on-disk format that looks like this:
.-------------.
| HEADER |
|-------------|
| BUCKETS |
|-------------|
| HASHES |
|-------------|
| OFFSETS |
|-------------|
| DATA |
`-------------'
where the header contains a magic number, version, type of hash function,
the number of buckets, total number of hashes, and room for a special
struct of data and the length of that struct.
The buckets contain an index (e.g. 6) into the hashes array. The hashes
section contains all of the 32-bit hash values in contiguous memory, and
the offsets contain the offset into the data area for the particular
hash.
For a lookup example, we could hash a function name and take it modulo the
number of buckets giving us our bucket. From there we take the bucket value
as an index into the hashes table and look at each successive hash as long
as the hash value is still the same modulo result (bucket value) as earlier.
If we have a match we look at that same entry in the offsets table and
grab the offset in the data for our final match.
llvm-svn: 143921
|
| |
|
|
| |
llvm-svn: 143920
|