Commit 3c45b96b by Richard Guenther Committed by Richard Biener

re PR middle-end/41261 (ice with -O2 -fprofile-arcs when compiling Linux kernel)

2009-09-06  Richard Guenther  <rguenther@suse.de>

	PR middle-end/41261
	* tree-ssa-alias.c (refs_may_alias_p_1): Bail out for function decls.

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

From-SVN: r151460
parent f7d601a5
2009-09-06 Richard Guenther <rguenther@suse.de>
PR middle-end/41261
* tree-ssa-alias.c (refs_may_alias_p_1): Bail out for function decls.
2009-09-05 Richard Guenther <rguenther@suse.de> 2009-09-05 Richard Guenther <rguenther@suse.de>
PR middle-end/41181 PR middle-end/41181
......
2009-09-06 Richard Guenther <rguenther@suse.de>
PR middle-end/41261
* gcc.dg/torture/pr41261.c: New testcase.
2009-09-05 Richard Guenther <rguenther@suse.de> 2009-09-05 Richard Guenther <rguenther@suse.de>
PR middle-end/41181 PR middle-end/41181
......
/* { dg-do compile } */
/* { dg-options "-fprofile-arcs" } */
extern void relocate_kernel();
void machine_kexec(void *control_page)
{
__builtin_memcpy(control_page, relocate_kernel, 2048);
}
...@@ -784,6 +784,12 @@ refs_may_alias_p_1 (ao_ref *ref1, ao_ref *ref2, bool tbaa_p) ...@@ -784,6 +784,12 @@ refs_may_alias_p_1 (ao_ref *ref1, ao_ref *ref2, bool tbaa_p)
|| is_gimple_min_invariant (base2)) || is_gimple_min_invariant (base2))
return false; return false;
/* We can end up refering to code via function decls. As we likely
do not properly track code aliases conservatively bail out. */
if (TREE_CODE (base1) == FUNCTION_DECL
|| TREE_CODE (base2) == FUNCTION_DECL)
return true;
/* Defer to simple offset based disambiguation if we have /* Defer to simple offset based disambiguation if we have
references based on two decls. Do this before defering to references based on two decls. Do this before defering to
TBAA to handle must-alias cases in conformance with the TBAA to handle must-alias cases in conformance with the
......
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