Commit abee2682 by Richard Biener Committed by Richard Biener

re PR ipa/86389 (execute FAILs with -fipa-pta)

2018-07-03  Richard Biener  <rguenther@suse.de>

	PR ipa/86389
	* tree-ssa-structalias.c (find_func_clobbers): Properly
	handle indirect calls.

	* gcc.dg/torture/pr86389.c: New testcase.

From-SVN: r262341
parent d3435784
2018-07-03 Richard Biener <rguenther@suse.de>
PR ipa/86389
* tree-ssa-structalias.c (find_func_clobbers): Properly
handle indirect calls.
2018-07-03 Richard Sandiford <richard.sandiford@arm.com> 2018-07-03 Richard Sandiford <richard.sandiford@arm.com>
* tree-vect-patterns.c (vect_recog_rotate_pattern) * tree-vect-patterns.c (vect_recog_rotate_pattern)
......
2018-07-03 Richard Biener <rguenther@suse.de>
PR ipa/86389
* gcc.dg/torture/pr86389.c: New testcase.
2018-07-03 Richard Sandiford <richard.sandiford@arm.com> 2018-07-03 Richard Sandiford <richard.sandiford@arm.com>
PR tree-optimization/85694 PR tree-optimization/85694
......
/* { dg-do run } */
/* { dg-additional-options "-fipa-pta" } */
void callme (void (*callback) (void));
int
main (void)
{
int ok = 0;
void callback (void) { ok = 1; }
callme (&callback);
if (!ok)
__builtin_abort ();
return 0;
}
__attribute__((noinline, noclone))
void
callme (void (*callback) (void))
{
(*callback) ();
}
...@@ -5353,6 +5353,7 @@ find_func_clobbers (struct function *fn, gimple *origt) ...@@ -5353,6 +5353,7 @@ find_func_clobbers (struct function *fn, gimple *origt)
/* For callees without function info (that's external functions), /* For callees without function info (that's external functions),
ESCAPED is clobbered and used. */ ESCAPED is clobbered and used. */
if (cfi->decl if (cfi->decl
&& TREE_CODE (cfi->decl) == FUNCTION_DECL
&& !cfi->is_fn_info) && !cfi->is_fn_info)
{ {
varinfo_t vi; varinfo_t vi;
......
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