attribs.c (decl_attributes): Imply noinline, noclone and no_icf attributes for noipa...
authorJakub Jelinek <jakub@redhat.com>
Thu, 27 Jul 2017 07:53:33 +0000 (09:53 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 27 Jul 2017 07:53:33 +0000 (09:53 +0200)
commit036ea39917b0ef6f07a7c3c3c06002c73fd238f5
treea35982ffc34baaebfbff808b7c0ae77b320f7b36
parent2443509ba815ae9acc5303846661c409fa63436a
attribs.c (decl_attributes): Imply noinline, noclone and no_icf attributes for noipa attribute.

* attribs.c (decl_attributes): Imply noinline, noclone and no_icf
attributes for noipa attribute.  For naked attribute use
lookup_attribute first before lookup_attribute_spec.
* final.c (rest_of_handle_final): Disable IPA RA for functions with
noipa attribute.
* ipa-visibility.c (non_local_p): Fix comment typos.  Return true
for functions with noipa attribute.
(cgraph_externally_visible_p): Return true for functions with noipa
attribute.
* cgraph.c (cgraph_node::get_availability): Return AVAIL_INTERPOSABLE
for functions with noipa attribute.
* doc/extend.texi: Document noipa function attribute.
* tree-ssa-structalias.c (refered_from_nonlocal_fn): Set *nonlocal_p
also for functions with noipa attribute.
(ipa_pta_execute): Set nonlocal_p also for nodes with noipa attribute.
c-family/
* c-attribs.c (c_common_attribute_table): Add noipa attribute.
(handle_noipa_attribute): New function.
testsuite/
* gcc.dg/attr-noipa.c: New test.
* gcc.dg/ipa/ipa-pta-18.c: New test.
* gcc.dg/ipa/ipa-sra-11.c: New test.

From-SVN: r250607
13 files changed:
gcc/ChangeLog
gcc/attribs.c
gcc/c-family/ChangeLog
gcc/c-family/c-attribs.c
gcc/cgraph.c
gcc/doc/extend.texi
gcc/final.c
gcc/ipa-visibility.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/attr-noipa.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/ipa/ipa-pta-18.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/ipa/ipa-sra-11.c [new file with mode: 0644]
gcc/tree-ssa-structalias.c