- Jun 16, 2011
-
-
Eli Friedman authored
llvm-svn: 133095
-
- Jun 15, 2011
-
-
Eli Friedman authored
Use isAnyComplexType here so we don't pass complex numbers into the aggregate handling code; found by inspection. llvm-svn: 133070
-
Eli Friedman authored
llvm-svn: 133069
-
Devang Patel authored
- llvm.dbg.declare already receives line number information from ParmDecl - Additional extra stoppoint messes up gdb's understanding of where function body starts. llvm-svn: 133065
-
- Jun 14, 2011
-
-
Bruno Cardoso Lopes authored
whether it's a data or instruction cache access. llvm-svn: 132977
-
Peter Collingbourne authored
llvm-svn: 132973
-
Eli Friedman authored
The LLVM IR representation of byval arguments has a rather strange property: if the alignment of an argument to a call is less than the specified byval alignment for that argument, there is no way to specify the alignment of the implied copy. Therefore, we must ensure that the alignment of the argument is at least the byval alignment. To do this, we have to mess with the alignment of relevant alloca's in some cases, and insert a copy that conceptually shouldn't be necessary in some cases. This patch tries relatively hard to avoid creating an extra copy if it can be avoided (see test3 in the included testcase), but it is not possible to avoid in some cases (like test2 in the included testcase). rdar://9483886 llvm-svn: 132957
-
Devang Patel authored
This fixes radar 8757124. llvm-svn: 132949
-
- Jun 11, 2011
-
-
Richard Smith authored
llvm-svn: 132878
-
Douglas Gregor authored
Related result types apply Cocoa conventions to the type of message sends and property accesses to Objective-C methods that are known to always return objects whose type is the same as the type of the receiving class (or a subclass thereof), such as +alloc and -init. This tightens up static type safety for Objective-C, so that we now diagnose mistakes like this: t.m:4:10: warning: incompatible pointer types initializing 'NSSet *' with an expression of type 'NSArray *' [-Wincompatible-pointer-types] NSSet *array = [[NSArray alloc] init]; ^ ~~~~~~~~~~~~~~~~~~~~~~ /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:72:1: note: instance method 'init' is assumed to return an instance of its receiver type ('NSArray *') - (id)init; ^ It also means that we get decent type inference when writing code in Objective-C++0x: auto array = [[NSMutableArray alloc] initWithObjects:@"one", @"two",nil]; // ^ now infers NSMutableArray* rather than id llvm-svn: 132868
-
- Jun 10, 2011
-
-
Eli Friedman authored
PR10120: Make CodeGenModule::getVTableLinkage use NamedDecl::getLinkage to determine whether the vtable should be externally visible, instead of a rough approximation of it which messes up with templates. While I'm here, zap the other user of isInAnonymousNamespace outside of Decl.cpp. llvm-svn: 132861
-
- Jun 08, 2011
-
-
Stuart Hastings authored
rdar://problem/9037836 llvm-svn: 132737
-
- Jun 05, 2011
-
-
Douglas Gregor authored
with a type-dependent expression, infer the placeholder type 'Context.DependentTy' to indicate that this is just a placeholder. Fixes PR9982 / <rdar://problem/9486685>. llvm-svn: 132657
-
- Jun 04, 2011
-
-
Tanya Lattner authored
__builtin_astype(): Used to reinterpreted as another data type of the same size using for both scalar and vector data types. Added test case. llvm-svn: 132612
-
Devang Patel authored
Emit debug info only if there is an insertion point. The debug info should not force an insertion point. Codegen may later on decide to not emit code for some reason, see extensive comment in CodeGenFunction::EmitStmt(), and debug info should not get in the way. llvm-svn: 132610
-
- Jun 03, 2011
-
-
Devang Patel authored
Emit debug info only if there is an insertion point. The debug info should not force an insertion point. Codegen may later on decide to not emit code for some reason, see extensive comment in CodeGenFunction::EmitStmt(), and debug info should not get in the way. llvm-svn: 132576
-
Devang Patel authored
llvm-svn: 132560
-
Devang Patel authored
llvm-svn: 132557
-
Eric Christopher authored
llvm-svn: 132548
-
- Jun 02, 2011
-
-
Akira Hatanaka authored
llvm-svn: 132443
-
- Jun 01, 2011
-
-
Devang Patel authored
llvm-svn: 132368
-
- May 31, 2011
-
-
Devang Patel authored
llvm-svn: 132361
-
Devang Patel authored
llvm-svn: 132357
-
- May 30, 2011
-
-
David Chisnall authored
llvm-svn: 132311
-
- May 28, 2011
-
-
John McCall authored
It's quite likely that this will explode, but I need to know how. :) llvm-svn: 132269
-
Benjamin Kramer authored
llvm-svn: 132260
-
David Chisnall authored
llvm-svn: 132259
-
David Chisnall authored
llvm-svn: 132258
-
Bruno Cardoso Lopes authored
llvm-svn: 132249
-
Eli Friedman authored
Add unnamed_addr to internal globals which are only used as an operand to memcpy. (Spotted by looking at IR.) llvm-svn: 132226
-
Eli Friedman authored
Match llvm-gcc's string literals alignment by forcing alignment on string literals to 1. This can significantly impact the size of the string data, and as far as I know, the alignment doesn't help performance. rdar://9078969 . llvm-svn: 132223
-
- May 27, 2011
-
-
Eli Friedman authored
llvm-svn: 132219
-
John McCall authored
to be careful to emit landing pads that are always prepared to handle a cleanup path. This is correct mostly because of the fix to the LLVM inliner, r132200. llvm-svn: 132209
-
Douglas Gregor authored
parameter types to be ill-formed. However, it relies on the completeness of method parameter types when producing metadata, e.g., for a protocol, leading IR generating to crash in such cases. Since there's no real way to tighten down the semantics of Objective-C here without breaking existing code, do something safe but lame: suppress the generation of metadata when this happens. Fixes <rdar://problem/9123036>. llvm-svn: 132171
-
- May 26, 2011
-
-
Eli Friedman authored
Skip extra copy from aggregate where it isn't necessary; rdar://problem/8139919 . This shouldn't make much of a difference at -O3, but should substantially reduce the number of generated memcpy's at -O0. Originally r130717, but was backed out due to an ObjC regression. llvm-svn: 132102
-
- May 25, 2011
-
-
David Chisnall authored
llvm-svn: 132077
-
Rafael Espindola authored
llvm-svn: 132034
-
Alexis Hunt authored
type that turns one type into another. This is used as the basis to implement __underlying_type properly - with TypeSourceInfo and proper behavior in the face of templates. llvm-svn: 132017
-
- May 24, 2011
-
-
David Chisnall authored
llvm-svn: 131935
-
David Chisnall authored
llvm-svn: 131932
-