| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
vtables. Add thunk generation. WIP.
llvm-svn: 81014
|
|
|
|
| |
llvm-svn: 79372
|
|
|
|
| |
llvm-svn: 79199
|
|
|
|
|
|
|
|
| |
function in the order according to c++03. ir-gen
for copy assignment in the trivial case and the first
test case.
llvm-svn: 78938
|
|
|
|
| |
llvm-svn: 78691
|
|
|
|
| |
llvm-svn: 78515
|
|
|
|
| |
llvm-svn: 78402
|
|
|
|
| |
llvm-svn: 78259
|
|
|
|
| |
llvm-svn: 77699
|
|
|
|
| |
llvm-svn: 75705
|
|
|
|
| |
llvm-svn: 75446
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Track implicit instantiations vs. the not-yet-supported explicit
specializations
- Give implicit instantiations of function templates (and member
functions of class templates) linkonce_odr linkage.
- Improve name mangling for function template specializations,
including the template arguments of the instantiation and the return
type of the function.
Note that our name-mangling is improved, but not correct: we still
don't mangle substitutions, although the manglings we produce can be
demangled.
llvm-svn: 74466
|
|
|
|
|
|
| |
Found by code inspection; I haven't seen this in real-world code.
llvm-svn: 72408
|
|
|
|
|
|
|
|
|
| |
to allow us to support generation of deferred ctors/dtors.
It looks like codegen isn't emitting a call to the dtor in
member-functions.cpp:test2, but when it does, its body should
get emitted.
llvm-svn: 71594
|
|
|
|
|
|
| |
+ ctor type or a CXXDestructorDecl + dtor type.
llvm-svn: 70962
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tentative definitions off to the ASTConsumer at the end of the
translation unit.
Eliminate CodeGen's internal tracking of tentative definitions, and
instead hook into ASTConsumer::CompleteTentativeDefinition. Also,
tweak the definition-deferal logic for C++, where there are no
tentative definitions.
Fixes <rdar://problem/6808352>, and will make it much easier for
precompiled headers to cope with tentative definitions in the future.
llvm-svn: 69681
|
|
|
|
|
|
| |
by anything yet.
llvm-svn: 69343
|
|
|
|
|
|
|
| |
- <rdar://problem/6800351> clang not producing correct large struct
return code for Blocks
llvm-svn: 69337
|
|
|
|
| |
llvm-svn: 69328
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- PR3980.
- <rdar://problem/6762287> [irgen] crash when generating tentative
definition of incomplete structure
- This also avoids creating common definitions for things which are
later overwritten.
- XFAIL'ed external-defs.c, it isn't completing types properly yet.
llvm-svn: 69231
|
|
|
|
| |
llvm-svn: 69168
|
|
|
|
| |
llvm-svn: 69070
|
|
|
|
|
|
|
|
| |
C99 mode. This is a regression from an earlier patch of mine.
This also simplifies the linkage enums a bit.
llvm-svn: 69069
|
|
|
|
|
|
|
|
| |
pulling some attribute munging stuff into GetLinkageForFunction.
This should fix PR3986
llvm-svn: 69045
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Pull out SetCommonAttributes, which handles the things common to
aliases, methods, functions, and variables.
- Pull out SetLLVMFunctionAttributesForDefinition, which handles the
LLVM attributes which we only want to apply to a definition (like
noinline and alwaysinline).
- Kill SetGVDeclarationAttributes (inlined into SetFunctionAttributes
and specialized).
- Kill SetFunctionAttributesForDefinition (inlined into sole caller).
- Inline SetGVDefinitionAttributes into SetMethodAttributes and
specialize.
- Rename SetGVDefinitionAttributes to SetFunctionDefinitionAttributes.
This is supposed to be a no functionality change commit, but I may
have made a mistake.
llvm-svn: 69036
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 69035
|
|
|
|
|
|
|
| |
disambiguate it.
- No functionality change.
llvm-svn: 69034
|
|
|
|
| |
llvm-svn: 69028
|
|
|
|
| |
llvm-svn: 69027
|
|
|
|
|
|
| |
implies an all-zero bit pattern.
llvm-svn: 68994
|
|
|
|
|
|
| |
when the destination has a reference type. (No functionality change yet)
llvm-svn: 68593
|
|
|
|
| |
llvm-svn: 68300
|
|
|
|
|
|
| |
Patch by Jean-Daniel Dupas. Thanks!
llvm-svn: 68203
|
|
|
|
| |
llvm-svn: 68176
|
|
|
|
| |
llvm-svn: 68170
|
|
|
|
|
|
|
|
| |
that occurs when
attribute(used) and asm renaming are used together.
llvm-svn: 68155
|
|
|
|
|
|
| |
The llvm optimizer and code generator are not yet ready to support optimized code debugging.
llvm-svn: 67876
|
|
|
|
|
|
|
| |
CodeGenModule. Once there, add a new NoCommon option to
it and implement -fno-common.
llvm-svn: 67735
|
|
|
|
|
|
|
|
| |
functionality, fixing a crash on the attached testcase. Eliminate the
BuiltinFunctions cache, as it can contain dangling pointers. This fixes
a bunch of valgrind errors on test/CodeGen/builtins.c
llvm-svn: 67484
|
|
|
|
|
|
| |
the end of the module.
llvm-svn: 67482
|
|
|
|
|
|
|
|
| |
variables.
No intended functionality change.
llvm-svn: 67478
|
|
|
|
|
|
|
| |
very simple places, reimplement the deferred decl emission logic to not be O(N^2),
fixing PR3810.
llvm-svn: 67447
|
|
|
|
|
|
| |
function definition.
llvm-svn: 67446
|
|
|
|
|
|
| |
code path.
llvm-svn: 67445
|
|
|
|
|
|
| |
GetAddrOfFunction. This is simpler and more efficient.
llvm-svn: 67444
|
|
|
|
|
|
|
| |
CreateFunctionPrototypeIR, though my next patch will eliminate
it entirely.
llvm-svn: 67443
|
|
|
|
| |
llvm-svn: 67439
|
|
|
|
|
|
| |
more optimistic that it will work (optimizing for the common case).
llvm-svn: 67438
|
|
|
|
|
|
| |
- PR3818.
llvm-svn: 67297
|
|
|
|
|
|
|
| |
module symbol table. The root problem inspiring this was fixed in
r66316 (and again in r66506).
llvm-svn: 66512
|