- Oct 11, 2012
-
-
Fariborz Jahanian authored
in a category class method, don't read 'isa' pointer. Instead, save the desired OBJC_METACLASS_$_ClassName in __DATA,__objc_superrefs and read that without reading any isa pointers. // rdar://12459358 llvm-svn: 165674
-
- Oct 10, 2012
-
-
Jordan Rose authored
This more accurately reflects its use: this flag is set when a method matches the getter or setter name for a property in the same class, and does not actually specify whether or not the definition of the method will be synthesized (either implicitly or explicitly with @synthesize). This renames the setter and backing field as well, and changes the (soon-to-be-obsolete?) XML dump format to use 'property_accessor' instead of 'synthesized'. llvm-svn: 165626
-
Chandler Carruth authored
The issue arises when coercing to/from types of different sizes. We need to be certain that the allocation on either end has sufficient room for the coerced type. When it doesn't, we need to make room, copy across, and then proceed. PR11905 handled the case of storing function arguments back into allocas in the function prolog, this patch handles the case of setting up the function arguments in a call expression. This is actually significantly simpler than the fix for PR11905. It ends up being a trivial change to create a temporary alloca when the source is too small and memcpy across. This should preserve the compile-time fast-isel benefits of doing gep+load sequences and avoiding FCAs. Reviewed by Benjamin and Evgeniy (who fixed PR11905). llvm-svn: 165615
-
Bill Wendling authored
namespace. Use the attribute's enum value instead. No functionality change intended. llvm-svn: 165611
-
Bill Wendling authored
Have 'addFnAttr' take the attribute enum value. Then have it build the attribute object and add it appropriately. No functionality change. llvm-svn: 165596
-
Richard Smith authored
llvm-svn: 165584
-
Richard Smith authored
llvm-svn: 165583
-
Richard Smith authored
-fcatch-undefined-behavior: store the type name directly at the end of a type descriptor. 5% binary size reduction due to fewer relocations. llvm-svn: 165572
-
- Oct 09, 2012
-
-
Richard Smith authored
llvm-svn: 165536
-
Bill Wendling authored
opaque layer is responsible for knowing where that specific attribute is stored. llvm-svn: 165489
-
- Oct 08, 2012
-
-
Micah Villmow authored
llvm-svn: 165395
-
- Oct 06, 2012
-
-
Benjamin Kramer authored
GCC has always supported this on PowerPC and 4.8 supports it on all platforms, so it's a good idea to expose it in clang too. LLVM supports this on all targets. llvm-svn: 165362
-
Alex Rosenberg authored
llvm-svn: 165343
-
- Oct 05, 2012
-
-
Eli Friedman authored
PR14029, clang part. llvm-svn: 165289
-
Richard Smith authored
- outside C++, return undef (behavior is not undefined unless the value is used) - in C++, with -fcatch-undefined-behavior, perform an appropriate trap - in C++, produce an 'unreachable' (behavior is undefined immediately) llvm-svn: 165273
-
- Oct 04, 2012
-
-
Lang Hames authored
up being contracted during codegen. llvm-svn: 165197
-
- Oct 03, 2012
-
-
Benjamin Kramer authored
false is used as a baseline here, we may want to allow contraction in some of the cases. Found by valgrind. llvm-svn: 165156
-
Bill Schmidt authored
Most of the pieces for this were already in place, but a proper EmitVAArg is needed for aggregates and complex numbers to be handled. Although the va_list for 64-bit PowerPC SVR4 consists of GPRs 3 through 10 together with the overflow portion of the parameter save area, we can treat va_list as pointing to contiguous memory for all parameters, since the back end forces the parameter GPRs to memory for varargs functions. There is no need at this time to model parameters and return values beyond what the DefaultABIInfo provides. llvm-svn: 165143
-
Jordan Rose authored
Then, rename it getPointeeCXXRecordDecl and give it a nice doc comment, and actually use it. No intended functionality change. llvm-svn: 165077
-
- Oct 02, 2012
-
-
Lang Hames authored
Clang will now honor the FP_CONTRACT pragma and emit LLVM fmuladd intrinsics for expressions of the form A * B + C (when they occur in a single statement). llvm-svn: 164989
-
- Sep 30, 2012
-
-
Benjamin Kramer authored
CodeGen: Copy tail padding when we're not dealing with a trivial copy assign or move assign operator. This fixes a regression from r162254, the optimizer has problems reasoning about the smaller memcpy as it's often not safe to widen a store but making it smaller is. llvm-svn: 164917
-
Bob Wilson authored
llvm-svn: 164907
-
Bob Wilson authored
llvm-svn: 164904
-
- Sep 29, 2012
-
-
Richard Smith authored
observe their addresses (taking their address gives the vtable slot) so we are free to merge their definitions. llvm-svn: 164864
-
- Sep 28, 2012
-
-
Dan Gohman authored
struct assignment. llvm-svn: 164853
-
- Sep 27, 2012
-
-
Sylvestre Ledru authored
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 llvm-svn: 164769
-
Sylvestre Ledru authored
llvm-svn: 164766
-
- Sep 26, 2012
-
-
Bill Wendling authored
llvm-svn: 164726
-
Nico Weber authored
llvm-svn: 164660
-
- Sep 25, 2012
-
-
John McCall authored
be sure to delete the complete object pointer, not the original pointer. This is necessary if the base being deleted is at a non-zero offset in the complete object. This is only required for objects with virtual destructors because deleting an object via a base-class subobject when the base does not have a virtual destructor is undefined behavior. Noticed while reviewing the last four years of cxx-abi-dev activity. llvm-svn: 164597
-
John McCall authored
llvm-svn: 164592
-
John McCall authored
into the enclosing scope; this is a more accurate model but is (I believe) unnecessary in my test case due to other flaws. However, one of those flaws is now intentional: blocks which appear in return statements can be trivially observed to not extend in lifetime past the return, and so we can allow a jump past them. Do the necessary magic in IR-generation to make this work. llvm-svn: 164589
-
- Sep 22, 2012
-
-
Eric Christopher authored
that the backend can mark it as the representative pointer for the block. rdar://12001329 llvm-svn: 164418
-
- Sep 21, 2012
-
-
Rafael Espindola authored
attributes like uwtable. Without uwtable a stack unwinder would be unable to go past the thunks. llvm-svn: 164411
-
Bill Wendling authored
llvm-svn: 164374
-
Jim Grosbach authored
The expression based expansion too often results in IR level optimizations splitting the intermediate values into separate basic blocks, preventing the formation of the VBSL instruction as the code author intended. In particular, LICM would often hoist part of the computation out of a loop. rdar://11011471 llvm-svn: 164342
-
Jim Grosbach authored
llvm-svn: 164341
-
- Sep 20, 2012
-
-
Eric Christopher authored
llvm-svn: 164260
-
Eric Christopher authored
llvm-svn: 164254
-
- Sep 19, 2012
-
-
Eric Christopher authored
llvm-svn: 164253
-