| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
field to memcpy, memmove, and memset.
llvm-svn: 100193
|
|
|
|
| |
llvm-svn: 100007
|
|
|
|
| |
llvm-svn: 99949
|
|
|
|
|
|
| |
memmove, and memset
llvm-svn: 99930
|
|
|
|
| |
llvm-svn: 99869
|
|
|
|
|
|
|
|
| |
the typeinfo for the fundamental types.
Fixes PR6685.
llvm-svn: 99701
|
|
|
|
| |
llvm-svn: 99374
|
|
|
|
| |
llvm-svn: 99294
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
some builtins will rely on target knowledge.
llvm-svn: 97693
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
attributes. Fixes PR6245.
llvm-svn: 95474
|
|
|
|
|
|
| |
CGExprConstant. Fixes PR5674.
llvm-svn: 95063
|
|
|
|
| |
llvm-svn: 94938
|
|
|
|
|
|
| |
of LLVM types in character units.
llvm-svn: 94542
|
|
|
|
|
|
| |
constant Objective-C strings.
llvm-svn: 94274
|
|
|
|
|
|
|
|
|
| |
1. Add helper class for sema checks for target attributes
2. Add helper class for codegen of target attributes
As a proof-of-concept - implement msp430's 'interrupt' attribute.
llvm-svn: 93118
|
|
|
|
|
|
|
| |
run-time initialization, and emit run-time initializers aggresively to avoid
ordering issues with deferred globals.
llvm-svn: 92976
|
|
|
|
|
|
|
|
| |
linkage of vtables. Before this, we were emitting RTTI names for
template instantiations with strong external linkage rather than with
weak ODR linkage.
llvm-svn: 92857
|
|
|
|
|
|
| |
virtual function has a body inlined in the class
llvm-svn: 92855
|
|
|
|
| |
llvm-svn: 92420
|
|
|
|
|
|
|
| |
the constructor. This doesn't handle cases requiring the VTT at the moment,
and generates unnecessary stores, but I think it's essentially correct.
llvm-svn: 91731
|
|
|
|
|
|
| |
takes a CXXRecordDecl since we were just creating a QualType from it anyway.
llvm-svn: 91590
|
|
|
|
|
|
| |
With this change, we can now compile and link TableGen.
llvm-svn: 91520
|
|
|
|
|
|
| |
CodeGenModule::GetAddrOfRTTI which figures out the right linkage of the RTTI information for the given type and whether it should be defined or not. I will migrate clients over to GetAddrOfRTTI in subsequent commits (with tests).
llvm-svn: 91098
|
|
|
|
|
|
|
| |
generation, and make sure we generate thunks when the function is defined
rather than when the vtable is defined.
llvm-svn: 90722
|
|
|
|
| |
llvm-svn: 90689
|
|
|
|
| |
llvm-svn: 90684
|
|
|
|
| |
llvm-svn: 90411
|
|
|
|
| |
llvm-svn: 90409
|
|
|
|
| |
llvm-svn: 90401
|
|
|
|
| |
llvm-svn: 90334
|
|
|
|
|
|
|
|
| |
operators, and destructors. Avoids generating declarations/definitions of
trivial constructors/destructors, and makes sure the trivial copy assignment
operator is generated when necessary.
llvm-svn: 89943
|
|
|
|
|
|
| |
for a covariant thunk.
llvm-svn: 89933
|
|
|
|
|
|
| |
adjustment offset. Start using it. General cleanup in Mangle.cpp.
llvm-svn: 89925
|
|
|
|
|
|
| |
generation.
llvm-svn: 89416
|