Handle noipa attribute in IPA visibility (PR ipa/83594).

2018-01-03  Martin Liska  <mliska@suse.cz>

	PR ipa/83594
	* ipa-visibility.c (function_and_variable_visibility): Skip
	functions with noipa attribure.
2018-01-03  Martin Liska  <mliska@suse.cz>

	PR ipa/83594
	* gcc.dg/ipa/pr83594.c: New test.

From-SVN: r256167
This commit is contained in:
Martin Liska 2018-01-03 10:24:40 +01:00 committed by Martin Liska
parent 65e6aea386
commit 9950468658
4 changed files with 18 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2018-01-03 Martin Liska <mliska@suse.cz>
PR ipa/83594
* ipa-visibility.c (function_and_variable_visibility): Skip
functions with noipa attribure.
2018-01-03 Jakub Jelinek <jakub@redhat.com>
* gcc.c (process_command): Update copyright notice dates.

View file

@ -623,7 +623,8 @@ function_and_variable_visibility (bool whole_program)
{
if (node->get_availability () != AVAIL_INTERPOSABLE
|| DECL_EXTERNAL (node->decl)
|| node->has_aliases_p ())
|| node->has_aliases_p ()
|| lookup_attribute ("noipa", DECL_ATTRIBUTES (node->decl)))
continue;
cgraph_node *alias = 0;

View file

@ -1,3 +1,8 @@
2018-01-03 Martin Liska <mliska@suse.cz>
PR ipa/83594
* gcc.dg/ipa/pr83594.c: New test.
2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>

View file

@ -0,0 +1,5 @@
__attribute__((noipa))
void foo ()
{
foo ();
}