#
1da30944 |
| 23-Mar-2013 |
Nadav Rotem <nrotem@apple.com> |
Make clang to mark static stack allocations with lifetime markers to enable a more aggressive stack coloring. Patch by John McCall with help by Shuxin Yang. rdar://13115369
llvm-svn: 177819
|
#
513499d0 |
| 19-Mar-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't try to set attributes in alias, they have none.
llvm-svn: 177402
|
#
a1c0a2a2 |
| 06-Mar-2013 |
Alexey Samsonov <samsonov@google.com> |
[Sanitize] Don't emit function attribute sanitize_address/thread/memory if the function is blacklisted.
llvm-svn: 176550
|
#
882987f3 |
| 28-Feb-2013 |
John McCall <rjmccall@apple.com> |
Use the actual ABI-determined C calling convention for runtime calls and declarations.
LLVM has a default CC determined by the target triple. This is not always the actual default CC for the ABI we
Use the actual ABI-determined C calling convention for runtime calls and declarations.
LLVM has a default CC determined by the target triple. This is not always the actual default CC for the ABI we've been asked to target, and so we sometimes find ourselves annotating all user functions with an explicit calling convention. Since these calling conventions usually agree for the simple set of argument types passed to most runtime functions, using the LLVM-default CC in principle has no effect. However, the LLVM optimizer goes into histrionics if it sees this kind of formal CC mismatch, since it has no concept of CC compatibility. Therefore, if this module happens to define the "runtime" function, or got LTO'ed with such a definition, we can miscompile; so it's quite important to get this right.
Defining runtime functions locally is quite common in embedded applications.
llvm-svn: 176286
show more ...
|
#
4a5da44b |
| 27-Feb-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Rename methods to comply with the LLVM Coding Standards.
llvm-svn: 176159
|
#
a8fbdab8 |
| 27-Feb-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move LinkageInfo out of NamedDecl so that it can be used in Type.h.
Everything that cares about visibility also cares about linkage, so I just moved it to Visibility.h instead of creating a new .h.
Move LinkageInfo out of NamedDecl so that it can be used in Type.h.
Everything that cares about visibility also cares about linkage, so I just moved it to Visibility.h instead of creating a new .h.
llvm-svn: 176155
show more ...
|
#
4c0fc993 |
| 26-Feb-2013 |
Kostya Serebryany <kcc@google.com> |
Unify clang/llvm attributes for asan/tsan/msan (Clang part)
These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same,
Unify clang/llvm attributes for asan/tsan/msan (Clang part)
These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode) - rename thread_safety => sanitize_thread - rename no_uninitialized_checks -> sanitize_memory
CLANG: - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis)) - add __attribute__((no_sanitize_thread)) - add __attribute__((no_sanitize_memory))
for S in address thread memory If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not set llvm attribute sanitize_S
llvm-svn: 176076
show more ...
|
#
8a27b2b3 |
| 24-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
In Sema::InstantiateStaticDataMemberDefinition, pass the var decl to the consumer just using ASTConsumer::HandleCXXStaticMemberVarInstantiation(), don't pass it with ASTConsumer::HandleTopLevelDecl.
In Sema::InstantiateStaticDataMemberDefinition, pass the var decl to the consumer just using ASTConsumer::HandleCXXStaticMemberVarInstantiation(), don't pass it with ASTConsumer::HandleTopLevelDecl.
ASTConsumer::HandleTopLevelDecl is intended for user-written top-level decls; a consumer can treat an instantiated static data member however it wants of course.
llvm-svn: 175976
show more ...
|
#
84324357 |
| 22-Feb-2013 |
Michael Han <fragmentshaders@gmail.com> |
[Sema] Semantic analysis for empty-declaration and attribute-declaration.
Introduce a new AST Decl node "EmptyDecl" to model empty-declaration. Have attributes from attribute-declaration appertain t
[Sema] Semantic analysis for empty-declaration and attribute-declaration.
Introduce a new AST Decl node "EmptyDecl" to model empty-declaration. Have attributes from attribute-declaration appertain to the EmptyDecl node by creating the AST representations of these attributes and attach them to the EmptyDecl node so these attributes can be sema checked just as attributes attached to "normal" declarations.
llvm-svn: 175900
show more ...
|
#
f4d64cb3 |
| 22-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Apply the 'nobuiltin' attribute to call sites when the user specifies `-fno-builtin' on the command line.
llvm-svn: 175836
|
#
d041a9bf |
| 20-Feb-2013 |
John McCall <rjmccall@apple.com> |
Add a new 'type_visibility' attribute to allow users to control the visibility of a type for the purposes of RTTI and template argument restrictions independently of how visibility propagates to its
Add a new 'type_visibility' attribute to allow users to control the visibility of a type for the purposes of RTTI and template argument restrictions independently of how visibility propagates to its non-type member declarations.
Also fix r175326 to not ignore template argument visibility on a template explicit instantiation when a member has an explicit attribute but the instantiation does not.
The type_visibility work is rdar://11880378
llvm-svn: 175587
show more ...
|
#
c86a2f39 |
| 14-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Pass the target options through to code generation.
The code generation stuff is going to set attributes on the functions it generates. To do that it needs the target options. Pass them through.
ll
Pass the target options through to code generation.
The code generation stuff is going to set attributes on the functions it generates. To do that it needs the target options. Pass them through.
llvm-svn: 175141
show more ...
|
#
a7d03840 |
| 08-Feb-2013 |
Jordan Rose <jordan_rose@apple.com> |
Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h.
Nearly all of these changes are one-to-one replacements; the few that aren't have to do with custom identifier validation.
l
Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h.
Nearly all of these changes are one-to-one replacements; the few that aren't have to do with custom identifier validation.
llvm-svn: 174768
show more ...
|
#
9bb857a4 |
| 31-Jan-2013 |
Tim Northover <Tim.Northover@arm.com> |
Add support for AArch64 target.
In cooperation with the LLVM patch, this should implement all scalar front-end parts of the C and C++ ABIs for AArch64.
This patch excludes the NEON support also rev
Add support for AArch64 target.
In cooperation with the LLVM patch, this should implement all scalar front-end parts of the C and C++ ABIs for AArch64.
This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved.
Further reviews would be gratefully received.
llvm-svn: 174055
show more ...
|
#
8594fcbd |
| 31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make sure that the Attribute object represents one attribute only.
Several places were still treating the Attribute object as respresenting multiple attributes. Those places now use the AttributeSet
Make sure that the Attribute object represents one attribute only.
Several places were still treating the Attribute object as respresenting multiple attributes. Those places now use the AttributeSet to represent multiple attributes.
llvm-svn: 174004
show more ...
|
#
9feeef40 |
| 30-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Move UTF conversion routines from clang/lib/Basic to llvm/lib/Support
This is required to use them in TableGen.
llvm-svn: 173924
|
#
290d952b |
| 27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the AttributeSet instead of AttributeWithIndex.
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodn
Use the AttributeSet instead of AttributeWithIndex.
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173605
show more ...
|
#
5762592b |
| 25-Jan-2013 |
John McCall <rjmccall@apple.com> |
Move the decision about the kind of CGCXXABI to make inside the family-specific files.
llvm-svn: 173530
|
#
6bd2a89d |
| 25-Jan-2013 |
John McCall <rjmccall@apple.com> |
The standard ARM C++ ABI dictates that inline functions are never key functions. We did not implement that rule for the iOS ABI, which was driven by what was implemented in gcc-4.2. However, impleme
The standard ARM C++ ABI dictates that inline functions are never key functions. We did not implement that rule for the iOS ABI, which was driven by what was implemented in gcc-4.2. However, implement it now for other ARM-based platforms.
llvm-svn: 173515
show more ...
|
#
359b885e |
| 25-Jan-2013 |
John McCall <rjmccall@apple.com> |
First pass at abstracting out a class for the target C++ ABI.
llvm-svn: 173514
|
#
ce2f9c5c |
| 23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the last of uses that use the Attribute object as a collection of attributes.
Collections of attributes are handled via the AttributeSet class now. This finally frees us up to make significan
Remove the last of uses that use the Attribute object as a collection of attributes.
Collections of attributes are handled via the AttributeSet class now. This finally frees us up to make significant changes to how attributes are structured.
llvm-svn: 173229
show more ...
|
#
9a677929 |
| 23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the AttributeSet when adding multiple attributes and an Attribute::AttrKind when adding a single attribute to the function.
llvm-svn: 173211
|
#
b7abb30d |
| 21-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Have AttributeSet::getRetAttributes() return an AttributeSet instead of Attribute.
This further restricts the use of the Attribute class to the Attribute family of classes.
llvm-svn: 173099
|
#
304f6f0a |
| 21-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute.
This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a co
Make AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute.
This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a collection of attributes.
llvm-svn: 173095
show more ...
|
#
63ffde57 |
| 18-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the AttributeSet query method instead of the Attribute method.
llvm-svn: 172849
|