| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 136256
|
|
|
|
|
|
| |
register-addend and immediate-addend versions. Temporarily XFAIL the asm parsing tests for these instructions.
llvm-svn: 136255
|
|
|
|
| |
llvm-svn: 136254
|
|
|
|
|
|
| |
This adds the new instructions 'landingpad' and 'resume'.
llvm-svn: 136253
|
|
|
|
|
|
|
| |
Assembly parser handling for extend instruction rotate operands. Add tests
for the sign extend instructions.
llvm-svn: 136252
|
|
|
|
| |
llvm-svn: 136251
|
|
|
|
| |
llvm-svn: 136250
|
|
|
|
|
|
| |
code, and all x86 processors will honor the required semantics.
llvm-svn: 136249
|
|
|
|
| |
llvm-svn: 136247
|
|
|
|
|
|
| |
std::basic_string<char> ends up in the debug info instead of std::string
llvm-svn: 136246
|
|
|
|
|
|
| |
change, and append Fence onto the end.
llvm-svn: 136245
|
|
|
|
| |
llvm-svn: 136244
|
|
|
|
|
|
| |
crashing. Should fix regression on g++.dg/init/delete1.C.
llvm-svn: 136241
|
|
|
|
| |
llvm-svn: 136239
|
|
|
|
| |
llvm-svn: 136238
|
|
|
|
| |
llvm-svn: 136237
|
|
|
|
| |
llvm-svn: 136236
|
|
|
|
|
|
| |
llvm::capacity_in_bytes().
llvm-svn: 136235
|
|
|
|
|
|
| |
usage of various data structures.
llvm-svn: 136233
|
|
|
|
| |
llvm-svn: 136232
|
|
|
|
| |
llvm-svn: 136230
|
|
|
|
| |
llvm-svn: 136229
|
|
|
|
| |
llvm-svn: 136228
|
|
|
|
|
|
| |
simple iteration example.
llvm-svn: 136227
|
|
|
|
|
|
|
|
| |
Refactor the rest of the extend instructions to not artificially distinguish
between a rotate of zero and a rotate of any other value. Replace the by-zero
versions with Pat<>'s for ISel.
llvm-svn: 136226
|
|
|
|
|
|
|
|
| |
Refactor the SXTB, SXTH, SXTB16, UXTB, UXTH, and UXTB16 instructions to not
have an 'r' and an 'r_rot' version, but just a single version with a rotate
that can be zero. Use plain Pat<>'s for the ISel of the non-rotated version.
llvm-svn: 136225
|
|
|
|
| |
llvm-svn: 136224
|
|
|
|
|
|
| |
Release+Asserts linux tests.
llvm-svn: 136223
|
|
|
|
| |
llvm-svn: 136222
|
|
|
|
| |
llvm-svn: 136221
|
|
|
|
| |
llvm-svn: 136219
|
|
|
|
| |
llvm-svn: 136218
|
|
|
|
|
|
| |
literals, from Craig Topper
llvm-svn: 136216
|
|
|
|
| |
llvm-svn: 136215
|
|
|
|
|
|
| |
to print STL containers.
llvm-svn: 136213
|
|
|
|
| |
llvm-svn: 136212
|
|
|
|
|
|
| |
C++0x.
llvm-svn: 136211
|
|
|
|
| |
llvm-svn: 136210
|
|
|
|
| |
llvm-svn: 136209
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replace calling -zone with 'nil'. -zone is obsolete in ARC.
- Allow removing retain/release on a static global var.
- Fix assertion hit when scanning for name references outside a NSAutoreleasePool scope.
- Automatically add bridged casts for results of objc method calls and when calling CFRetain, for example:
NSString *s;
CFStringRef ref = [s string]; -> CFStringRef ref = (__bridge CFStringRef)([s string]);
ref = s.string; -> ref = (__bridge CFStringRef)(s.string);
ref = [NSString new]; -> ref = (__bridge_retained CFStringRef)([NSString new]);
ref = [s newString]; -> ref = (__bridge_retained CFStringRef)([s newString]);
ref = [[NSString alloc] init]; -> ref = (__bridge_retained CFStringRef)([[NSString alloc] init]);
ref = [[s string] retain]; -> ref = (__bridge_retained CFStringRef)([s string]);
ref = CFRetain(s); -> ref = (__bridge_retained CFTypeRef)(s);
ref = [s retain]; -> ref = (__bridge_retained CFStringRef)(s);
- Emit migrator error when trying to cast to CF type the result of autorelease/release:
for
CFStringRef f3() {
return (CFStringRef)[[[NSString alloc] init] autorelease];
}
emits:
t.m:12:10: error: [rewriter] it is not safe to cast to 'CFStringRef' the result of 'autorelease' message; a __bridge cast may result in a pointer to a destroyed object and a __bridge_retained may leak the object
return (CFStringRef)[[[NSString alloc] init] autorelease];
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t.m:12:3: note: [rewriter] remove the cast and change return type of function to 'NSString *' to have the object automatically autoreleased
return (CFStringRef)[[[NSString alloc] init] autorelease];
^
- Before changing attributes to weak/unsafe_unretained, check if the backing ivar
is set to a +1 object, in which case use 'strong' instead.
llvm-svn: 136208
|
|
|
|
| |
llvm-svn: 136207
|
|
|
|
| |
llvm-svn: 136206
|
|
|
|
| |
llvm-svn: 136205
|
|
|
|
|
|
|
|
|
|
|
| |
for-in statements; specifically, make sure to close over any
temporaries or cleanups it might require. In ARC, this has
implications for the lifetime of the collection, so emit it
with a retain and release it upon exit from the loop.
rdar://problem/9817306
llvm-svn: 136204
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
resolve Identifier during BuildCXXNestedNameSpecifier, then extend the SS with Identifier. This will have the effect of resolving Identifier during template instantiation. The goal is to be able to resolve a function call whose nested-name-specifier is located inside a dependent base class.
class C {
public:
static void foo2() { }
};
template <class T> class A {
public:
typedef C D;
};
template <class T> class B : public A<T> {
public:
void foo() { D::foo2(); }
};
Note that this won't work if the NestedNameSpecifier refers to a type.
This fixes 1 error when parsing the MSVC 2010 standard headers file with clang.
llvm-svn: 136203
|
|
|
|
| |
llvm-svn: 136202
|
|
|
|
| |
llvm-svn: 136201
|
|
|
|
|
|
|
|
|
| |
usage of the shuffle bitmask. Both work in 128-bit lanes without
crossing, but in the former the mask of the high part is the same
used by the low part while in the later both lanes have independent
masks. Handle this properly and and add support for vpermilpd.
llvm-svn: 136200
|
|
|
|
| |
llvm-svn: 136199
|
|
|
|
|
|
| |
instructions it doesn't know about (like the atomic instructions I'm adding).
llvm-svn: 136198
|