- Dec 02, 2011
-
-
Nick Lewycky authored
llvm-svn: 145715
-
Richard Smith authored
mutable member and a constant initializer. We'd previously promoted such variables to global constants, resulting in nasal demons if the mutable member was modified. This is only a temporary fix. The subtle interplay between isConstantInitializer and CGExprConstant is very bug-prone; there are some other issues in this area which I will be addressing in subsequent, more major reworking of this code. llvm-svn: 145654
-
Eli Friedman authored
When we're passing a vector with an illegal type through memory on x86-64, use byval so we're sure the backend does the right thing. Fixes va_arg with illegal vectors and an obscure ABI mismatch with __m64 vectors. llvm-svn: 145652
-
- Dec 01, 2011
-
-
David Chisnall authored
old dispatch mechanism when I introduced the new one. llvm-svn: 145609
-
Eli Friedman authored
Don't use a varargs convention for calls unprototyped functions where one of the arguments is an AVX vector. llvm-svn: 145574
-
Douglas Gregor authored
library, since modules cut across all of the libraries. Rename serialization::Module to serialization::ModuleFile to side-step the annoying naming conflict. Prune a bunch of ModuleMap.h includes that are no longer needed (most files only needed the Module type). llvm-svn: 145538
-
- Nov 30, 2011
-
-
Kostya Serebryany authored
llvm-svn: 145531
-
rdar://problem/10492418Bob Wilson authored
The new metadata are method @encode strings with additional data. 1. Each Objective-C object is marked with its class name and protocol names. The same is done for property @encode already. 2. Each block object is marked with its function prototype's @encoding. For example, a method parameter that is a block object that itself returns void and takes an int would look like: @?<v@?i> These new method @encode strings are stored in a single array pointed to by structs protocol_t and objc_protocol_ext. Patch provided by Greg Parker! llvm-svn: 145469
-
Eric Christopher authored
for the structure type. rdar://10499337 llvm-svn: 145461
-
- Nov 29, 2011
-
-
Benjamin Kramer authored
llvm-svn: 145399
-
Bill Wendling authored
attribute. This prevents the stack slot allocator from coming along and using a stack which it thinks is available but isn't. <rdar://problem/10492556> llvm-svn: 145332
-
Tanya Lattner authored
Correct the code generation for function arguments of vec3 types on x86_64 when they are greater than 128 bits. This was incorrectly coercing things like long3 into a double2. Add test case. llvm-svn: 145312
-
- Nov 28, 2011
-
-
Peter Collingbourne authored
llvm-svn: 145227
-
Peter Collingbourne authored
llvm-svn: 145211
-
Peter Collingbourne authored
llvm-svn: 145209
-
- Nov 27, 2011
-
-
Peter Collingbourne authored
generic pushDestroy function. This would reduce the number of useful declarations in CGTemporaries.cpp to one. Since CodeGenFunction::EmitCXXTemporary does not deserve its own file, move it to CGCleanup.cpp and delete CGTemporaries.cpp. llvm-svn: 145202
-
Rafael Espindola authored
llvm-svn: 145189
-
Sebastian Redl authored
This supports single-element initializer lists for references according to DR1288, as well as creating temporaries and binding to them for other initializer lists. llvm-svn: 145186
-
- Nov 22, 2011
-
-
Richard Smith authored
appear in non-constant initializers in C++. llvm-svn: 145087
-
Kostya Serebryany authored
implement __has_feature(address_sanitizer); also use LangOpts.AddressSanitizer instead of CodeGenOpts.AddressSanitizer llvm-svn: 145054
-
- Nov 21, 2011
-
-
Benjamin Kramer authored
llvm-svn: 145040
-
- Nov 20, 2011
-
-
Benjamin Kramer authored
Fixes PR4777. llvm-svn: 145015
-
- Nov 18, 2011
-
-
Eli Friedman authored
llvm-svn: 144972
-
Eli Friedman authored
Fix the meaning of an "empty" record for the case of a zero-length array. Use isEmptyRecord for arguments on x86-32; there are structs of size 0 which don't count as empty. llvm-svn: 144971
-
Eli Friedman authored
Fixes <rdar://problem/10463281>. llvm-svn: 144966
-
Eli Friedman authored
A bunch of fixes to argument passing and va_arg on Darwin x86-32 for structures containing an SSE vector. llvm-svn: 144963
-
Eli Friedman authored
llvm-svn: 144961
-
Eli Friedman authored
Simplify code for returning a struct for Darwin x86-32 ABI. Use a better type for a function returning a struct containing only a pointer. Handle the edge case of a struct containing only a float or double plus some dead padding instead of asserting. llvm-svn: 144960
-
Eli Friedman authored
llvm-svn: 144944
-
Argyrios Kyrtzidis authored
parsing or false to abort parsing. llvm-svn: 144943
-
Eric Christopher authored
Fixes rdar://10433202 llvm-svn: 144938
-
- Nov 17, 2011
-
-
Richard Smith authored
and base-to-derived casts, and add proper handling of temporaries. llvm-svn: 144926
-
- Nov 16, 2011
-
-
Kostya Serebryany authored
llvm-svn: 144800
-
Evan Cheng authored
llvm-svn: 144789
-
Eli Friedman authored
llvm-svn: 144745
-
- Nov 15, 2011
-
-
Eli Friedman authored
llvm-svn: 144612
-
- Nov 14, 2011
-
-
Eric Christopher authored
llvm-svn: 144548
-
- Nov 12, 2011
-
-
Richard Smith authored
or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to static member functions and static data members are now emitted as constant expressions. llvm-svn: 144468
-
- Nov 10, 2011
-
-
Pete Cooper authored
Add invariant.load metadata to loads from selector references. Allows these loads to later be moved/combined in the optimizer. Fixes <rdar://problem/6027699> llvm-svn: 144318
-
Eli Friedman authored
llvm-svn: 144310
-