| #
b7f60e34 |
| 10-Jan-2011 |
Rafael Espindola <[email protected]> |
Add unnamed_addr when creating artificial string globals. For example, in
static const char foo[] = "foo"; static const char *bar = "bar";
the global created to hold "bar" will have it, but foo wil
Add unnamed_addr when creating artificial string globals. For example, in
static const char foo[] = "foo"; static const char *bar = "bar";
the global created to hold "bar" will have it, but foo will not.
llvm-svn: 123192
show more ...
|
| #
acc6b4e2 |
| 30-Dec-2010 |
Benjamin Kramer <[email protected]> |
Simplify mem{cpy, move, set} creation with IRBuilder.
llvm-svn: 122634
|
| #
357d0f3c |
| 15-Dec-2010 |
John McCall <[email protected]> |
Set the "implicitly inline" bit on a method as soon as we see a definition within the class. Teach IR gen to look for function definitions in record lexical contexts when deciding whether to emit a
Set the "implicitly inline" bit on a method as soon as we see a definition within the class. Teach IR gen to look for function definitions in record lexical contexts when deciding whether to emit a function whose address was taken. Fixes PR8789.
llvm-svn: 121833
show more ...
|
| #
8a2ee390 |
| 02-Dec-2010 |
Eric Christopher <[email protected]> |
Add support for the common and nocommon attributes.
rdar://8560647
llvm-svn: 120650
|
| #
cdf7ef54 |
| 06-Nov-2010 |
John McCall <[email protected]> |
Simplify the logic for emitting guard variables for template static data members by delaying the emission of the initializer until after linkage and visibility have been set on the global. Also, don
Simplify the logic for emitting guard variables for template static data members by delaying the emission of the initializer until after linkage and visibility have been set on the global. Also, don't emit a guard unless the variable actually ends up with vague linkage, and don't use thread-safe statics in any case.
llvm-svn: 118336
show more ...
|
| #
8e7cb6dc |
| 02-Nov-2010 |
John McCall <[email protected]> |
Ensure that static local variables in function templates inherit the visibility of their function.
llvm-svn: 118065
|
| #
c273f241 |
| 30-Oct-2010 |
John McCall <[email protected]> |
Better solution: calculate the visibility of functions and variables independently of whether they're definitions, then teach IR generation to ignore non-explicit visibility when emitting declaratio
Better solution: calculate the visibility of functions and variables independently of whether they're definitions, then teach IR generation to ignore non-explicit visibility when emitting declarations. Use this to make sure that RTTI, vtables, and VTTs get the right visibility.
More of rdar://problem/8613093
llvm-svn: 117781
show more ...
|
| #
37bb6c98 |
| 29-Oct-2010 |
John McCall <[email protected]> |
Restore r117644, this time properly ignoring -fvisibility and type visibility for namespace-scope variable declarations.
Apply visibility in IR gen to variables that are merely declared and never de
Restore r117644, this time properly ignoring -fvisibility and type visibility for namespace-scope variable declarations.
Apply visibility in IR gen to variables that are merely declared and never defined. We were previously emitting these with default visibility unless they were declared with private_extern.
Ignore global visibility settings when computing visibility for a declaration's context, and key several conditions on whether a visibility attribute exists anywhere in the hierarchy as opposed to whether it exists at the current level.
llvm-svn: 117729
show more ...
|
| #
df879212 |
| 29-Oct-2010 |
Daniel Dunbar <[email protected]> |
Revert r117644, "Apply visibility in IR gen to variables that are merely declared", it breaks things.
llvm-svn: 117653
|
| #
4af6bf1f |
| 29-Oct-2010 |
John McCall <[email protected]> |
Apply visibility in IR gen to variables that are merely declared and never defined. We were previously emitting these with default visibility unless they were declared with private_extern.
Ignore g
Apply visibility in IR gen to variables that are merely declared and never defined. We were previously emitting these with default visibility unless they were declared with private_extern.
Ignore global visibility settings when computing visibility for a declaration's context, and key several conditions on whether a visibility attribute exists anywhere in the hierarchy as opposed to whether it exists at the current level.
llvm-svn: 117644
show more ...
|
| #
1518a5ec |
| 27-Oct-2010 |
Fariborz Jahanian <[email protected]> |
Do the guarding of instantiated static data members on if its linkage is weak. Currently this is the case but may change in the future. (part of radar 8562966).
llvm-svn: 117452
|
| #
457a04e3 |
| 22-Oct-2010 |
John McCall <[email protected]> |
Substantially revise how clang computes the visibility of a declaration to more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which
Substantially revise how clang computes the visibility of a declaration to more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which will undoubtedly arise in abundance.
llvm-svn: 117147
show more ...
|
| #
50c925fe |
| 19-Oct-2010 |
Fariborz Jahanian <[email protected]> |
This patch implements Next's IRGen for -fconstant-string-class=class-name. PR6056, //rdar: //8564463
llvm-svn: 116819
|
| #
2e29eb5a |
| 15-Oct-2010 |
Dan Gohman <[email protected]> |
Experimental TBAA support for enum types.
llvm-svn: 116613
|
| #
d19ee8a0 |
| 15-Oct-2010 |
Dan Gohman <[email protected]> |
Don't leak the TBAA object.
llvm-svn: 116595
|
| #
947c9af7 |
| 14-Oct-2010 |
Dan Gohman <[email protected]> |
Experimental TBAA support.
This enables metadata generation by default, however the TBAA pass in the optimizer is still disabled for now.
llvm-svn: 116536
|
| #
11f6be1c |
| 11-Oct-2010 |
NAKAMURA Takumi <[email protected]> |
lib/CodeGen/CodeGenModule.cpp: DLLImportLinkage should be processed also on declaration.
It enables clang to compile Mingw's headers.
llvm-svn: 116184
|
|
Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3 |
|
| #
8caf6415 |
| 29-Sep-2010 |
Daniel Dunbar <[email protected]> |
Add support for attribute((naked)), patch by Zoxc on cfe-commits! - Minor style tweaks by me.
llvm-svn: 115056
|
| #
ec3bec0c |
| 27-Sep-2010 |
Douglas Gregor <[email protected]> |
Kill FunctionDecl's IsCopyAssignment bit; it duplicated what could already be determined by isCopyAssignmentOperator(), and was set too late in the process for all clients to see the appropriate valu
Kill FunctionDecl's IsCopyAssignment bit; it duplicated what could already be determined by isCopyAssignmentOperator(), and was set too late in the process for all clients to see the appropriate value. Cleanup only; no functionality change.
llvm-svn: 114916
show more ...
|
|
Revision tags: llvmorg-2.8.0-rc2 |
|
| #
0bdb1fd4 |
| 16-Sep-2010 |
John McCall <[email protected]> |
Opportunistically use the C++ personality function in ObjC++ translation units that don't catch ObjC types. rdar://problem/8434851
llvm-svn: 114070
|
| #
535618b9 |
| 07-Sep-2010 |
Fariborz Jahanian <[email protected]> |
get rid of a warning.
llvm-svn: 113256
|
| #
56603ef7 |
| 07-Sep-2010 |
Fariborz Jahanian <[email protected]> |
Have Sema check for validity of CGString literal instead of asserting in IRGen. Fixes radar 8390459.
llvm-svn: 113253
|
|
Revision tags: llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
| #
5d865c32 |
| 31-Aug-2010 |
John McCall <[email protected]> |
Teach IR generation to return 'this' from constructors and destructors under the ARM ABI.
llvm-svn: 112588
|
| #
8e7d656a |
| 26-Aug-2010 |
John McCall <[email protected]> |
De-memberify the VarDecl and FunctionDecl StorageClass enums. This lets us remove Sema.h's dependency on Expr.h and Decl.h.
llvm-svn: 112156
|
| #
bf9294fb |
| 23-Aug-2010 |
Fariborz Jahanian <[email protected]> |
Support for IRGen of synthesize bitfield ivars in objc-nonfragile-abi2 (radar 7824380).
llvm-svn: 111823
|