- Feb 09, 2011
-
-
Douglas Gregor authored
and we later find the definition, make sure that we add the definition (not the declaration) to the list of deferred definitions to emit. Fixes PR8864. Thanks to Nick Lewycky for testing this patch out llvm-svn: 125157
-
- Feb 08, 2011
-
-
John McCall authored
Block{Function,Module} base class. Minor other refactorings. Fixed a few address-space bugs while I was there. llvm-svn: 125085
-
- Feb 05, 2011
-
-
Anders Carlsson authored
We now emit everything except unused implicit virtual member functions when building the vtable. llvm-svn: 124935
-
- Feb 04, 2011
-
-
Fariborz Jahanian authored
llvm-svn: 124837
-
Fariborz Jahanian authored
llvm-svn: 124835
-
Fariborz Jahanian authored
abi. llvm-svn: 124834
-
- Feb 03, 2011
-
-
Rafael Espindola authored
This reopens PR99114, but that one at least can be avoided with an #include. PR9130 cannot. llvm-svn: 124780
-
Anders Carlsson authored
is not defined in the current translation unit. Doing so lead to compile errors such as PR9114. Instead, when CodeGen is building the vtable, don't try to emit a definition for functions that aren't marked used in the current translation unit. Fixes PR9114. llvm-svn: 124768
-
- Feb 01, 2011
-
-
Rafael Espindola authored
llvm-svn: 124651
-
Rafael Espindola authored
* llvm-link would complains about mismatched visibility * If we produce a relocation with an available_externally, it is good to know that it is hidden. llvm-svn: 124633
-
- Jan 30, 2011
-
-
Anders Carlsson authored
current translation unit as available_externally. This helps devirtualize the second example in PR3100, comment 18: struct S { S() {}; virtual void xyzzy(); }; inline void foo(S *s) { s->xyzzy(); } void bar() { S s; foo(&s); } This involved four major changes: 1. In DefineUsedVTables, always mark virtual member functions as referenced for non-template classes and class template specializations. 2. In CodeGenVTables::ShouldEmitVTableInThisTU return true if optimizations are enabled, even if the key function is not implemented in this translation unit. We don't ever do this for code compiled with -fapple-kext, because we don't ever want to devirtualize virtual member function calls in that case. 3. Give the correct linkage for vtables where the key function is not defined. 4. Update the linkage for RTTI structures when necessary. llvm-svn: 124565
-
- Jan 29, 2011
-
-
Anders Carlsson authored
llvm-svn: 124550
-
Anders Carlsson authored
Set the visibility for typeinfo names. llvm-svn: 124548
-
Anders Carlsson authored
Change CodeGenModule::setTypeVisibility to take a TypeVisibilityKind enum instead of an "IsForRTTI" flag. llvm-svn: 124546
-
Anders Carlsson authored
llvm-svn: 124542
-
Anders Carlsson authored
llvm-svn: 124541
-
Anders Carlsson authored
llvm-svn: 124538
-
Anders Carlsson authored
Add a new function, to be used by CGRTTI, CGVTables and CGVTT (which each has their own copy of this code). llvm-svn: 124537
-
Ken Dyck authored
llvm-svn: 124536
-
Anders Carlsson authored
llvm-svn: 124529
-
- Jan 24, 2011
-
-
Anders Carlsson authored
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
-
- Jan 22, 2011
-
-
Benjamin Kramer authored
llvm-svn: 124029
-
- Jan 18, 2011
-
-
Rafael Espindola authored
llvm-svn: 123773
-
Ken Dyck authored
ASTContext::toCharUnitsFromBits() when converting from bit sizes to char units. llvm-svn: 123720
-
- Jan 17, 2011
-
-
Rafael Espindola authored
llvm-svn: 123681
-
Rafael Espindola authored
const NSConstantString *appKey = @"MyApp"; llvm-svn: 123680
-
Rafael Espindola authored
__builtin___CFStringMakeConstantString This fixes PR8993. A darwin expert might want to check that this is safe. llvm-svn: 123658
-
- Jan 13, 2011
-
-
Peter Collingbourne authored
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
-
- Jan 11, 2011
-
-
Rafael Espindola authored
think it is safe to mark all type infos with unnamed_addr, but I am not sure. llvm-svn: 123275
-
Rafael Espindola authored
llvm-svn: 123197
-
- Jan 10, 2011
-
-
Rafael Espindola authored
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
-
- Dec 30, 2010
-
-
Benjamin Kramer authored
llvm-svn: 122634
-
- Dec 15, 2010
-
-
John McCall authored
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
-
- Dec 02, 2010
-
-
Eric Christopher authored
rdar://8560647 llvm-svn: 120650
-
- Nov 06, 2010
-
-
John McCall authored
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
-
- Nov 02, 2010
-
-
John McCall authored
visibility of their function. llvm-svn: 118065
-
- Oct 30, 2010
-
-
John McCall authored
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
-
John McCall authored
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
-
- Oct 29, 2010
-
-
Daniel Dunbar authored
declared", it breaks things. llvm-svn: 117653
-
John McCall authored
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
-