Commit 2e0c984c by Richard Guenther Committed by Richard Biener

alias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information.

2010-05-16  Richard Guenther  <rguenther@suse.de>

	* alias.c (nonoverlapping_memrefs_p): Remove use of
	IPA type-escape information.

From-SVN: r159460
parent 32912286
2010-05-16 Richard Guenther <rguenther@suse.de>
* alias.c (nonoverlapping_memrefs_p): Remove use of
IPA type-escape information.
2010-05-16 Joseph Myers <joseph@codesourcery.com> 2010-05-16 Joseph Myers <joseph@codesourcery.com>
* c-common.c (c_common_reswords): Add _Static_assert for C. * c-common.c (c_common_reswords): Add _Static_assert for C.
......
...@@ -2196,43 +2196,21 @@ nonoverlapping_memrefs_p (const_rtx x, const_rtx y) ...@@ -2196,43 +2196,21 @@ nonoverlapping_memrefs_p (const_rtx x, const_rtx y)
moffsetx = MEM_OFFSET (x); moffsetx = MEM_OFFSET (x);
if (TREE_CODE (exprx) == COMPONENT_REF) if (TREE_CODE (exprx) == COMPONENT_REF)
{ {
if (TREE_CODE (expry) == VAR_DECL tree t = decl_for_component_ref (exprx);
&& POINTER_TYPE_P (TREE_TYPE (expry))) if (! t)
{ return 0;
tree field = TREE_OPERAND (exprx, 1); moffsetx = adjust_offset_for_component_ref (exprx, moffsetx);
tree fieldcontext = DECL_FIELD_CONTEXT (field); exprx = t;
if (ipa_type_escape_field_does_not_clobber_p (fieldcontext,
TREE_TYPE (field)))
return 1;
}
{
tree t = decl_for_component_ref (exprx);
if (! t)
return 0;
moffsetx = adjust_offset_for_component_ref (exprx, moffsetx);
exprx = t;
}
} }
moffsety = MEM_OFFSET (y); moffsety = MEM_OFFSET (y);
if (TREE_CODE (expry) == COMPONENT_REF) if (TREE_CODE (expry) == COMPONENT_REF)
{ {
if (TREE_CODE (exprx) == VAR_DECL tree t = decl_for_component_ref (expry);
&& POINTER_TYPE_P (TREE_TYPE (exprx))) if (! t)
{ return 0;
tree field = TREE_OPERAND (expry, 1); moffsety = adjust_offset_for_component_ref (expry, moffsety);
tree fieldcontext = DECL_FIELD_CONTEXT (field); expry = t;
if (ipa_type_escape_field_does_not_clobber_p (fieldcontext,
TREE_TYPE (field)))
return 1;
}
{
tree t = decl_for_component_ref (expry);
if (! t)
return 0;
moffsety = adjust_offset_for_component_ref (expry, moffsety);
expry = t;
}
} }
if (! DECL_P (exprx) || ! DECL_P (expry)) if (! DECL_P (exprx) || ! DECL_P (expry))
......
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