#
678632fa |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Add RTTIBuilder::GetAddrOfTypeName which uses the newly added CreateOrReplaceCXXRuntimeVariable.
Set the visibility for typeinfo names.
llvm-svn: 124548
|
#
265aa7c0 |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Change CodeGenModule::setTypeVisibility to take a TypeVisibilityKind enum instead of an "IsForRTTI" flag.
llvm-svn: 124546
|
#
072ef742 |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Replace an isa/cast with a dyn_cast.
llvm-svn: 124542
|
#
c6a47895 |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Get rid of an unneeded parameter from setGlobalVisibility.
llvm-svn: 124541
|
#
93be9a90 |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Use CGM.CreateOrReplaceCXXRuntimeVariable in CGVTables.cpp
llvm-svn: 124538
|
#
da80af36 |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Add a new function, to be used by CGRTTI, CGVTables and CGVTT (which each has their own copy of this code).
llvm-svn: 124537
|
#
a45a70cf |
| 29-Jan-2011 |
Ken Dyck <kd@kendyck.com> |
Replace a literal '8' with getCharWidth().
llvm-svn: 124536
|
#
fd483406 |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Remove IsDefinition from CodeGenModule::setTypeVisibility; it is always true.
llvm-svn: 124529
|
#
571e2ad0 |
| 24-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Mark VTables and RTTI data linkonce_odr instead of weak_odr, with the exception of explicit template instantiations, which have to be weak_odr.
This fixes PR6996.
llvm-svn: 124089
|
#
1e188897 |
| 22-Jan-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use a FunctionType::get overload that doesn't require an empty vector.
llvm-svn: 124029
|
#
d661a853 |
| 18-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add unnamed_addr in CreateRuntimeVariable.
llvm-svn: 123773
|
#
9a648693 |
| 18-Jan-2011 |
Ken Dyck <ken.dyck@onsemi.com> |
Replace calls to CharUnits::fromQuantity() with ones to ASTContext::toCharUnitsFromBits() when converting from bit sizes to char units.
llvm-svn: 123720
|
#
2e217d65 |
| 17-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
More unnamed_addr.
llvm-svn: 123681
|
#
de089d46 |
| 17-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
merge strings created by const NSConstantString *appKey = @"MyApp";
llvm-svn: 123680
|
#
e79d43da |
| 17-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add unnamed_addr to the special strings created by __builtin___CFStringMakeConstantString This fixes PR8993. A darwin expert might want to check that this is safe.
llvm-svn: 123658
|
#
0ff0b376 |
| 13-Jan-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move name mangling support from CodeGen to AST. In the process, perform a number of refactorings:
- Move MiscNameMangler member functions to MangleContext - Remove GlobalDecl dependency from Mangle
Move name mangling support from CodeGen to AST. In the process, perform a number of refactorings:
- Move MiscNameMangler member functions to MangleContext - Remove GlobalDecl dependency from MangleContext - Make MangleContext abstract and move Itanium/Microsoft functionality to their own classes/files - Implement ASTContext::createMangleContext and have CodeGen use it
No (intended) functionality change.
llvm-svn: 123386
show more ...
|
#
b1e879c8 |
| 11-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Set unnamed_addr for type infos that we are confortable marking as hidden. I think it is safe to mark all type infos with unnamed_addr, but I am not sure.
llvm-svn: 123275
|
#
0ee986c1 |
| 11-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add unnamed_addr to constructors and destructors.
llvm-svn: 123197
|
#
b7f60e34 |
| 10-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
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 <benny.kra@googlemail.com> |
Simplify mem{cpy, move, set} creation with IRBuilder.
llvm-svn: 122634
|
#
357d0f3c |
| 15-Dec-2010 |
John McCall <rjmccall@apple.com> |
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 <echristo@apple.com> |
Add support for the common and nocommon attributes.
rdar://8560647
llvm-svn: 120650
|
#
cdf7ef54 |
| 06-Nov-2010 |
John McCall <rjmccall@apple.com> |
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 <rjmccall@apple.com> |
Ensure that static local variables in function templates inherit the visibility of their function.
llvm-svn: 118065
|
#
c273f241 |
| 30-Oct-2010 |
John McCall <rjmccall@apple.com> |
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 ...
|