History log of /llvm-project-15.0.7/clang/lib/CodeGen/CodeGenModule.cpp (Results 1326 – 1350 of 1864)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# f7f04458 04-Feb-2011 Fariborz Jahanian <[email protected]>

-fapple-kext cannot have 'weak' visibility in this
abi.

llvm-svn: 124834


# af5b92e8 03-Feb-2011 Rafael Espindola <[email protected]>

Revert 124768.
This reopens PR99114, but that one at least can be avoided with an #include.
PR9130 cannot.

llvm-svn: 124780


# bac84bef 03-Feb-2011 Anders Carlsson <[email protected]>

Don't try to mark virtual members referenced for classes where the key function
is not defined in the current translation unit. Doing so lead to compile errors
such as PR9114.

Instead, when CodeGen

Don't try to mark virtual members referenced for classes where the key function
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

show more ...


# 88ea6ab4 01-Feb-2011 Rafael Espindola <[email protected]>

Revert 124633. The linker has been told how to merge available_externally.

llvm-svn: 124651


# 9fa5a67d 01-Feb-2011 Rafael Espindola <[email protected]>

Set visibility for available_externally globals. This is important for two reasons:

* llvm-link would complains about mismatched visibility
* If we produce a relocation with an available_externally,

Set visibility for available_externally globals. This is important for two reasons:

* 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

show more ...


# a03f3a85 30-Jan-2011 Anders Carlsson <[email protected]>

When building with optimizations, emit vtables where the key is not in the
current translation unit as available_externally.

This helps devirtualize the second example in PR3100, comment 18:

stru

When building with optimizations, emit vtables where the key is not in the
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

show more ...


# 537fdced 29-Jan-2011 Anders Carlsson <[email protected]>

Move GetLLVMVisibility to CodeGenModule.

llvm-svn: 124550


# 678632fa 29-Jan-2011 Anders Carlsson <[email protected]>

Add RTTIBuilder::GetAddrOfTypeName which uses the newly added CreateOrReplaceCXXRuntimeVariable.

Set the visibility for typeinfo names.

llvm-svn: 124548


# 265aa7c0 29-Jan-2011 Anders Carlsson <[email protected]>

Change CodeGenModule::setTypeVisibility to take a TypeVisibilityKind enum instead of an "IsForRTTI" flag.

llvm-svn: 124546


# 072ef742 29-Jan-2011 Anders Carlsson <[email protected]>

Replace an isa/cast with a dyn_cast.

llvm-svn: 124542


# c6a47895 29-Jan-2011 Anders Carlsson <[email protected]>

Get rid of an unneeded parameter from setGlobalVisibility.

llvm-svn: 124541


# 93be9a90 29-Jan-2011 Anders Carlsson <[email protected]>

Use CGM.CreateOrReplaceCXXRuntimeVariable in CGVTables.cpp

llvm-svn: 124538


# da80af36 29-Jan-2011 Anders Carlsson <[email protected]>

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 <[email protected]>

Replace a literal '8' with getCharWidth().

llvm-svn: 124536


# fd483406 29-Jan-2011 Anders Carlsson <[email protected]>

Remove IsDefinition from CodeGenModule::setTypeVisibility; it is always true.

llvm-svn: 124529


# 571e2ad0 24-Jan-2011 Anders Carlsson <[email protected]>

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 <[email protected]>

Use a FunctionType::get overload that doesn't require an empty vector.

llvm-svn: 124029


# d661a853 18-Jan-2011 Rafael Espindola <[email protected]>

Add unnamed_addr in CreateRuntimeVariable.

llvm-svn: 123773


# 9a648693 18-Jan-2011 Ken Dyck <[email protected]>

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 <[email protected]>

More unnamed_addr.

llvm-svn: 123681


# de089d46 17-Jan-2011 Rafael Espindola <[email protected]>

merge strings created by
const NSConstantString *appKey = @"MyApp";

llvm-svn: 123680


# e79d43da 17-Jan-2011 Rafael Espindola <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

Add unnamed_addr to constructors and destructors.

llvm-svn: 123197


1...<<51525354555657585960>>...75