|
Revision tags: llvmorg-3.4.0-rc2 |
|
| #
61fd5942 |
| 02-Dec-2013 |
Manman Ren <[email protected]> |
Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h.
Suggested by Eric. Paired commit with r196144.
llvm-svn: 196145
|
| #
ba2fa8b6 |
| 02-Dec-2013 |
Manman Ren <[email protected]> |
Expand comments for Debug Info Version.
llvm-svn: 196143
|
| #
f405dd62 |
| 23-Nov-2013 |
Argyrios Kyrtzidis <[email protected]> |
[CodeGen] If there is a function definition with duplicate mangled name, emit an error instead of asserting.
rdar://15522601 & http://llvm.org/PR18031
llvm-svn: 195556
|
| #
4b7f23d8 |
| 22-Nov-2013 |
Manman Ren <[email protected]> |
Debug Info: add a "Debug Info Version" module flag to output the current debug info version number.
Will error out when modules have different version numbers.
llvm-svn: 195495
|
| #
feedf851 |
| 21-Nov-2013 |
Hans Wennborg <[email protected]> |
[-cxx-abi microsoft] Emit linkonce_odr definitions for declarations of static data members with inline initializers (PR17689)
This makes Clang emit a linkonce_odr definition for 'val' in the code be
[-cxx-abi microsoft] Emit linkonce_odr definitions for declarations of static data members with inline initializers (PR17689)
This makes Clang emit a linkonce_odr definition for 'val' in the code below, to be compatible with MSVC-compiled code:
struct Foo { static const int val = 1; };
Differential Revision: http://llvm-reviews.chandlerc.com/D2233
llvm-svn: 195283
show more ...
|
|
Revision tags: llvmorg-3.4.0-rc1 |
|
| #
00e65b2a |
| 15-Nov-2013 |
Matt Arsenault <[email protected]> |
Fix test failures after addrspacecast added.
Bitcasts between address spaces are no longer allowed.
llvm-svn: 194765
|
| #
561bba2e |
| 14-Nov-2013 |
Joey Gouly <[email protected]> |
[OpenCL] Make sure we put string literals in the constant address space.
llvm-svn: 194717
|
| #
0196a1d9 |
| 12-Nov-2013 |
Rafael Espindola <[email protected]> |
Keep the old function order in CodeGenModule::applyReplacements.
The original decls are created when used. The replacements are created at the end of the TU in reverse order.
This makes the origina
Keep the old function order in CodeGenModule::applyReplacements.
The original decls are created when used. The replacements are created at the end of the TU in reverse order.
This makes the original order far better for testing. This is particularly important since the replacement logic could be used even when -mconstructor-aliases is not used, but that would make many tests hard to read.
This is a fixed version of r194357 which handles replacing a destructor with another which is an alias to a third one.
llvm-svn: 194452
show more ...
|
| #
8d693a34 |
| 11-Nov-2013 |
Rafael Espindola <[email protected]> |
Revert "Keep the old function order in CodeGenModule::applyReplacements."
This reverts commit r194357.
Debugging a cast failure during bootstrap.
llvm-svn: 194358
|
| #
732c99c4 |
| 10-Nov-2013 |
Rafael Espindola <[email protected]> |
Keep the old function order in CodeGenModule::applyReplacements.
The original decls are created when used. The replacements are created at the end of the TU in reverse order.
This makes the origina
Keep the old function order in CodeGenModule::applyReplacements.
The original decls are created when used. The replacements are created at the end of the TU in reverse order.
This makes the original order far better for testing. This is particularly important since the replacement logic could be used even when -mconstructor-aliases is not used, but that would make many tests hard to read.
llvm-svn: 194357
show more ...
|
| #
eed8061b |
| 10-Nov-2013 |
Benjamin Kramer <[email protected]> |
Avoid double StringMap lookups. No functionality change.
llvm-svn: 194355
|
| #
2e2995bf |
| 05-Nov-2013 |
Rafael Espindola <[email protected]> |
Produce direct calls instead of alias to linkonce_odr functions.
This is a small optimization on linux, but should help more on windows where msvc only outputs one destructor if there would be two i
Produce direct calls instead of alias to linkonce_odr functions.
This is a small optimization on linux, but should help more on windows where msvc only outputs one destructor if there would be two identical ones.
llvm-svn: 194095
show more ...
|
| #
b47c36f8 |
| 05-Nov-2013 |
Richard Smith <[email protected]> |
C++1y sized deallocation: if we have a use, but not a definition, of a sized deallocation function (and the corresponding unsized deallocation function has been declared), emit a weak discardable def
C++1y sized deallocation: if we have a use, but not a definition, of a sized deallocation function (and the corresponding unsized deallocation function has been declared), emit a weak discardable definition of the function that forwards to the corresponding unsized deallocation.
This allows a C++ standard library implementation to provide both a sized and an unsized deallocation function, where the unsized one does not just call the sized one, for instance by putting both in the same object file within an archive.
llvm-svn: 194055
show more ...
|
| #
208b5c0f |
| 22-Oct-2013 |
Rafael Espindola <[email protected]> |
New fix for pr17535.
This is a fixed version of r193161. In order to handle
void foo() __attribute__((alias("bar"))); void bar() {} void zed() __attribute__((alias("foo")));
it is not
New fix for pr17535.
This is a fixed version of r193161. In order to handle
void foo() __attribute__((alias("bar"))); void bar() {} void zed() __attribute__((alias("foo")));
it is not enough to delay aliases to the end of the TU, we have to do two passes over them to find if they are defined or not.
This can be implemented by producing alias as we go and just doing the second pass at the end. This has the advantage that other parts of clang that were expecting alias to be processed in order don't have to be changed.
This patch also handles cyclic aliases.
llvm-svn: 193188
show more ...
|
| #
6956d587 |
| 22-Oct-2013 |
Rafael Espindola <[email protected]> |
Revert "This patch causes clang to reject alias attributes that point to undefined names. For example, with this patch we now reject"
This reverts commit r193161.
It broke
void foo() __attribute__
Revert "This patch causes clang to reject alias attributes that point to undefined names. For example, with this patch we now reject"
This reverts commit r193161.
It broke
void foo() __attribute__((alias("bar"))); void bar() {} void zed() __attribute__((alias("foo")));
Looks like we have to fix pr17639 first :-(
llvm-svn: 193162
show more ...
|
| #
0fad0d77 |
| 22-Oct-2013 |
Rafael Espindola <[email protected]> |
This patch causes clang to reject alias attributes that point to undefined names. For example, with this patch we now reject
void f1(void) __attribute__((alias("g1")));
This patch is implemented in
This patch causes clang to reject alias attributes that point to undefined names. For example, with this patch we now reject
void f1(void) __attribute__((alias("g1")));
This patch is implemented in CodeGen. It is quiet a bit simpler and more compatible with gcc than implementing it in Sema. The downside is that the errors only fire during -emit-llvm.
llvm-svn: 193161
show more ...
|
| #
8db352d5 |
| 17-Oct-2013 |
Rafael Espindola <[email protected]> |
Rename some functions for consistency.
Every other function in Redeclarable.h was using Decl instead of Declaration.
llvm-svn: 192900
|
| #
3bfa4688 |
| 16-Oct-2013 |
Rafael Espindola <[email protected]> |
Emit a .ident saying that clang produced this file.
Patch by Katya Romanova.
llvm-svn: 192832
|
| #
4f755dea |
| 08-Oct-2013 |
Manman Ren <[email protected]> |
TBAA: use the same format for scalar TBAA and struct-path aware TBAA.
An updated version of r191586 with bug fix.
Struct-path aware TBAA generates tags to specify the access path, while scalar TBAA
TBAA: use the same format for scalar TBAA and struct-path aware TBAA.
An updated version of r191586 with bug fix.
Struct-path aware TBAA generates tags to specify the access path, while scalar TBAA only generates tags to scalar types.
We should not generate a TBAA tag with null being the first field. When a TBAA type node is null, the tag should be null too. Make sure we don't decorate an instruction with a null TBAA tag.
Added a testing case for the bug reported by Richard with -relaxed-aliasing and -fsanitizer=thread.
llvm-svn: 192145
show more ...
|
| #
e4aaac50 |
| 01-Oct-2013 |
Richard Smith <[email protected]> |
Revert r191586 and r191695. They cause crashes when building with -relaxed-aliasing.
llvm-svn: 191725
|
| #
4f042633 |
| 27-Sep-2013 |
Manman Ren <[email protected]> |
TBAA: use the same format for scalar TBAA and struct-path aware TBAA.
Struct-path aware TBAA generates tags to specify the access path, while scalar TBAA only generates tags to scalar types.
llvm-s
TBAA: use the same format for scalar TBAA and struct-path aware TBAA.
Struct-path aware TBAA generates tags to specify the access path, while scalar TBAA only generates tags to scalar types.
llvm-svn: 191586
show more ...
|
| #
b00f360e |
| 04-Sep-2013 |
David Blaikie <[email protected]> |
Do not emit duplicate global initializers for template static data members inside namespaces
A quirk of AST representation leads to class template static data member definitions being visited twice
Do not emit duplicate global initializers for template static data members inside namespaces
A quirk of AST representation leads to class template static data member definitions being visited twice during Clang IRGen resulting in duplicate (benign) initializers.
Discovered while investigating a possibly-related debug info bug tickled by the duplicate emission of these members & their associated debug info.
With thanks to Richard Smith for help investigating, understanding, and helping with the fix.
llvm-svn: 189996
show more ...
|
| #
b9921df2 |
| 03-Sep-2013 |
Reid Kleckner <[email protected]> |
Emit uuid globals as linkonce_odr
Patch by Nico Rieck!
llvm-svn: 189860
|
| #
25284cc9 |
| 23-Aug-2013 |
Robert Wilhelm <[email protected]> |
Use pop_back_val() instead of both back() and pop_back(). No functionality change intended.
llvm-svn: 189112
|
| #
4a9ec7b5 |
| 19-Aug-2013 |
David Blaikie <[email protected]> |
PR16933: Don't try to codegen things after we've seen errors.
Refactor the underlying code a bit to remove unnecessary calls to "hasErrorOccurred" & make them consistently at all the entry points to
PR16933: Don't try to codegen things after we've seen errors.
Refactor the underlying code a bit to remove unnecessary calls to "hasErrorOccurred" & make them consistently at all the entry points to the IRGen ASTConsumer.
llvm-svn: 188707
show more ...
|