| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 102112
|
|
|
|
| |
llvm-svn: 101787
|
|
|
|
| |
llvm-svn: 101786
|
|
|
|
|
|
|
|
| |
the method as available_externally.
Fixes PR6747
llvm-svn: 101757
|
|
|
|
| |
llvm-svn: 101666
|
|
|
|
| |
llvm-svn: 101153
|
|
|
|
| |
llvm-svn: 101151
|
|
|
|
|
|
| |
unsafe.
llvm-svn: 100926
|
|
|
|
| |
llvm-svn: 100919
|
|
|
|
| |
llvm-svn: 100918
|
|
|
|
|
|
|
| |
mangling an unknown expression kind. Also conveniently tells the user what
kind of expression they should add to the mangler!
llvm-svn: 100907
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__cxxabiv1::__fundamental_type_info in every translation
unit. Previously, we would perform name lookup for
__cxxabiv1::__fundamental_type_info at the end of IRGen for a each
translation unit, to determine whether it was present. If so, we we
produce type information for all of the fundamental types. However,
this name lookup causes PCH deserialization of a significant part of the
translation unit, which has a woeful impact on performance.
With this change, we now look at each record type after we've
generated its vtable to see if it is
__cxxabiv1::__fundamental_type_info. If so, we generate type info for
all of the fundamental types. This works because
__cxxabiv1::__fundamental_type_info should always have a key function
(typically the virtual destructor), that will be defined once in the
support library. The fundamental type information will end up there.
Fixes <rdar://problem/7840011>.
llvm-svn: 100772
|
|
|
|
|
|
| |
field to memcpy, memmove, and memset.
llvm-svn: 100305
|
|
|
|
| |
llvm-svn: 100200
|
|
|
|
|
|
| |
field to memcpy, memmove, and memset.
llvm-svn: 100193
|
|
|
|
| |
llvm-svn: 100093
|
|
|
|
|
|
|
|
| |
addition to the inherent win, this eliminates the pointless
cost of going through the name -> mdkind stringmap that we
were paying.
llvm-svn: 99983
|
|
|
|
| |
llvm-svn: 99949
|
|
|
|
|
|
| |
memmove, and memset
llvm-svn: 99930
|
|
|
|
|
|
|
|
| |
the typeinfo for the fundamental types.
Fixes PR6685.
llvm-svn: 99701
|
|
|
|
| |
llvm-svn: 99317
|
|
|
|
|
|
| |
declaration.
llvm-svn: 99311
|
|
|
|
|
|
| |
getVtableAddressPoint, it's not used.
llvm-svn: 99252
|
|
|
|
|
|
| |
emit thunks as well.
llvm-svn: 99251
|
|
|
|
|
|
| |
VTableInfo class.
llvm-svn: 99250
|
|
|
|
|
|
|
|
| |
- So much typing, so little gain...
Also, rename the __cxx_global_initialization function just to match llvm-gcc.
llvm-svn: 99039
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
shadowing it in the GlobalDeclMap. Eliminates the string-uniquing
requirement for mangled names, which should help C++ codegen times a little.
Forces us to do string lookups instead of pointer lookups, which might hurt
codegen times a little across the board. We'll see how it plays out.
Removing the string-uniquing requirement implicitly fixes any bugs like
PR6635 which arose from the fact that we had multiple uniquing tables for
different kinds of identifiers.
llvm-svn: 99012
|
|
|
|
|
|
|
|
|
| |
iterations of this patch gave explicit template instantiation
link-once ODR linkage, which permitted the back end to eliminate
unused symbols. Weak ODR linkage still requires the symbols to be
generated.
llvm-svn: 98441
|
|
|
|
|
|
| |
to look incompetent
llvm-svn: 98425
|
|
|
|
| |
llvm-svn: 98424
|
|
|
|
|
|
| |
amiss
llvm-svn: 98332
|
|
|
|
|
|
| |
them). Fixes PR6578.
llvm-svn: 98328
|
|
|
|
|
|
| |
This fixes PR6474.
llvm-svn: 98123
|
|
|
|
| |
llvm-svn: 97873
|
|
|
|
|
|
|
| |
and ARM. Implement __builtin_init_dwarf_reg_size_table for i386 (both) and
x86-64 (all).
llvm-svn: 97859
|
|
|
|
|
|
|
|
|
| |
Clang's support for weakref is now better than llvm-gcc's :-)
We don't introduce a new symbol and we correctly mark undefined references weak only if there is no
definition or regular undefined references in the same file.
llvm-svn: 97733
|
|
|
|
|
|
| |
Our testing framework can't deal with disabled targets yet.
llvm-svn: 97719
|
|
|
|
|
|
| |
ABI conforming.
llvm-svn: 97702
|
|
|
|
|
|
| |
some builtins will rely on target knowledge.
llvm-svn: 97693
|
|
|
|
|
|
|
|
| |
we need to synthesize has been marked as used by Sema.
Change Sema to avoid these asserts.
llvm-svn: 97589
|
|
|
|
|
|
| |
llvm-gcc does, but are more strict on what uses of weakref we accept.
llvm-svn: 96992
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) emit base destructors as aliases to their unique base class destructors
under some careful conditions. This is enabled for the same targets that can
support complete-to-base aliases, i.e. not darwin.
2) Emit non-variadic complete constructors for classes with no virtual bases
as calls to the base constructor. This is enabled on all targets and in
theory can trigger in situations that the alias optimization can't (mostly
involving virtual bases, mostly not yet supported).
These are bundled together because I didn't think it worthwhile to split them,
not because they really need to be.
llvm-svn: 96842
|
|
|
|
|
|
| |
command-line option which defaults off.
llvm-svn: 96649
|
|
|
|
|
|
| |
some failure here that I can't.
llvm-svn: 96612
|
|
|
|
|
|
|
|
| |
and destructors when the two entities are semantically identical, i.e. when
the class has no virtual base classes. We only do this for linkage types
for which aliases are supported, i.e. internal and external, i.e. not linkonce.
llvm-svn: 96451
|
|
|
|
|
|
|
|
|
| |
array allocated using the allocator in ASTContext. This addresses
these strings getting leaked when using a BumpPtrAllocator (in
ASTContext).
Fixes: <rdar://problem/7636765>
llvm-svn: 95853
|
|
|
|
|
|
|
| |
The standard actually says that such references should have internal linkage,
but gcc doesn't do that, so we probably can't get away with it.
llvm-svn: 95577
|
|
|
|
|
|
|
|
| |
their parent's visibility.
(This is kind of a risky change, but I did a self-host build and everything appears to work fine!)
llvm-svn: 95511
|
|
|
|
|
|
|
|
|
| |
over to VarDecl::isThisDeclarationADefinition(), which handles
variables declared with linkage specifications better (among other
things). CMake 2.9 (from CVS) now builds with clang++ and is somewhat
functional.
llvm-svn: 95486
|
|
|
|
|
|
| |
attributes. Fixes PR6245.
llvm-svn: 95474
|