| #
7c19ab17 |
| 22-Feb-2014 |
Aaron Ballman <[email protected]> |
Exposing the noduplicate attribute within Clang, which marks functions so that the optimizer does not duplicate code.
Patch thanks to Marcello Maggioni!
llvm-svn: 201941
|
| #
3e65d36a |
| 15-Feb-2014 |
David Blaikie <[email protected]> |
DebugInfo: imported_decl/using declarations at namespace scope
llvm-svn: 201470
|
| #
15abd188 |
| 11-Feb-2014 |
Robert Lytton <[email protected]> |
XCore target: add section information.
Xcore target ABI requires const data that is externally visible to be handled differently if it has C-language linkage rather than C++ language linkage.
llvm-
XCore target: add section information.
Xcore target ABI requires const data that is externally visible to be handled differently if it has C-language linkage rather than C++ language linkage.
llvm-svn: 201142
show more ...
|
| #
e0fc1a80 |
| 11-Feb-2014 |
Josh Magee <[email protected]> |
[stackprotector] Add command line option -fstack-protector-strong
This option has the following effects: * It adds the sspstrong IR attribute to each function within the CU. * It defines the macro
[stackprotector] Add command line option -fstack-protector-strong
This option has the following effects: * It adds the sspstrong IR attribute to each function within the CU. * It defines the macro __SSP_STRONG__ with the value of 2.
Differential Revision: http://llvm-reviews.chandlerc.com/D2717
llvm-svn: 201120
show more ...
|
| #
8f80a619 |
| 08-Feb-2014 |
John McCall <[email protected]> |
Remove the -fhidden-weak-vtables -cc1 option. It was dead, gross, and increasingly replaced through other mechanisms.
llvm-svn: 201011
|
| #
b78257d0 |
| 03-Feb-2014 |
Reid Kleckner <[email protected]> |
[ms-cxxabi] Fix cast when structor replacement is an alias
llvm-svn: 200711
|
| #
29cb66ba |
| 26-Jan-2014 |
Alp Toker <[email protected]> |
Enforce safe usage of DiagnosticsEngine::getCustomDiagID()
Replace the last incorrect uses and templatize the function to require a compile-time constant string preventing further misuse.
The diagn
Enforce safe usage of DiagnosticsEngine::getCustomDiagID()
Replace the last incorrect uses and templatize the function to require a compile-time constant string preventing further misuse.
The diagnostic formatter expects well-formed input and has undefined behaviour with arbitrary input or crafted user strings in source files. Accepting user input would also have caused unbounded generation of new diagnostic IDs which can be problematic in long-running sessions or language bindings.
This completes the work to fix several incorrect callers that passed user input or raw messages to the diagnostics engine where a constant format string was expected.
llvm-svn: 200132
show more ...
|
| #
e1bd71fe |
| 21-Jan-2014 |
Rafael Espindola <[email protected]> |
Use private linkage for utf-16 objc strings too.
llvm-svn: 199709
|
| #
6839d23b |
| 21-Jan-2014 |
Rafael Espindola <[email protected]> |
Now that r199688 avoids the real issue, use private linkage for objc strings.
llvm-svn: 199705
|
| #
d19f80a0 |
| 20-Jan-2014 |
Rafael Espindola <[email protected]> |
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 <[email protected]> |
Simplify further.
Thanks to David Blaikie for the push.
llvm-svn: 199685
|
| #
63582d60 |
| 20-Jan-2014 |
Rafael Espindola <[email protected]> |
Remove virtual methods that were added in 2009 and still had 1 implementation.
llvm-svn: 199665
|
| #
bb0554f9 |
| 14-Jan-2014 |
Nico Rieck <[email protected]> |
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 <[email protected]> |
Remove unused include.
llvm-svn: 198692
|
| #
5553d0d4 |
| 07-Jan-2014 |
Chandler Carruth <[email protected]> |
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 <[email protected]> |
CodeGen: Initial instrumentation based PGO implementation
llvm-svn: 198640
|
| #
82862258 |
| 28-Dec-2013 |
Alp Toker <[email protected]> |
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 <[email protected]> |
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 <[email protected]> |
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 <[email protected]> |
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 <[email protected]> |
[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 <[email protected]> |
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 <[email protected]> |
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 <[email protected]> |
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 <[email protected]> |
GlobalAlias::isDeclaration is always false. Remove dead code.
llvm-svn: 196727
|