#
e1bd71fe |
| 21-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use private linkage for utf-16 objc strings too.
llvm-svn: 199709
|
#
6839d23b |
| 21-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Now that r199688 avoids the real issue, use private linkage for objc strings.
llvm-svn: 199705
|
#
d19f80a0 |
| 20-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Give explicit sections for string constants used in NSStrings.
Without them they can be merged with non unnamed_addr constants during LTO. The resulting constant is not unnamed_addr and goes in a di
Give explicit sections for string constants used in NSStrings.
Without them they can be merged with non unnamed_addr constants during LTO. The resulting constant is not unnamed_addr and goes in a different section, which causes ld64 to crash.
A testcase that would crash before:
* file1.mm: void g(id notification) { [notification valueForKey:@"name"]; }
* file2.cpp: extern const char js_name_str[] = "name";
* file3.cpp extern bool JS_GetProperty(const char *name); extern const char js_name_str[]; bool js_ReportUncaughtException() { JS_GetProperty(js_name_str); }
run
clang file1.mm -o file1.o -c -w -emit-llvm clang file2.cpp -o file2.o -c -w -emit-llvm clang file3.cpp -o file3.o -c -w
ld -dylib -o XUL file1.o file2.o file3.o -undefined dynamic_lookup.
llvm-svn: 199688
show more ...
|
#
8ff1610f |
| 20-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify further.
Thanks to David Blaikie for the push.
llvm-svn: 199685
|
#
63582d60 |
| 20-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove virtual methods that were added in 2009 and still had 1 implementation.
llvm-svn: 199665
|
#
bb0554f9 |
| 14-Jan-2014 |
Nico Rieck <nico.rieck@gmail.com> |
Update CodeGen to use DLL storage class for dllimport/dllexport
With the old linkage types removed, set the linkage to external for both dllimport and dllexport to reflect what's currently supported
Update CodeGen to use DLL storage class for dllimport/dllexport
With the old linkage types removed, set the linkage to external for both dllimport and dllexport to reflect what's currently supported.
llvm-svn: 199220
show more ...
|
#
b098f5c7 |
| 07-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unused include.
llvm-svn: 198692
|
#
5553d0d4 |
| 07-Jan-2014 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all the #include lines with LLVM's utils/sort_includes.py which encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up
Sort all the #include lines with LLVM's utils/sort_includes.py which encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.
llvm-svn: 198686
show more ...
|
#
ef512b99 |
| 06-Jan-2014 |
Justin Bogner <mail@justinbogner.com> |
CodeGen: Initial instrumentation based PGO implementation
llvm-svn: 198640
|
#
82862258 |
| 28-Dec-2013 |
Alp Toker <alp@nuanti.com> |
Tidy up CGCXXABI creation
'create' functions conventionally return a pointer, not a reference.
Also use an OwningPtr to get replace the delete of a reference member.
No functional change.
llvm-sv
Tidy up CGCXXABI creation
'create' functions conventionally return a pointer, not a reference.
Also use an OwningPtr to get replace the delete of a reference member.
No functional change.
llvm-svn: 198126
show more ...
|
Revision tags: llvmorg-3.4.0 |
|
#
c4327996 |
| 19-Dec-2013 |
Aaron Ballman <aaron@aaronballman.com> |
Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value.
No functional changes intended.
llvm-svn: 197652
|
#
9ead1243 |
| 19-Dec-2013 |
Aaron Ballman <aaron@aaronballman.com> |
Replacing calls to getAttr with calls to hasAttr for clarity. No functional change intended -- this only replaces Boolean uses of getAttr.
llvm-svn: 197648
|
Revision tags: llvmorg-3.4.0-rc3 |
|
#
2dea15b5 |
| 17-Dec-2013 |
Alp Toker <alp@nuanti.com> |
ASTContext: Refactor implicit record creation
Tidy up built-in record creation to reduce code duplication.
Continuation of r197336.
llvm-svn: 197452
|
#
a12cd28b |
| 11-Dec-2013 |
Reid Kleckner <reid@kleckner.net> |
[ms-cxxabi] Fix linkage of dtor thunks for anonymous classes
We were mistakengly giving linkonce_odr linkage instead of internal linkage to the deleting and complete destructor thunks for classes in
[ms-cxxabi] Fix linkage of dtor thunks for anonymous classes
We were mistakengly giving linkonce_odr linkage instead of internal linkage to the deleting and complete destructor thunks for classes in anonymous namespaces.
Fixes PR17273.
llvm-svn: 197060
show more ...
|
#
cd7743b5 |
| 09-Dec-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Save another call to GetAddrOfFunction.
Thread an optional GV down to EmitGlobalFunctionDefinition so that it can avoid the lookup when we already know the corresponding llvm global value.
llvm-svn
Save another call to GetAddrOfFunction.
Thread an optional GV down to EmitGlobalFunctionDefinition so that it can avoid the lookup when we already know the corresponding llvm global value.
llvm-svn: 196789
show more ...
|
#
c0ff7448 |
| 09-Dec-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
When we decide to output a deferred decl, remember the llvm GlobalValue.
We can reuse it to avoid a DenseMap+StringMap lookup to find if it was already emitted or not.
This fixes a 2010 TODO.
llvm
When we decide to output a deferred decl, remember the llvm GlobalValue.
We can reuse it to avoid a DenseMap+StringMap lookup to find if it was already emitted or not.
This fixes a 2010 TODO.
llvm-svn: 196785
show more ...
|
#
94abb8ff |
| 09-Dec-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid adding some decls to DeferredDeclsToEmit.
Before this patch GetOrCreateLLVMFunction would add a decl to DeferredDeclsToEmit even when it was being called by the function trying to emit that de
Avoid adding some decls to DeferredDeclsToEmit.
Before this patch GetOrCreateLLVMFunction would add a decl to DeferredDeclsToEmit even when it was being called by the function trying to emit that decl.
llvm-svn: 196753
show more ...
|
#
b80bacc8 |
| 08-Dec-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
GlobalAlias::isDeclaration is always false. Remove dead code.
llvm-svn: 196727
|
Revision tags: llvmorg-3.4.0-rc2 |
|
#
61fd5942 |
| 02-Dec-2013 |
Manman Ren <manman.ren@gmail.com> |
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 <manman.ren@gmail.com> |
Expand comments for Debug Info Version.
llvm-svn: 196143
|
#
f405dd62 |
| 23-Nov-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[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 <manman.ren@gmail.com> |
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 <hans@hanshq.net> |
[-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 <Matthew.Arsenault@amd.com> |
Fix test failures after addrspacecast added.
Bitcasts between address spaces are no longer allowed.
llvm-svn: 194765
|
#
561bba2e |
| 14-Nov-2013 |
Joey Gouly <joey.gouly@arm.com> |
[OpenCL] Make sure we put string literals in the constant address space.
llvm-svn: 194717
|