Commit 4b1db766 by Richard Biener Committed by Richard Biener

tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken functions.

2015-06-01  Richard Biener  <rguenther@suse.de>

	* tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
	functions.

	* gcc.dg/ipa/ipa-pta-1.c: Adjust.

From-SVN: r223977
parent 95b9c8b0
2015-06-01 Richard Biener <rguenther@suse.de>
* tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
functions.
2015-06-01 Martin Liska <mliska@suse.cz>
* alloc-pool.h: Add ATTRIBUTE_UNUSED for
......
2015-06-01 Richard Biener <rguenther@suse.de>
* gcc.dg/ipa/ipa-pta-1.c: Adjust.
2015-06-01 Jakub Jelinek <jakub@redhat.com>
* gcc.target/s390/hotpatch-compile-15.c: Remove dg-prune-output
......
......@@ -40,10 +40,13 @@ int main()
}
/* IPA PTA needs to handle indirect calls properly. Verify that
both bar and foo get a (and only a) in their arguments points-to sets. */
both bar and foo get a (and only a) in their arguments points-to sets.
??? As bar and foo have their address taken there might be callers
not seen by IPA PTA (if the address escapes the unit which we only compute
during IPA PTA...). Thus the solution also includes NONLOCAL. */
/* { dg-final { scan-ipa-dump "fn_1 = { bar foo }" "pta" } } */
/* { dg-final { scan-ipa-dump "bar.arg0 = { a }" "pta" } } */
/* { dg-final { scan-ipa-dump "bar.arg1 = { a }" "pta" } } */
/* { dg-final { scan-ipa-dump "foo.arg0 = { a }" "pta" } } */
/* { dg-final { scan-ipa-dump "foo.arg1 = { a }" "pta" } } */
/* { dg-final { scan-ipa-dump "bar.arg0 = { NONLOCAL a }" "pta" } } */
/* { dg-final { scan-ipa-dump "bar.arg1 = { NONLOCAL a }" "pta" } } */
/* { dg-final { scan-ipa-dump "foo.arg0 = { NONLOCAL a }" "pta" } } */
/* { dg-final { scan-ipa-dump "foo.arg1 = { NONLOCAL a }" "pta" } } */
......@@ -7369,7 +7369,8 @@ ipa_pta_execute (void)
constraints for parameters. */
if (node->used_from_other_partition
|| node->externally_visible
|| node->force_output)
|| node->force_output
|| node->address_taken)
{
intra_create_variable_infos (func);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment